From 3e9e11541c177abd7101962ef1e703d70d718c56 Mon Sep 17 00:00:00 2001 From: David Beck Date: Wed, 17 Oct 2018 14:17:50 +0100 Subject: IVGCVSW-2037 : separate registry for layer support intrefaces * because their lifetime is different from backends Change-Id: I9ba525e7e503b148cde1294933f3954b8bad3d68 --- src/backends/BackendRegistry.hpp | 44 +++++++--------------------------------- 1 file changed, 7 insertions(+), 37 deletions(-) (limited to 'src/backends/BackendRegistry.hpp') diff --git a/src/backends/BackendRegistry.hpp b/src/backends/BackendRegistry.hpp index e2c526d293..23cb37da99 100644 --- a/src/backends/BackendRegistry.hpp +++ b/src/backends/BackendRegistry.hpp @@ -5,49 +5,19 @@ #pragma once #include -#include -#include -#include +#include "RegistryCommon.hpp" namespace armnn { -class IBackend; +using BackendRegistry = RegistryCommon; -class BackendRegistry -{ -public: - using FactoryFunction = std::function; - - static BackendRegistry& Instance(); - - void Register(const BackendId& id, FactoryFunction factory); - FactoryFunction GetFactory(const BackendId& id) const; - - struct Helper - { - Helper(const BackendId& id, FactoryFunction factory) - { - BackendRegistry::Instance().Register(id, factory); - } - }; - - size_t Size() const { return m_BackendFactories.size(); } - BackendIdSet GetBackendIds() const; +BackendRegistry& BackendRegistryInstance(); -protected: - using FactoryStorage = std::unordered_map; - - // For testing only - static void Swap(FactoryStorage& other); - BackendRegistry() {} - ~BackendRegistry() {} - -private: - BackendRegistry(const BackendRegistry&) = delete; - BackendRegistry& operator=(const BackendRegistry&) = delete; - - FactoryStorage m_BackendFactories; +template <> +struct RegisteredTypeName +{ + static const char * Name() { return "IBackend"; } }; } // namespace armnn -- cgit v1.2.1