1 // 2 // Copyright © 2021 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 #pragma once 6 7 #include <armnn/DescriptorsFwd.hpp> 8 #include <armnn/Types.hpp> 9 10 #include <armnn/NetworkFwd.hpp> 11 #include <armnn/TensorFwd.hpp> 12 13 namespace armnn 14 { 15 16 class IStrategy 17 { 18 protected: IStrategy()19IStrategy() {} ~IStrategy()20virtual ~IStrategy() {} 21 22 public: 23 virtual void ExecuteStrategy(const IConnectableLayer* layer, 24 const armnn::BaseDescriptor& descriptor, 25 const std::vector<armnn::ConstTensor>& constants, 26 const char* name, 27 const armnn::LayerBindingId id = 0) = 0; 28 FinishStrategy()29virtual void FinishStrategy() {}; 30 31 }; 32 33 34 } // namespace armnn 35