Merge pull request #126 from redboltz/add_zero_size_tuple_support

Added zero size tuple support.
This commit is contained in:
Nobuyuki Kubota
2014-09-16 09:23:31 -07:00
5 changed files with 105 additions and 0 deletions
+25
View File
@@ -45,6 +45,15 @@ struct StdTuplePacker<Stream, Tuple, 1> {
}
};
template <typename Stream, typename Tuple>
struct StdTuplePacker<Stream, Tuple, 0> {
static void pack (
packer<Stream>&,
const Tuple&) {
}
};
template <typename Stream, typename... Args>
const packer<Stream>& operator<< (
packer<Stream>& o,
@@ -75,6 +84,14 @@ struct StdTupleConverter<Tuple, 1> {
}
};
template <typename Tuple>
struct StdTupleConverter<Tuple, 0> {
static void convert (
object const&,
Tuple&) {
}
};
template <typename... Args>
object const& operator>> (
object const& o,
@@ -105,6 +122,14 @@ struct StdTupleToObjectWithZone<Tuple, 1> {
}
};
template <typename Tuple>
struct StdTupleToObjectWithZone<Tuple, 0> {
static void convert (
object::with_zone&,
const Tuple&) {
}
};
template <typename... Args>
inline void operator<< (
object::with_zone& o,
@@ -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,