diff --git a/include/msgpack/adaptor/char_ptr.hpp b/include/msgpack/adaptor/char_ptr.hpp index dca1acff..7a8c5cd2 100644 --- a/include/msgpack/adaptor/char_ptr.hpp +++ b/include/msgpack/adaptor/char_ptr.hpp @@ -53,6 +53,22 @@ inline void operator<< (object& o, const char* v) o.via.str.size = static_cast(size); } +template +inline packer& operator<< (packer& o, char* v) +{ + return msgpack::operator<<(o, static_cast(v)); +} + +inline void operator<< (object::with_zone& o, char* v) +{ + msgpack::operator<<(o, static_cast(v)); +} + +inline void operator<< (object& o, char* v) +{ + msgpack::operator<<(o, static_cast(v)); +} + } // MSGPACK_API_VERSION_NAMESPACE(v1) } // namespace msgpack diff --git a/include/msgpack/adaptor/char_ptr_fwd.hpp b/include/msgpack/adaptor/char_ptr_fwd.hpp index f6290e6a..7d044456 100644 --- a/include/msgpack/adaptor/char_ptr_fwd.hpp +++ b/include/msgpack/adaptor/char_ptr_fwd.hpp @@ -31,6 +31,11 @@ packer& operator<< (packer& o, const char* v); void operator<< (object::with_zone& o, const char* v); void operator<< (object& o, const char* v); +template +packer& operator<< (packer& o, char* v); +void operator<< (object::with_zone& o, char* v); +void operator<< (object& o, char* v); + } // MSGPACK_API_VERSION_NAMESPACE(v1) } // namespace msgpack