23 #ifndef SET_DESCRIPTOR_H
24 #define SET_DESCRIPTOR_H
43 static const unsigned int MAX_FIELDS_NUMBER = 512;
47 void setSequenceNumber(
int sn);
48 int getSequenceNumber()
const;
53 const std::map<std::string, std::string>& getStringFields()
const;
54 const std::map<std::string, int>& getIntFields()
const;
55 const std::map<std::string, float>& getFloatFields()
const;
61 bool existKey(
const std::string& key);
68 bool hasValue(
const std::string& key,
const std::string& value);
69 bool hasValue(
const std::string& key,
int value);
70 bool hasValue(
const std::string& key,
float value);
79 void addValue(
const std::string& key,
const std::string& value);
80 void addValue(
const std::string& key,
int value);
81 void addValue(
const std::string& key,
float value);
88 template<
typename T>
bool addKey(
const std::string& key);
93 friend std::ostream& operator<<(std::ostream &os,
const SetDescriptor& sd);
97 static const int INVALID_SEQUENCE_NUMBER = -1;
100 std::map<std::string, std::string> stringFields;
101 std::map<std::string, int> intFields;
102 std::map<std::string, float> floatFields;
116 WrongTypeError(
const std::string& msg) : std::runtime_error(msg) {}
120 const std::string DEFAULT_SERIALIZABLE_FLOAT =
"0.0";
Definition: DataItem.h:28
bool addKey(const std::string &key)
Definition: SetDescriptor.h:113
A SetDescriptor (SD) is a set of pairs , where the key is always a string, while the value may be an integer, a float or a string.
Definition: SetDescriptor.h:38
int size() const
Definition: SetDescriptor.cpp:47
SetDescriptor()
Definition: SetDescriptor.cpp:35
bool existKey(const std::string &key)
Definition: SetDescriptor.cpp:68
Definition: SetDescriptor.h:106