File indexing completed on 2026-07-09 08:28:26
0001
0002 #include "sto"
0003
0004 namespace tools {
0005
0006
0007
0008 inline std::string value::to_string(const value& aThis){
0009 std::string _s;
0010 switch(aThis.m_type) {
0011 case value::NONE:
0012 sprintf(_s,5,"(nil)");
0013 return _s;
0014 case value::INT:
0015 sprintf(_s,16,"%d",aThis.u.m_int);
0016 return _s;
0017 case value::DOUBLE:
0018 sprintf(_s,16,"%g",aThis.u.m_double);
0019 return _s;
0020 case value::VOID_STAR:
0021 sprintf(_s,32,upointer_format_x(),(upointer)aThis.u.m_void_star);
0022 return _s;
0023 case value::UNSIGNED_SHORT:
0024 sprintf(_s,16,"%u",aThis.u.m_unsigned_short);
0025 return _s;
0026 case value::UNSIGNED_INT:
0027 sprintf(_s,16,"%u",aThis.u.m_unsigned_int);
0028 return _s;
0029 case value::BOOL:
0030 sprintf(_s,5,"%s",aThis.u.m_bool?"true":"false");
0031 return _s;
0032 case value::SHORT:
0033 sprintf(_s,16,"%d",aThis.u.m_short);
0034 return _s;
0035 case value::INT64:{
0036 sprintf(_s,16,int64_format(),aThis.u.m_int64);
0037 }return _s;
0038 case value::UNSIGNED_INT64:{
0039 sprintf(_s,16,int64_format(),aThis.u.m_unsigned_int64);
0040 }return _s;
0041 case value::FLOAT:
0042 sprintf(_s,16,"%g",aThis.u.m_float);
0043 return _s;
0044 case value::DOUBLE_STAR:
0045 sprintf(_s,32,upointer_format_x(),(upointer)aThis.u.m_double_star);
0046 return _s;
0047 case value::FLOAT_STAR:
0048 sprintf(_s,32,upointer_format_x(),(upointer)aThis.u.m_float_star);
0049 return _s;
0050 case value::INT_STAR:
0051 sprintf(_s,32,upointer_format_x(),(upointer)aThis.u.m_int_star);
0052 return _s;
0053 case value::STRING:
0054 return *aThis.u.m_string;
0055
0056 case value::ARRAY_UNSIGNED_SHORT:
0057 if(!nums2s<unsigned short>(aThis.u.m_array_unsigned_short->vector(),_s)) {}
0058 return _s;
0059 case value::ARRAY_SHORT:
0060 if(!nums2s<short>(aThis.u.m_array_short->vector(),_s)) {}
0061 return _s;
0062
0063 case value::ARRAY_UNSIGNED_INT:
0064 if(!nums2s<unsigned int>(aThis.u.m_array_unsigned_int->vector(),_s)) {}
0065 return _s;
0066 case value::ARRAY_INT:
0067 if(!nums2s<int>(aThis.u.m_array_int->vector(),_s)) {}
0068 return _s;
0069
0070 case value::ARRAY_UNSIGNED_INT64:
0071 if(!nums2s<uint64>(aThis.u.m_array_unsigned_int64->vector(),_s)) {}
0072 return _s;
0073 case value::ARRAY_INT64:
0074 if(!nums2s<int64>(aThis.u.m_array_int64->vector(),_s)) {}
0075 return _s;
0076
0077 case value::ARRAY_FLOAT:
0078 if(!nums2s<float>(aThis.u.m_array_float->vector(),_s)) {}
0079 return _s;
0080 case value::ARRAY_DOUBLE:
0081 if(!nums2s<double>(aThis.u.m_array_double->vector(),_s)) {}
0082 return _s;
0083 case value::ARRAY_BOOL:
0084 b2s(aThis.u.m_array_bool->vector(),_s);
0085 return _s;
0086 case value::ARRAY_STRING:
0087 if(!nums2s<std::string>(aThis.u.m_array_string->vector(),_s)) {}
0088 return _s;
0089 default:
0090 return "unknown";
0091 }
0092 }
0093
0094 }