aboutsummaryrefslogtreecommitdiff
path: root/tests/ExecuteNetwork/IExecutor.hpp
blob: 21ec9040e90664a756da1ed8879bbf90a3e4f259 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//
// 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(){};
    bool m_constructionFailed = false;
};