MessagePack for C++
Toggle main menu visibility
Loading...
Searching...
No Matches
msgpack
v1
adaptor
bool.hpp
Go to the documentation of this file.
1
//
2
// MessagePack for C++ static resolution routine
3
//
4
// Copyright (C) 2008-2016 FURUHASHI Sadayuki
5
//
6
// Distributed under the Boost Software License, Version 1.0.
7
// (See accompanying file LICENSE_1_0.txt or copy at
8
// http://www.boost.org/LICENSE_1_0.txt)
9
//
10
#ifndef MSGPACK_V1_TYPE_BOOL_HPP
11
#define MSGPACK_V1_TYPE_BOOL_HPP
12
13
#include "
msgpack/versioning.hpp
"
14
#include "
msgpack/adaptor/adaptor_base.hpp
"
15
#include "
msgpack/object.hpp
"
16
17
namespace
msgpack
{
18
20
MSGPACK_API_VERSION_NAMESPACE
(v1) {
22
23
namespace
adaptor
{
24
25
template
<>
26
struct
convert
<bool> {
27
msgpack::object
const
&
operator()
(
msgpack::object
const
& o,
bool
& v)
const
{
28
if
(o.
type
!=
msgpack::type::BOOLEAN
) {
throw
msgpack::type_error
(); }
29
v = o.
via
.
boolean
;
30
return
o;
31
}
32
};
33
34
template
<>
35
struct
pack
<bool> {
36
template
<
typename
Stream>
37
msgpack::packer<Stream>
&
operator()
(
msgpack::packer<Stream>
& o,
const
bool
& v)
const
{
38
if
(v) { o.
pack_true
(); }
39
else
{ o.
pack_false
(); }
40
return
o;
41
}
42
};
43
44
template
<>
45
struct
object
<bool> {
46
void
operator()
(
msgpack::object
& o,
bool
v)
const
{
47
o.
type
=
msgpack::type::BOOLEAN
;
48
o.
via
.
boolean
= v;
49
}
50
};
51
52
template
<>
53
struct
object_with_zone
<bool> {
54
void
operator()
(
msgpack::object::with_zone
& o,
bool
v)
const
{
55
static_cast<
msgpack::object
&
>
(o) << v;
56
}
57
};
58
59
}
// namespace adaptor
60
62
}
// MSGPACK_API_VERSION_NAMESPACE(v1)
64
65
}
// namespace msgpack
66
67
#endif
// MSGPACK_V1_TYPE_BOOL_HPP
adaptor_base.hpp
msgpack::packer
The class template that supports continuous packing.
Definition
pack.hpp:33
msgpack::packer::pack_true
packer< Stream > & pack_true()
Packing true.
Definition
pack.hpp:1178
msgpack::packer::pack_false
packer< Stream > & pack_false()
Packing false.
Definition
pack.hpp:1186
msgpack::type_error
Definition
object_fwd.hpp:234
msgpack::adaptor
Definition
adaptor_base.hpp:22
msgpack::type::BOOLEAN
@ BOOLEAN
Definition
object_fwd_decl.hpp:29
msgpack
Definition
adaptor_base.hpp:15
object.hpp
msgpack::adaptor::convert< bool >::operator()
msgpack::object const & operator()(msgpack::object const &o, bool &v) const
Definition
bool.hpp:27
msgpack::adaptor::convert
Definition
adaptor_base.hpp:27
msgpack::adaptor::object< bool >::operator()
void operator()(msgpack::object &o, bool v) const
Definition
bool.hpp:46
msgpack::adaptor::object_with_zone< bool >::operator()
void operator()(msgpack::object::with_zone &o, bool v) const
Definition
bool.hpp:54
msgpack::adaptor::object_with_zone
Definition
adaptor_base.hpp:43
msgpack::adaptor::object
Definition
adaptor_base.hpp:38
msgpack::adaptor::pack< bool >::operator()
msgpack::packer< Stream > & operator()(msgpack::packer< Stream > &o, const bool &v) const
Definition
bool.hpp:37
msgpack::adaptor::pack
Definition
adaptor_base.hpp:32
msgpack::object
Object class that corresponding to MessagePack format object.
Definition
object_fwd.hpp:77
msgpack::object::via
union_type via
Definition
object_fwd.hpp:95
msgpack::object::type
msgpack::type::object_type type
Definition
object_fwd.hpp:94
msgpack::object::with_zone
object_with_zone_type with_zone
Definition
object_fwd.hpp:225
msgpack::object::union_type::boolean
bool boolean
Definition
object_fwd.hpp:79
MSGPACK_API_VERSION_NAMESPACE
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition
versioning.hpp:66
versioning.hpp
Generated by
1.17.0