38 str += (value ?
"true" :
"false");
60 const std::string& item)
73 Iterator containerBegin,
74 Iterator containerEnd,
75 const std::string& delimiter =
",")
77 bool addDelimiter =
false;
80 containerBegin != containerEnd)
103 const Char* enumeration,
109 "Cannot convert constant to/from text " 110 "because it's out of a valid range " 113 reason += enumeration;
114 reason +=
",constant=";
120 throw std::out_of_range(reason);
126 ONIXS_SGXTITAN_OUCH_ENUM_TO_STR_BEGIN(Enumeration) \ 130 Enumeration::Enum value) \ 140 ONIXS_SGXTITAN_OUCH_ENUM_TO_STR_ENTRY(Value) \ 141 case Values::Value: \ 146 ONIXS_SGXTITAN_OUCH_ENUM_TO_STR_CUSTOM_ENTRY(Value, Str) \ 147 case Values::Value: \ 152 ONIXS_SGXTITAN_OUCH_ENUM_TO_STR_END(Enumeration) \ 154 std::stringstream ss;\ 156 str += "Undefined("; \ 163 ONIXS_SGXTITAN_OUCH_STR_TO_ENUM_BEGIN(Enumeration) \ 165 strTo##Enumeration( \ 166 const std::string& str) \ 173 ONIXS_SGXTITAN_OUCH_STR_TO_ENUM_ENTRY(Value) \ 175 return Values::Value; 178 ONIXS_SGXTITAN_OUCH_STR_TO_ENUM_CUSTOM_ENTRY(Value, Str) \ 180 return Values::Value; 183 ONIXS_SGXTITAN_OUCH_STR_TO_ENUM_END(Enumeration) \ 184 throwOutOfEnumRange( \ 190 <Enumeration::Enum> \ 195 ONIXS_SGXTITAN_OUCH_FROM_STR_BEGIN(Enumeration) \ 198 Enumeration::Enum& value,\ 206 const StrRef strRef(str, size); 209 ONIXS_SGXTITAN_OUCH_FROM_STR_ENTRY(Value) \ 210 if (strRef == #Value) \ 212 value = Values::Value; \ 218 ONIXS_SGXTITAN_OUCH_FROM_STR_CUSTOM_ENTRY(Value, Str) \ 219 if (strRef == (Str)) \ 221 value = Values::Value; \ 227 ONIXS_SGXTITAN_OUCH_FROM_STR_END(Enumeration) \ 232 ONIXS_SGXTITAN_OUCH_DECLARE_T0_STR_FUNCTIONS(Type) \ 233 void toStr(std::string&, Type);\ 234 inline std::string toStr(Type value)\ void itemToStr(std::string &str, const std::string &item)
char Char
Character type alias.
void containerToStr(std::string &str, Iterator containerBegin, Iterator containerEnd, const std::string &delimiter=",")
void throwOutOfEnumRange(const Char *enumeration, Constant)
void boolToStr(std::string &str, bool value)
#define ONIXS_SGXTITAN_OUCH_NAMESPACE_BEGIN
ONIXS_SGXTITAN_OUCH_API void toStr(std::string &, OutboundMessageTypes::Enum)
Appends string presentation of object.