Template Class AssetFactory

Class Documentation

template<typename Base, typename ...Args>
class AssetFactory

Public Types

using Creator = std::function<std::shared_ptr<Base>(Args...)>

Public Functions

std::unordered_map<std::string, AssetFactory<Agent, Config&>::Creator> &GetRegistry()
std::unordered_map<std::string, AssetFactory<Application, Config&>::Creator> &GetRegistry()
std::unordered_map<std::string, AssetFactory<Device, Config&>::Creator> &GetRegistry()
std::unordered_map<std::string, AssetFactory<Dynamics, Config&>::Creator> &GetRegistry()
std::unordered_map<std::string, AssetFactory<Channel, Config&>::Creator> &GetRegistry()

Public Static Functions

static inline std::shared_ptr<Base> Create(const std::string &class_name, Args... args)
static inline void Register(const std::string &class_name, Creator creator)
static std::unordered_map<std::string, Creator> &GetRegistry()