13 #include <unordered_set> 14 #include <unordered_map> 16 #include <boost/numeric/conversion/cast.hpp> 38 using Devices = std::unordered_map<uint16_t, DevicePtr>;
39 using CounterSets = std::unordered_map<uint16_t, CounterSetPtr>;
40 using Counters = std::unordered_map<uint16_t, CounterPtr>;
67 Device(uint16_t deviceUid,
const std::string& name, uint16_t cores)
83 CounterSet(uint16_t counterSetUid,
const std::string& name, uint16_t count)
84 : m_Uid(counterSetUid)
101 uint16_t maxCounterUid,
102 uint16_t counterClass,
103 uint16_t interpolation,
105 const std::string& name,
106 const std::string& description,
107 const std::string& units,
109 uint16_t counterSetUid)
110 : m_BackendId(backendId)
112 , m_MaxCounterUid(maxCounterUid)
113 , m_Class(counterClass)
114 , m_Interpolation(interpolation)
115 , m_Multiplier(multiplier)
117 , m_Description(description)
119 , m_DeviceUid(deviceUid)
120 , m_CounterSetUid(counterSetUid)
145 virtual uint16_t GetCategoryCount()
const = 0;
146 virtual uint16_t GetDeviceCount()
const = 0;
147 virtual uint16_t GetCounterSetCount()
const = 0;
148 virtual uint16_t GetCounterCount()
const = 0;
151 virtual const Categories& GetCategories()
const = 0;
152 virtual const Devices& GetDevices()
const = 0;
153 virtual const CounterSets& GetCounterSets()
const = 0;
154 virtual const Counters& GetCounters()
const = 0;
157 virtual const Category* GetCategory(
const std::string& name)
const = 0;
158 virtual const Device* GetDevice(uint16_t uid)
const = 0;
159 virtual const CounterSet* GetCounterSet(uint16_t uid)
const = 0;
160 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) 2020 ARM Limited.
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)