diff options
author | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-10-29 15:03:22 +0000 |
---|---|---|
committer | Áron Virginás-Tar <aron.virginas-tar@arm.com> | 2019-10-31 12:52:00 +0000 |
commit | c601aa626dac78e1482a258e493a6c186e6bf514 (patch) | |
tree | dac6879d548571527fdd6dee9a7400f331583fdf /src/backends/backendsCommon/BackendRegistry.hpp | |
parent | d90530719f6ab16417eb95d885317f50c662725f (diff) | |
download | armnn-c601aa626dac78e1482a258e493a6c186e6bf514.tar.gz |
GitHub #292 Move BackendRegistry.hpp to the public API
* Moved to BackendRegistry.hpp include/armnn
* Updated makefiles and sources accordingly
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I4d83abb581d523218a880c879fcf30c9611f7fd7
Diffstat (limited to 'src/backends/backendsCommon/BackendRegistry.hpp')
-rw-r--r-- | src/backends/backendsCommon/BackendRegistry.hpp | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/backends/backendsCommon/BackendRegistry.hpp b/src/backends/backendsCommon/BackendRegistry.hpp deleted file mode 100644 index 82e59d970b..0000000000 --- a/src/backends/backendsCommon/BackendRegistry.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// -#pragma once - -#include <armnn/Types.hpp> -#include <armnn/BackendId.hpp> - -#include <memory> -#include <unordered_map> -#include <functional> - -namespace armnn -{ - -class IBackendInternal; -using IBackendInternalUniquePtr = std::unique_ptr<IBackendInternal>; - -class BackendRegistry -{ -public: - using PointerType = IBackendInternalUniquePtr; - using FactoryFunction = std::function<PointerType()>; - - void Register(const BackendId& id, FactoryFunction factory); - bool IsBackendRegistered(const BackendId& id) const; - FactoryFunction GetFactory(const BackendId& id) const; - size_t Size() const; - BackendIdSet GetBackendIds() const; - std::string GetBackendIdsAsString() const; - - BackendRegistry() {} - virtual ~BackendRegistry() {} - - struct StaticRegistryInitializer - { - StaticRegistryInitializer(BackendRegistry& instance, - const BackendId& id, - FactoryFunction factory) - { - instance.Register(id, factory); - } - }; - -protected: - using FactoryStorage = std::unordered_map<BackendId, FactoryFunction>; - - // For testing only - static void Swap(BackendRegistry& instance, FactoryStorage& other); - -private: - BackendRegistry(const BackendRegistry&) = delete; - BackendRegistry& operator=(const BackendRegistry&) = delete; - - FactoryStorage m_Factories; -}; - -BackendRegistry& BackendRegistryInstance(); - -} // namespace armnn |