MessagePack for C++
Loading...
Searching...
No Matches
cpp11_zone_decl.hpp
Go to the documentation of this file.
1//
2// MessagePack for C++ memory pool
3//
4// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_CPP11_ZONE_DECL_HPP
11#define MSGPACK_V1_CPP11_ZONE_DECL_HPP
12
14
15#include <cstdlib>
16#include <memory>
17#include <vector>
18
20
21#ifndef MSGPACK_ZONE_CHUNK_SIZE
22#define MSGPACK_ZONE_CHUNK_SIZE 8192
23#endif
24
25#ifndef MSGPACK_ZONE_ALIGN
26#define MSGPACK_ZONE_ALIGN sizeof(void*)
27#endif
28
29#if defined(_MSC_VER)
30#define MSGPACK_ZONE_ALIGNOF(type) __alignof(type)
31#else
32#define MSGPACK_ZONE_ALIGNOF(type) __alignof__(type)
33#endif
34// For a compiler that doesn't support __alignof__:
35// #define MSGPACK_ZONE_ALIGNOF(type) MSGPACK_ZONE_ALIGN
36
37namespace msgpack {
38
42
43class zone;
44
45std::size_t aligned_size(
46 std::size_t size,
47 std::size_t align = MSGPACK_ZONE_ALIGN);
48
50} // MSGPACK_API_VERSION_NAMESPACE(v1)
52
53} // namespace msgpack
54
55#endif // MSGPACK_V1_CPP11_ZONE_DECL_HPP
Definition adaptor_base.hpp:15
#define MSGPACK_ZONE_ALIGN
Definition cpp03_zone_decl.hpp:24
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition versioning.hpp:66