// // Copyright © 2019 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include 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