void set(string s) { switch(type) { case boolean_t: *(bool*)data = (s == "true"); break; case signed_t: *(signed*)data = strsigned(s); break; case unsigned_t: *(unsigned*)data = strunsigned(s); break; case double_t: *(double*)data = strdouble(s); break; case string_t: trim(s, "\""); *(string*)data = s; break; } }
template<> inline string to_string<signed int> (signed int v) { return strsigned(v); }
string& string::append(signed int value) { append(strsigned(value)); return *this; }