Kernel Tuning Toolkit 2.3
 
Loading...
Searching...
No Matches
ParameterPair.h
Go to the documentation of this file.
1
4#pragma once
5
6#include <cstdint>
7#include <string>
8#include <variant>
9#include <vector>
10
12#include <KttPlatform.h>
13#include <KttTypes.h>
14
15namespace ktt
16{
17
21class KTT_API ParameterPair
22{
23public:
28
35 explicit ParameterPair(const std::string& name, const ParameterValue& value, const bool isCompilerParameter = false);
36
41 void SetValue(const ParameterValue& value);
42
47 const std::string& GetName() const;
48
53 std::string GetString() const;
54
59 std::string GetValueString() const;
60
65 const ParameterValue& GetValue() const;
66
71 uint64_t GetValueUint() const;
72
78
83 bool IsCompilerParameter() const;
84
90 bool HasSameValue(const ParameterPair& other) const;
91
97
104 template <typename T>
105 static T GetParameterValue(const std::vector<ParameterPair>& pairs, const std::string& name);
106
114 template <typename T>
115 static std::vector<T> GetParameterValues(const std::vector<ParameterPair>& pairs, const std::vector<std::string>& names);
116
117private:
118 std::string m_Name;
119 ParameterValue m_Value;
120 bool m_IsCompilerParameter;
121};
122
123} // namespace ktt
124
125#include <Api/Configuration/ParameterPair.inl>
Definition ParameterPair.h:22
std::string GetValueString() const
static ParameterValueType GetTypeFromValue(const ParameterValue &value)
void SetValue(const ParameterValue &value)
ParameterPair(const std::string &name, const ParameterValue &value, const bool isCompilerParameter=false)
ParameterValueType GetValueType() const
uint64_t GetValueUint() const
bool HasSameValue(const ParameterPair &other) const
std::string GetString() const
bool IsCompilerParameter() const
static std::vector< T > GetParameterValues(const std::vector< ParameterPair > &pairs, const std::vector< std::string > &names)
const std::string & GetName() const
const ParameterValue & GetValue() const
static T GetParameterValue(const std::vector< ParameterPair > &pairs, const std::string &name)
Definition KttPlatform.h:41
ParameterValueType
Definition ParameterValueType.h:13
std::variant< int64_t, uint64_t, double, bool, std::string > ParameterValue
Definition KttTypes.h:55