diff options
author | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2018-11-01 16:15:57 +0000 |
---|---|---|
committer | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2018-11-02 14:49:21 +0000 |
commit | c9cc80455ff29fd2c8622c9487ec9c57ade6ea30 (patch) | |
tree | 41b1491312fe6082b39d5d37ffa0dcf0ab0f2817 /src/backends/RegistryCommon.hpp | |
parent | 207ef9a6b8b3ea0afe9a095639f67b5dedd095d7 (diff) | |
download | armnn-c9cc80455ff29fd2c8622c9487ec9c57ade6ea30.tar.gz |
IVGCVSW-1946: Remove armnn/src from the include paths
Change-Id: I663a0a0fccb43ee960ec070121a59df9db0bb04e
Diffstat (limited to 'src/backends/RegistryCommon.hpp')
-rw-r--r-- | src/backends/RegistryCommon.hpp | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/src/backends/RegistryCommon.hpp b/src/backends/RegistryCommon.hpp deleted file mode 100644 index 044a9e4250..0000000000 --- a/src/backends/RegistryCommon.hpp +++ /dev/null @@ -1,133 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// -#pragma once - -#include <armnn/BackendId.hpp> -#include <armnn/Exceptions.hpp> -#include <functional> -#include <memory> -#include <sstream> -#include <string> -#include <unordered_map> - -namespace armnn -{ - -template <typename RegisteredType> -struct RegisteredTypeName -{ - static const char * Name() { return "UNKNOWN"; } -}; - -template <typename RegisteredType, typename PointerType, typename ParamType> -class RegistryCommon -{ -public: - using FactoryFunction = std::function<PointerType(const ParamType&)>; - - void Register(const BackendId& id, FactoryFunction factory) - { - if (m_Factories.count(id) > 0) - { - throw InvalidArgumentException( - std::string(id) + " already registered as " + RegisteredTypeName<RegisteredType>::Name() + " factory", - CHECK_LOCATION()); - } - - m_Factories[id] = factory; - } - - FactoryFunction GetFactory(const BackendId& id) const - { - auto it = m_Factories.find(id); - if (it == m_Factories.end()) - { - throw InvalidArgumentException( - std::string(id) + " has no " + RegisteredTypeName<RegisteredType>::Name() + " factory registered", - CHECK_LOCATION()); - } - - return it->second; - } - - FactoryFunction GetFactory(const BackendId& id, - FactoryFunction defaultFactory) const - { - auto it = m_Factories.find(id); - if (it == m_Factories.end()) - { - return defaultFactory; - } - else - { - return it->second; - } - } - - size_t Size() const - { - return m_Factories.size(); - } - - BackendIdSet GetBackendIds() const - { - BackendIdSet result; - for (const auto& it : m_Factories) - { - result.insert(it.first); - } - return result; - } - - std::string GetBackendIdsAsString() const - { - static const std::string delimitator = ", "; - - std::stringstream output; - for (auto& backendId : GetBackendIds()) - { - if (output.tellp() != std::streampos(0)) - { - output << delimitator; - } - output << backendId; - } - - return output.str(); - } - - RegistryCommon() {} - virtual ~RegistryCommon() {} - -protected: - using FactoryStorage = std::unordered_map<BackendId, FactoryFunction>; - - // For testing only - static void Swap(RegistryCommon& instance, FactoryStorage& other) - { - std::swap(instance.m_Factories, other); - } - -private: - RegistryCommon(const RegistryCommon&) = delete; - RegistryCommon& operator=(const RegistryCommon&) = delete; - - FactoryStorage m_Factories; -}; - -template <typename RegistryType> -struct StaticRegistryInitializer -{ - using FactoryFunction = typename RegistryType::FactoryFunction; - - StaticRegistryInitializer(RegistryType& instance, - const BackendId& id, - FactoryFunction factory) - { - instance.Register(id, factory); - } -}; - -} // namespace armnn
\ No newline at end of file |