mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-04-26 09:45:00 +02:00
Removed object copy in implicit conversion class.
Removed redundant function prototype declaration. Adjusted tab position.
This commit is contained in:
parent
8a08548f36
commit
7593e5ce0e
@ -124,38 +124,6 @@ private:
|
|||||||
with_zone();
|
with_zone();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
bool operator==(const object& x, const object& y);
|
|
||||||
bool operator!=(const object& x, const object& y);
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
bool operator==(const object& x, const T& y);
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
bool operator==(const T& y, const object& x);
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
bool operator!=(const object& x, const T& y);
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
bool operator!=(const T& y, const object& x);
|
|
||||||
|
|
||||||
std::ostream& operator<< (std::ostream& s, const object& o);
|
|
||||||
|
|
||||||
|
|
||||||
// serialize operator
|
|
||||||
template <typename Stream, typename T>
|
|
||||||
packer<Stream>& operator<< (packer<Stream>& o, const T& v);
|
|
||||||
|
|
||||||
// convert operator
|
|
||||||
template <typename T>
|
|
||||||
T& operator>> (object const& o, T& v);
|
|
||||||
|
|
||||||
// deconvert operator
|
|
||||||
template <typename T>
|
|
||||||
void operator<< (object::with_zone& o, const T& v);
|
|
||||||
|
|
||||||
|
|
||||||
struct object::implicit_type {
|
struct object::implicit_type {
|
||||||
implicit_type(object const& o) : obj(o) { }
|
implicit_type(object const& o) : obj(o) { }
|
||||||
~implicit_type() { }
|
~implicit_type() { }
|
||||||
@ -164,7 +132,7 @@ struct object::implicit_type {
|
|||||||
operator T() { return obj.as<T>(); }
|
operator T() { return obj.as<T>(); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
object obj;
|
object const& obj;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -205,6 +173,7 @@ inline object& operator>> (object const& o, object& v)
|
|||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// convert operator
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline T& operator>> (object const& o, T& v)
|
inline T& operator>> (object const& o, T& v)
|
||||||
{
|
{
|
||||||
@ -222,12 +191,14 @@ struct packer_serializer {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// serialize operator
|
||||||
template <typename Stream, typename T>
|
template <typename Stream, typename T>
|
||||||
inline packer<Stream>& operator<< (packer<Stream>& o, const T& v)
|
inline packer<Stream>& operator<< (packer<Stream>& o, const T& v)
|
||||||
{
|
{
|
||||||
return detail::packer_serializer<Stream, T>::pack(o, v);
|
return detail::packer_serializer<Stream, T>::pack(o, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// deconvert operator
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void operator<< (object::with_zone& o, const T& v)
|
void operator<< (object::with_zone& o, const T& v)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user