blob: 4ed6cbde84b976ed125d9d2fa0200d2cba651b63 [file] [log] [blame]
Teresa Charlinfbd28172022-07-07 14:24:59 +01001//
2// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7#include <vector>
8
9/// IExecutor executes a network
10class IExecutor
11{
12public:
13 /// Execute the given network
14 /// @return std::vector<const void*> A type erased vector of the outputs,
15 /// that can be compared with the output of another IExecutor
16 virtual std::vector<const void*> Execute() = 0;
17 /// Print available information about the network
18 virtual void PrintNetworkInfo() = 0;
19 /// Compare the output with the result of another IExecutor
20 virtual void CompareAndPrintResult(std::vector<const void*> otherOutput) = 0;
21 virtual ~IExecutor(){};
22};