Added zero size tuple support.

This commit is contained in:
Takatoshi Kondo
2014-09-14 20:50:57 +09:00
parent 0335df55e1
commit 6e810df2a4
5 changed files with 105 additions and 0 deletions

View File

@@ -109,6 +109,14 @@ struct MsgpackTuplePacker<Stream, Tuple, 1> {
}
};
template <typename Stream, typename Tuple>
struct MsgpackTuplePacker<Stream, Tuple, 0> {
static void pack (
packer<Stream>&,
const Tuple&) {
}
};
template <typename Stream, typename... Args>
const packer<Stream>& operator<< (
packer<Stream>& o,
@@ -139,6 +147,14 @@ struct MsgpackTupleConverter<Tuple, 1> {
}
};
template <typename Tuple>
struct MsgpackTupleConverter<Tuple, 0> {
static void convert (
object const&,
Tuple&) {
}
};
template <typename... Args>
object const& operator>> (
object const& o,
@@ -169,6 +185,14 @@ struct MsgpackTupleToObjectWithZone<Tuple, 1> {
}
};
template <typename Tuple>
struct MsgpackTupleToObjectWithZone<Tuple, 0> {
static void convert (
object::with_zone&,
const Tuple&) {
}
};
template <typename... Args>
inline void operator<< (
object::with_zone& o,