|
@@ -12,6 +12,7 @@
|
|
|
#include <map>
|
|
|
#include <cassert>
|
|
|
#include <type_traits>
|
|
|
+#include <sstream>
|
|
|
namespace sio
|
|
|
{
|
|
|
class message
|
|
@@ -58,6 +59,14 @@ namespace sio
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ virtual std::string to_string() const
|
|
|
+ {
|
|
|
+ assert(false);
|
|
|
+ static std::string s_empty_string;
|
|
|
+ s_empty_string.clear();
|
|
|
+ return s_empty_string;
|
|
|
+ }
|
|
|
+
|
|
|
virtual std::string const& get_string() const
|
|
|
{
|
|
|
assert(false);
|
|
@@ -147,6 +156,11 @@ namespace sio
|
|
|
{
|
|
|
return _v;
|
|
|
}
|
|
|
+
|
|
|
+ std::string to_string()const
|
|
|
+ {
|
|
|
+ return _v?"true":"false";
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
class int_message : public message
|
|
@@ -173,6 +187,11 @@ namespace sio
|
|
|
{
|
|
|
return static_cast<double>(_v);
|
|
|
}
|
|
|
+
|
|
|
+ std::string to_string()const
|
|
|
+ {
|
|
|
+ return std::to_string(_v);
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
class double_message : public message
|
|
@@ -193,6 +212,11 @@ namespace sio
|
|
|
{
|
|
|
return _v;
|
|
|
}
|
|
|
+
|
|
|
+ std::string to_string()const
|
|
|
+ {
|
|
|
+ return std::to_string(_v);
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
class string_message : public message
|
|
@@ -222,6 +246,11 @@ namespace sio
|
|
|
{
|
|
|
return _v;
|
|
|
}
|
|
|
+
|
|
|
+ std::string to_string()const
|
|
|
+ {
|
|
|
+ return "'"+_v+"'";
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
class binary_message : public message
|
|
@@ -335,6 +364,20 @@ namespace sio
|
|
|
{
|
|
|
return _v;
|
|
|
}
|
|
|
+
|
|
|
+ std::string to_string()const
|
|
|
+ {
|
|
|
+ std::ostringstream ss;
|
|
|
+ ss<<"[";
|
|
|
+ for(size_t i=0;i<size();i++)
|
|
|
+ {
|
|
|
+ ss<<_v[i]->to_string()<<",";
|
|
|
+ }
|
|
|
+
|
|
|
+ ss<<"]";
|
|
|
+
|
|
|
+ return ss.str();
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
class object_message : public message
|
|
@@ -409,6 +452,20 @@ namespace sio
|
|
|
{
|
|
|
return _v;
|
|
|
}
|
|
|
+
|
|
|
+ std::string to_string()const
|
|
|
+ {
|
|
|
+ std::ostringstream ss;
|
|
|
+ ss<<"{";
|
|
|
+ for(auto&it:_v)
|
|
|
+ {
|
|
|
+ ss<<it.first<<":"<<it.second->to_string()<<",";
|
|
|
+ }
|
|
|
+
|
|
|
+ ss<<"}";
|
|
|
+
|
|
|
+ return ss.str();
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
class message::list
|
|
@@ -561,6 +618,20 @@ namespace sio
|
|
|
return arr;
|
|
|
}
|
|
|
|
|
|
+ std::string to_string()const
|
|
|
+ {
|
|
|
+ std::ostringstream ss;
|
|
|
+ ss<<"[";
|
|
|
+ for(size_t i=0;i<size();i++)
|
|
|
+ {
|
|
|
+ ss<<m_vector[i]->to_string()<<",";
|
|
|
+ }
|
|
|
+
|
|
|
+ ss<<"]";
|
|
|
+
|
|
|
+ return ss.str();
|
|
|
+ }
|
|
|
+
|
|
|
private:
|
|
|
std::vector<message::ptr> m_vector;
|
|
|
};
|