// // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include #include #include #include "reference/RefTensorHandleFactory.hpp" namespace { template<> struct WorkloadFactoryHelper { static armnn::IBackendInternal::IMemoryManagerSharedPtr GetMemoryManager() { armnn::RefBackend backend; return backend.CreateMemoryManager(); } static armnn::RefWorkloadFactory GetFactory( const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) { IgnoreUnused(memoryManager); return armnn::RefWorkloadFactory(); } static armnn::RefTensorHandleFactory GetTensorHandleFactory( const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) { return armnn::RefTensorHandleFactory(armnn::PolymorphicPointerDowncast(memoryManager)); } }; using RefWorkloadFactoryHelper = WorkloadFactoryHelper; } // anonymous namespace