diff options
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 |