flatten 20260225
This commit is contained in:
51
tjp/core/initializer/Initializer.cpp
Normal file
51
tjp/core/initializer/Initializer.cpp
Normal file
@@ -0,0 +1,51 @@
|
||||
// TJP COPYRIGHT HEADER
|
||||
|
||||
#include "Initializer.hpp"
|
||||
|
||||
namespace tjp {
|
||||
namespace core {
|
||||
namespace initializer {
|
||||
|
||||
//void deallocate(Initializer *v)
|
||||
//{
|
||||
// delete v;
|
||||
//}
|
||||
|
||||
Initializer::Initializer(Initializers &&initializers_) :
|
||||
initializers(initializers_)
|
||||
{
|
||||
}
|
||||
|
||||
StrongPtr<Initializer> Catalog::get(const std::string &id)
|
||||
{
|
||||
auto i = initializerById.find(id);
|
||||
if (i != initializerById.end())
|
||||
return i->second;
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void Catalog::put(const std::string &id, const StrongPtr<Initializer> &initializer)
|
||||
{
|
||||
initializerById[id] = initializer;
|
||||
initializer->catalog = weak_this(this);
|
||||
initializer->id = id;
|
||||
}
|
||||
|
||||
|
||||
StrongPtr<Initializer> Initializer::getInitializer(const std::string &id)
|
||||
{
|
||||
if (id.empty())
|
||||
return strong_this(this);
|
||||
|
||||
if (auto catalog_ = strong(catalog))
|
||||
{
|
||||
return catalog_->get(id);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
} // namespace
|
||||
Reference in New Issue
Block a user