diff options
author | David Beck <david.beck@arm.com> | 2018-10-23 13:35:58 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-10-25 09:49:58 +0100 |
commit | 29c75de868ac3a86a70b25f8da0d0c7e47d40803 (patch) | |
tree | db8dd31d26622ca252f6e2d2c86c7e20a0829e9e /src/backends/IBackendInternal.hpp | |
parent | 5cc8e56b4ca8d58dc11973c49c10a02a2f13580c (diff) | |
download | armnn-29c75de868ac3a86a70b25f8da0d0c7e47d40803.tar.gz |
IVGCVSW-2067 : dynamically create workload factories based on the backends in the network
Change-Id: Ide594db8c79ff67642721d8bad47624b88621fbd
Diffstat (limited to 'src/backends/IBackendInternal.hpp')
-rw-r--r-- | src/backends/IBackendInternal.hpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/backends/IBackendInternal.hpp b/src/backends/IBackendInternal.hpp index a441abd79f..7e44dbd676 100644 --- a/src/backends/IBackendInternal.hpp +++ b/src/backends/IBackendInternal.hpp @@ -5,19 +5,27 @@ #pragma once #include <armnn/Types.hpp> -#include <backends/WorkloadFactory.hpp> namespace armnn { +class IWorkloadFactory; class IBackendInternal : public IBackend { protected: + // Creation must be done through a specific + // backend interface. IBackendInternal() = default; - ~IBackendInternal() override = default; public: - virtual std::unique_ptr<IWorkloadFactory> CreateWorkloadFactory() const = 0; + // Allow backends created by the factory function + // to be destroyed through IBackendInternal. + ~IBackendInternal() override = default; + + using IWorkloadFactoryPtr = std::unique_ptr<IWorkloadFactory>; + virtual IWorkloadFactoryPtr CreateWorkloadFactory() const = 0; }; +using IBackendInternalUniquePtr = std::unique_ptr<IBackendInternal>; + } // namespace armnn |