blob: 75ecad9961077f9b5e39243517fb42634d9b2d1d [file] [log] [blame]
//
// Copyright © 2019 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
#include <cstdint>
namespace armnn
{
namespace profiling
{
class IReadCounterValues
{
public:
virtual uint16_t GetCounterCount() const = 0;
virtual void GetCounterValue(uint16_t index, uint32_t& value) const = 0;
virtual ~IReadCounterValues() {}
};
class IWriteCounterValues : public IReadCounterValues
{
public:
virtual void SetCounterValue(uint16_t index, uint32_t value) = 0;
virtual void AddCounterValue(uint16_t index, uint32_t value) = 0;
virtual void SubtractCounterValue(uint16_t index, uint32_t value) = 0;
virtual void IncrementCounterValue(uint16_t index) = 0;
virtual void DecrementCounterValue(uint16_t index) = 0;
virtual ~IWriteCounterValues() {}
};
} // namespace profiling
} // namespace armnn