summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorfrsyuki <frsyuki@users.sourceforge.jp>2009-08-10 22:16:44 +0900
committerfrsyuki <frsyuki@users.sourceforge.jp>2009-08-10 22:16:44 +0900
commit92952f656691f5907e00c0a5ab45e3423d5429cb (patch)
tree8899eeb45be46c706623fdf5c52f504022313b74 /cpp
parenta62a5d6c69837e474f9cc7260017de3fe61a92eb (diff)
downloadmsgpack-python-92952f656691f5907e00c0a5ab45e3423d5429cb.tar.gz
c++: fix object >> std::string
Diffstat (limited to 'cpp')
-rw-r--r--cpp/type/bool.hpp1
-rw-r--r--cpp/type/set.hpp1
-rw-r--r--cpp/type/string.hpp5
3 files changed, 2 insertions, 5 deletions
diff --git a/cpp/type/bool.hpp b/cpp/type/bool.hpp
index f3ac6fa..b945d85 100644
--- a/cpp/type/bool.hpp
+++ b/cpp/type/bool.hpp
@@ -31,7 +31,6 @@ inline bool& operator>> (object o, bool& v)
return v;
}
-
template <typename Stream>
inline packer<Stream>& operator<< (packer<Stream>& o, const bool& v)
{
diff --git a/cpp/type/set.hpp b/cpp/type/set.hpp
index 3f1920a..11db2b3 100644
--- a/cpp/type/set.hpp
+++ b/cpp/type/set.hpp
@@ -37,7 +37,6 @@ inline std::set<T>& operator>> (object o, std::set<T>& v)
return v;
}
-
template <typename Stream, typename T>
inline packer<Stream>& operator<< (packer<Stream>& o, const std::set<T>& v)
{
diff --git a/cpp/type/string.hpp b/cpp/type/string.hpp
index 2a23058..a085d53 100644
--- a/cpp/type/string.hpp
+++ b/cpp/type/string.hpp
@@ -26,9 +26,8 @@ namespace msgpack {
inline std::string& operator>> (object o, std::string& v)
{
- type::raw_ref r;
- o >> r;
- v.assign(r.ptr, r.size);
+ if(o.type != type::RAW) { throw type_error(); }
+ v.assign(o.via.raw.ptr, o.via.raw.size);
return v;
}