11 #include <unordered_map> 17 class IBackendInternal;
std::unique_ptr< IBackendInternal > IBackendInternalUniquePtr
std::function< PointerType()> FactoryFunction
FactoryFunction GetFactory(const BackendId &id) const
std::unordered_map< BackendId, FactoryFunction > FactoryStorage
std::string GetBackendIdsAsString() const
StaticRegistryInitializer(BackendRegistry &instance, const BackendId &id, FactoryFunction factory)
static void Swap(BackendRegistry &instance, FactoryStorage &other)
BackendRegistry & BackendRegistryInstance()
BackendIdSet GetBackendIds() const
IBackendInternalUniquePtr PointerType
bool IsBackendRegistered(const BackendId &id) const
std::unordered_set< BackendId > BackendIdSet
void Deregister(const BackendId &id)
virtual ~BackendRegistry()
void Register(const BackendId &id, FactoryFunction factory)