#include "syms.h" #include #include #include using namespace NPrivate; namespace { struct TSym { const char* Mod; const char* Name; void* Sym; }; struct TSymbols: public TVector { static inline TSymbols* Instance() { return Singleton(); } }; } void NPrivate::RegisterSymbol(const char* mod, const char* name, void* sym) { TSymbols::Instance()->push_back(TSym{mod, name, sym}); } void NPrivate::ForEachSymbol(ICB& cb) { for (auto& x : *TSymbols::Instance()) { cb.Apply(x.Mod, x.Name, x.Sym); } }