1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
//
// Copyright © 2022,2023 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
#include <cstdint>
#include <string>
namespace arm
{
namespace pipe
{
class Counter final
{
public:
// Constructors
Counter(const std::string& backendId,
uint16_t counterUid,
uint16_t maxCounterUid,
uint16_t counterClass,
uint16_t interpolation,
double multiplier,
const std::string& name,
const std::string& description,
const std::string& units,
uint16_t deviceUid,
uint16_t counterSetUid)
: m_BackendId(backendId)
, m_Uid(counterUid)
, m_MaxCounterUid(maxCounterUid)
, m_Class(counterClass)
, m_Interpolation(interpolation)
, m_Multiplier(multiplier)
, m_Name(name)
, m_Description(description)
, m_Units(units)
, m_DeviceUid(deviceUid)
, m_CounterSetUid(counterSetUid)
{}
// Fields
std::string m_BackendId;
uint16_t m_Uid;
uint16_t m_MaxCounterUid;
uint16_t m_Class;
uint16_t m_Interpolation;
double m_Multiplier;
std::string m_Name;
std::string m_Description;
std::string m_Units; // Optional, leave empty if the counter does not need units
// Connections
uint16_t m_DeviceUid; // Optional, set to zero if the counter is not associated with a device
uint16_t m_CounterSetUid; // Optional, set to zero if the counter is not associated with a counter set
};
} // namespace pipe
} // namespace arm
|