blob: 4b20cacbe0743dcbcc6ca17aab4407edce33c610 [file] [log] [blame]
David Beck32cbb0c2018-10-09 15:46:08 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5#pragma once
6
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00007#include "RegistryCommon.hpp"
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00008#include <armnn/Types.hpp>
David Beck32cbb0c2018-10-09 15:46:08 +01009
10namespace armnn
11{
David Beck1b61be52018-11-08 09:19:14 +000012class IBackendInternal;
13using IBackendInternalUniquePtr = std::unique_ptr<IBackendInternal>;
David Beck9efb57d2018-11-05 13:40:33 +000014using BackendRegistry = RegistryCommon<IBackendInternal, IBackendInternalUniquePtr>;
David Beck32cbb0c2018-10-09 15:46:08 +010015
David Beck3e9e1152018-10-17 14:17:50 +010016BackendRegistry& BackendRegistryInstance();
17
18template <>
19struct RegisteredTypeName<IBackend>
David Beck32cbb0c2018-10-09 15:46:08 +010020{
David Beck3e9e1152018-10-17 14:17:50 +010021 static const char * Name() { return "IBackend"; }
David Beck32cbb0c2018-10-09 15:46:08 +010022};
23
David Beck1b61be52018-11-08 09:19:14 +000024} // namespace armnn