top | up | prev | next

SymbolFactory Class

Definition at line 277 of Symbol.hpp

Constructors

SymbolFactory()

Member Functions

Symbol* CreateSymbol(SymbolType symbolType, const Span& span, const boost::uuids::uuid& sourceModuleId, const std::u32string& name)
void Done() static
void Init() static
SymbolFactory& Instance() static
void Register(SymbolType symbolType, SymbolCreator* creator)

Member Variables

std::unique_ptr<SymbolFactory> instance static
std::vector<std::unique_ptr<SymbolCreator>> symbolCreators

Constructor Details

SymbolFactory Constructor

cmajor::symbols::SymbolFactory::SymbolFactory()

Definition at line 1128 of Symbol.cpp
Declaration at line 288 of Symbol.hpp


Member Function Details

CreateSymbol Member Function

Symbol * cmajor::symbols::SymbolFactory::CreateSymbol(SymbolType symbolType, const Span& span, const boost::uuids::uuid& sourceModuleId, const std::u32string& name)

Definition at line 1273 of Symbol.cpp

Called by: cmajor::symbols::SymbolReader::ReadSymbol


Done Member Function

void cmajor::symbols::SymbolFactory::Done() static

Definition at line 1121 of Symbol.cpp :
1122 {
1123     instance.reset();
1124 }


Declaration at line 281 of Symbol.hpp


Init Member Function

void cmajor::symbols::SymbolFactory::Init() static

Definition at line 1116 of Symbol.cpp :
1117 {
1118     instance.reset(new SymbolFactory());
1119 }


Declaration at line 280 of Symbol.hpp


Instance Member Function

SymbolFactory & cmajor::symbols::SymbolFactory::Instance() static

Definition at line 282 of Symbol.hpp :
282 { Assert(instance"symbol factory not initialized"); return *instance; }

Called by: cmajor::symbols::SymbolReader::ReadSymbol


Register Member Function

void cmajor::symbols::SymbolFactory::Register(SymbolType symbolType, SymbolCreator * creator)

Definition at line 1294 of Symbol.cpp :
1295 {
1296     symbolCreators[static_cast<uint8_t>(symbolType)] = std::unique_ptr<SymbolCreator>(creator);
1297 }


Declaration at line 284 of Symbol.hpp


top | up | prev | next