29 std::string key_value_delimiter_;
31 std::string property_delimiter_;
39 std::string convert_to_string(T value)
const {
40 return std::to_string(value);
48 std::string convert_to_string(
const std::string& value)
const {
56 std::string convert_to_string(
const char* value)
const {
57 return std::string(value);
65 std::string convert_to_string(
char value)
const {
73 std::string convert_to_string(
bool value)
const {
74 return value ?
"true" :
"false";
87 void add_void(
const std::string& key,
const std::string& value) {
88 if(key.empty() && value.empty())
92 v_ += property_delimiter_;
94 if(!key.empty() && !value.empty())
95 v_ += key + key_value_delimiter_ + value;
105 property_string(
const std::string& key_value_delimiter =
"=",
const std::string& property_delimiter =
";") :
106 key_value_delimiter_(key_value_delimiter),
107 property_delimiter_(property_delimiter) {}
126 void add(
const std::string& key, T value) {
127 add_void(key, convert_to_string(value));
137 void add_bracketed(
const std::string& key,
const T value,
char bracket =
'\'') {
138 std::string str = bracket + convert_to_string(value) + bracket;
149 void add_bracketed(
const std::string& key,
const T value,
char opening_bracket,
char closing_bracket) {
150 std::string str = opening_bracket + convert_to_string(value) + closing_bracket;
155 operator std::string()
const {