• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
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
10 class IExecutor
11 {
12 public:
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;
~IExecutor()21     virtual ~IExecutor(){};
22     bool m_constructionFailed = false;
23 };
24