blob: aed881c0dd3f362be230408ea235bd9d632f3b7c [file] [log] [blame]
Finn Williamsb454c5c2021-02-09 15:56:23 +00001//
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
Nikhil Raj4d2eec02022-05-30 11:08:52 +010010#include <armnn/NetworkFwd.hpp>
11#include <armnn/TensorFwd.hpp>
12
Finn Williamsb454c5c2021-02-09 15:56:23 +000013namespace armnn
14{
15
16class IStrategy
17{
18protected:
19IStrategy() {}
20virtual ~IStrategy() {}
21
22public:
Nikhil Raj4d2eec02022-05-30 11:08:52 +010023virtual void ExecuteStrategy(const IConnectableLayer* layer,
Finn Williamsb454c5c2021-02-09 15:56:23 +000024 const armnn::BaseDescriptor& descriptor,
25 const std::vector<armnn::ConstTensor>& constants,
26 const char* name,
27 const armnn::LayerBindingId id = 0) = 0;
28
29virtual void FinishStrategy() {};
30
31};
32
33
34} // namespace armnn