13 #include <unordered_set> 14 #include <unordered_map> 36 using Devices = std::unordered_map<uint16_t, DevicePtr>;
37 using CounterSets = std::unordered_map<uint16_t, CounterSetPtr>;
38 using Counters = std::unordered_map<uint16_t, CounterPtr>;
65 Device(uint16_t deviceUid,
const std::string& name, uint16_t cores)
81 CounterSet(uint16_t counterSetUid,
const std::string& name, uint16_t count)
82 : m_Uid(counterSetUid)
99 uint16_t maxCounterUid,
100 uint16_t counterClass,
101 uint16_t interpolation,
103 const std::string& name,
104 const std::string& description,
105 const std::string& units,
107 uint16_t counterSetUid)
108 : m_BackendId(backendId)
110 , m_MaxCounterUid(maxCounterUid)
111 , m_Class(counterClass)
112 , m_Interpolation(interpolation)
113 , m_Multiplier(multiplier)
115 , m_Description(description)
117 , m_DeviceUid(deviceUid)
118 , m_CounterSetUid(counterSetUid)
143 virtual uint16_t GetCategoryCount()
const = 0;
144 virtual uint16_t GetDeviceCount()
const = 0;
145 virtual uint16_t GetCounterSetCount()
const = 0;
146 virtual uint16_t GetCounterCount()
const = 0;
149 virtual const Categories& GetCategories()
const = 0;
150 virtual const Devices& GetDevices()
const = 0;
151 virtual const CounterSets& GetCounterSets()
const = 0;
152 virtual const Counters& GetCounters()
const = 0;
155 virtual const Category* GetCategory(
const std::string& name)
const = 0;
156 virtual const Device* GetDevice(uint16_t uid)
const = 0;
157 virtual const CounterSet* GetCounterSet(uint16_t uid)
const = 0;
158 virtual const Counter* GetCounter(uint16_t uid)
const = 0;
CounterSets::const_iterator CounterSetsIt
CounterSet(uint16_t counterSetUid, const std::string &name, uint16_t count)
std::unordered_map< uint16_t, CounterPtr > Counters
Categories::const_iterator CategoriesIt
std::unique_ptr< Device > DevicePtr
std::unique_ptr< CounterSet > CounterSetPtr
Devices::const_iterator DevicesIt
Copyright (c) 2021 ARM Limited and Contributors.
Counter(BackendId 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)
std::unordered_map< uint16_t, CounterSetPtr > CounterSets
std::shared_ptr< Counter > CounterPtr
virtual ~ICounterDirectory()
Device(uint16_t deviceUid, const std::string &name, uint16_t cores)
std::unordered_set< CategoryPtr > Categories
std::vector< uint16_t > m_Counters
std::string m_Description
std::unique_ptr< Category > CategoryPtr
std::unordered_map< uint16_t, DevicePtr > Devices
Counters::const_iterator CountersIt
Category(const std::string &name)