ArmNN
 21.02
RefWorkloadFactoryHelper.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
9 
10 #include <reference/RefBackend.hpp>
13 
14 namespace
15 {
16 
17 template<>
18 struct WorkloadFactoryHelper<armnn::RefWorkloadFactory>
19 {
20  static armnn::IBackendInternal::IMemoryManagerSharedPtr GetMemoryManager()
21  {
22  armnn::RefBackend backend;
23  return backend.CreateMemoryManager();
24  }
25 
26  static armnn::RefWorkloadFactory GetFactory(
27  const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr)
28  {
29  IgnoreUnused(memoryManager);
31  }
32 
33  static armnn::RefTensorHandleFactory GetTensorHandleFactory(
34  const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr)
35  {
36 
37  return armnn::RefTensorHandleFactory(std::static_pointer_cast<armnn::RefMemoryManager>(memoryManager));
38  }
39 };
40 
41 using RefWorkloadFactoryHelper = WorkloadFactoryHelper<armnn::RefWorkloadFactory>;
42 
43 } // anonymous namespace
IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override
Definition: RefBackend.cpp:56
Copyright (c) 2021 ARM Limited and Contributors.
void IgnoreUnused(Ts &&...)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr