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