blob: 75ecad9961077f9b5e39243517fb42634d9b2d1d [file] [log] [blame]
FinnWilliamsArmf6e534a2019-09-16 15:45:42 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5#pragma once
6
7#include <cstdint>
8
9namespace armnn
10{
11
12namespace profiling
13{
14
15class IReadCounterValues
16{
17public:
18 virtual uint16_t GetCounterCount() const = 0;
19 virtual void GetCounterValue(uint16_t index, uint32_t& value) const = 0;
20 virtual ~IReadCounterValues() {}
21};
22
23class IWriteCounterValues : public IReadCounterValues
24{
25public:
26 virtual void SetCounterValue(uint16_t index, uint32_t value) = 0;
27 virtual void AddCounterValue(uint16_t index, uint32_t value) = 0;
28 virtual void SubtractCounterValue(uint16_t index, uint32_t value) = 0;
29 virtual void IncrementCounterValue(uint16_t index) = 0;
30 virtual void DecrementCounterValue(uint16_t index) = 0;
31 virtual ~IWriteCounterValues() {}
32};
33
34} // namespace profiling
35
36} // namespace armnn
37
38