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>;
52 Category(
const std::string& name, uint16_t deviceUid, uint16_t counterSetUid)
71 Device(uint16_t deviceUid,
const std::string& name, uint16_t cores)
87 CounterSet(uint16_t counterSetUid,
const std::string& name, uint16_t count)
88 : m_Uid(counterSetUid)
105 uint16_t maxCounterUid,
106 uint16_t counterClass,
107 uint16_t interpolation,
109 const std::string& name,
110 const std::string& description,
111 const std::string& units,
113 uint16_t counterSetUid)
114 : m_BackendId(backendId)
116 , m_MaxCounterUid(maxCounterUid)
117 , m_Class(counterClass)
118 , m_Interpolation(interpolation)
119 , m_Multiplier(multiplier)
121 , m_Description(description)
149 virtual uint16_t GetCategoryCount()
const = 0;
150 virtual uint16_t GetDeviceCount()
const = 0;
151 virtual uint16_t GetCounterSetCount()
const = 0;
152 virtual uint16_t GetCounterCount()
const = 0;
155 virtual const Categories& GetCategories()
const = 0;
156 virtual const Devices& GetDevices()
const = 0;
157 virtual const CounterSets& GetCounterSets()
const = 0;
158 virtual const Counters& GetCounters()
const = 0;
161 virtual const Category* GetCategory(
const std::string& name)
const = 0;
162 virtual const Device* GetDevice(uint16_t uid)
const = 0;
163 virtual const CounterSet* GetCounterSet(uint16_t uid)
const = 0;
164 virtual const Counter* GetCounter(uint16_t uid)
const = 0;
CounterSet(uint16_t counterSetUid, const std::string &name, uint16_t count)
std::unordered_set< CategoryPtr > Categories
Counters::const_iterator CountersIt
std::unordered_map< uint16_t, DevicePtr > Devices
std::unique_ptr< CounterSet > CounterSetPtr
std::unordered_map< uint16_t, CounterSetPtr > CounterSets
std::string m_Description
std::shared_ptr< Counter > CounterPtr
std::vector< uint16_t > m_Counters
CounterSets::const_iterator CounterSetsIt
std::unique_ptr< Category > CategoryPtr
Device(uint16_t deviceUid, const std::string &name, uint16_t cores)
std::unique_ptr< Device > DevicePtr
virtual ~ICounterDirectory()
Devices::const_iterator DevicesIt
Categories::const_iterator CategoriesIt
std::unordered_map< uint16_t, CounterPtr > Counters
Category(const std::string &name, uint16_t deviceUid, uint16_t counterSetUid)
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)