13 #include <unordered_map> 21 class ProfilingService;
23 class IBackendInternal;
33 bool IsBackendRegistered(
const BackendId&
id)
const;
37 std::string GetBackendIdsAsString()
const;
39 void RegisterAllocator(
const BackendId&
id, std::shared_ptr<ICustomAllocator> alloc);
40 std::unordered_map<BackendId, std::shared_ptr<ICustomAllocator>> GetAllocators();
56 void DeregisterAllocator(
const BackendId &
id);
70 std::unordered_map<BackendId, std::shared_ptr<ICustomAllocator>> m_CustomMemoryAllocatorMap;
StaticRegistryInitializer(BackendRegistry &instance, const BackendId &id, FactoryFunction factory)
IBackendInternalUniquePtr PointerType
std::function< PointerType()> FactoryFunction
void Register(const BackendId &id, FactoryFunction factory)
std::unordered_set< BackendId > BackendIdSet
std::unordered_map< BackendId, FactoryFunction > FactoryStorage
BackendRegistry & BackendRegistryInstance()
Copyright (c) 2021 ARM Limited and Contributors.
virtual ~BackendRegistry()
std::unique_ptr< IBackendInternal > IBackendInternalUniquePtr