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

@@ -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,