MessagePack for C++
Toggle main menu visibility
Loading...
Searching...
No Matches
msgpack
v1
adaptor
cpp17
byte.hpp
Go to the documentation of this file.
1
//
2
// MessagePack for C++ static resolution routine
3
//
4
// Copyright (C) 2018 KONDO Takatoshi
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_BYTE_HPP
11
#define MSGPACK_V1_TYPE_BYTE_HPP
12
13
#include "
msgpack/cpp_version.hpp
"
14
15
#if MSGPACK_CPP_VERSION >= 201703
16
17
#include "
msgpack/versioning.hpp
"
18
#include "
msgpack/adaptor/adaptor_base.hpp
"
19
#include "
msgpack/object.hpp
"
20
#include "
msgpack/adaptor/adaptor_base.hpp
"
21
#include "
msgpack/adaptor/int_decl.hpp
"
22
#include "
msgpack/object.hpp
"
23
24
#include <cstddef>
25
26
namespace
msgpack
{
27
29
MSGPACK_API_VERSION_NAMESPACE
(v1) {
31
32
namespace
adaptor
{
33
34
template
<>
35
struct
convert
<std::byte> {
36
msgpack::object
const
&
operator()
(msgpack::object
const
& o, std::byte& v)
const
{
37
v =
static_cast<
std::byte
>
(
type::detail::convert_integer<unsigned char>
(o));
38
return
o;
39
}
40
};
41
42
template
<>
43
struct
pack
<std::byte> {
44
template
<
typename
Stream>
45
msgpack::packer<Stream>&
operator()
(msgpack::packer<Stream>& o, std::byte v)
const
{
46
o.
pack_unsigned_char
(
static_cast<
unsigned
char
>
(v));
47
return
o;
48
}
49
};
50
51
template
<>
52
struct
object
<std::byte> {
53
void
operator()
(msgpack::object& o, std::byte v)
const
{
54
o.
type
=
msgpack::type::POSITIVE_INTEGER
;
55
o.
via
.
u64
=
static_cast<
unsigned
char
>
(v);
56
}
57
};
58
59
template
<>
60
struct
object_with_zone
<std::byte> {
61
void
operator()
(
msgpack::object::with_zone
& o,
const
std::byte& v)
const
{
62
static_cast<
msgpack::object&
>
(o) << v;
63
}
64
};
65
66
67
}
// namespace adaptor
68
70
}
// MSGPACK_API_VERSION_NAMESPACE(v1)
72
73
}
// namespace msgpack
74
75
#endif
// MSGPACK_CPP_VERSION >= 201703
76
77
#endif
// MSGPACK_V1_TYPE_BYTE_HPP
adaptor_base.hpp
int_decl.hpp
msgpack::packer::pack_unsigned_char
packer< Stream > & pack_unsigned_char(unsigned char d)
Packing unsigned char.
Definition
pack.hpp:999
cpp_version.hpp
msgpack::adaptor
Definition
adaptor_base.hpp:22
msgpack::type::detail::convert_integer
T convert_integer(msgpack::object const &o)
Definition
int.hpp:61
msgpack::type::POSITIVE_INTEGER
@ POSITIVE_INTEGER
Definition
object_fwd_decl.hpp:30
msgpack
Definition
adaptor_base.hpp:15
object.hpp
msgpack::adaptor::convert
Definition
adaptor_base.hpp:27
msgpack::adaptor::convert::operator()
msgpack::object const & operator()(msgpack::object const &o, T &v) const
Definition
object.hpp:646
msgpack::adaptor::object_with_zone
Definition
adaptor_base.hpp:43
msgpack::adaptor::object_with_zone::operator()
void operator()(msgpack::object::with_zone &o, T const &v) const
Definition
object.hpp:662
msgpack::adaptor::object
Definition
adaptor_base.hpp:38
msgpack::adaptor::object::operator()
void operator()(msgpack::object &o, T const &v) const
msgpack::adaptor::pack
Definition
adaptor_base.hpp:32
msgpack::adaptor::pack::operator()
msgpack::packer< Stream > & operator()(msgpack::packer< Stream > &o, T const &v) const
Definition
object.hpp:655
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::u64
uint64_t u64
Definition
object_fwd.hpp:80
MSGPACK_API_VERSION_NAMESPACE
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition
versioning.hpp:66
versioning.hpp
Generated by
1.17.0