blob: 4ed6cbde84b976ed125d9d2fa0200d2cba651b63 [file] [log] [blame]
//
// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
#include <vector>
/// IExecutor executes a network
class IExecutor
{
public:
/// Execute the given network
/// @return std::vector<const void*> A type erased vector of the outputs,
/// that can be compared with the output of another IExecutor
virtual std::vector<const void*> Execute() = 0;
/// Print available information about the network
virtual void PrintNetworkInfo() = 0;
/// Compare the output with the result of another IExecutor
virtual void CompareAndPrintResult(std::vector<const void*> otherOutput) = 0;
virtual ~IExecutor(){};
};