MessagePack for C++
Toggle main menu visibility
Loading...
Searching...
No Matches
msgpack
preprocessor
tuple
pop_front.hpp
Go to the documentation of this file.
1
#
/* **************************************************************************
2
# * *
3
# * (C) Copyright Edward Diener 2013.
4
# * Distributed under the Boost Software License, Version 1.0. (See
5
# * accompanying file LICENSE_1_0.txt or copy at
6
# * http://www.boost.org/LICENSE_1_0.txt)
7
# * *
8
# ************************************************************************** */
9
#
10
#
/* See http://www.boost.org for most recent version. */
11
#
12
# ifndef MSGPACK_PREPROCESSOR_TUPLE_POP_FRONT_HPP
13
# define MSGPACK_PREPROCESSOR_TUPLE_POP_FRONT_HPP
14
#
15
# include <
msgpack/preprocessor/config/config.hpp
>
16
#
17
# if MSGPACK_PP_VARIADICS
18
#
19
# include <
msgpack/preprocessor/array/pop_front.hpp
>
20
# include <
msgpack/preprocessor/array/to_tuple.hpp
>
21
# include <
msgpack/preprocessor/comparison/greater.hpp
>
22
# include <
msgpack/preprocessor/control/iif.hpp
>
23
# include <
msgpack/preprocessor/tuple/size.hpp
>
24
# include <
msgpack/preprocessor/tuple/to_array.hpp
>
25
#
26
#
27
#
/* MSGPACK_PP_TUPLE_POP_FRONT */
28
#
29
# define MSGPACK_PP_TUPLE_POP_FRONT(tuple) \
30
MSGPACK_PP_IIF \
31
( \
32
MSGPACK_PP_GREATER(MSGPACK_PP_TUPLE_SIZE(tuple),1), \
33
MSGPACK_PP_TUPLE_POP_FRONT_EXEC, \
34
MSGPACK_PP_TUPLE_POP_FRONT_RETURN \
35
) \
36
(tuple) \
37
/**/
38
#
39
# define MSGPACK_PP_TUPLE_POP_FRONT_EXEC(tuple) \
40
MSGPACK_PP_ARRAY_TO_TUPLE(MSGPACK_PP_ARRAY_POP_FRONT(MSGPACK_PP_TUPLE_TO_ARRAY(tuple))) \
41
/**/
42
#
43
# define MSGPACK_PP_TUPLE_POP_FRONT_RETURN(tuple) tuple
44
#
45
#
/* MSGPACK_PP_TUPLE_POP_FRONT_Z */
46
#
47
# define MSGPACK_PP_TUPLE_POP_FRONT_Z(z, tuple) \
48
MSGPACK_PP_IIF \
49
( \
50
MSGPACK_PP_GREATER(MSGPACK_PP_TUPLE_SIZE(tuple),1), \
51
MSGPACK_PP_TUPLE_POP_FRONT_Z_EXEC, \
52
MSGPACK_PP_TUPLE_POP_FRONT_Z_RETURN \
53
) \
54
(z, tuple) \
55
/**/
56
#
57
# define MSGPACK_PP_TUPLE_POP_FRONT_Z_EXEC(z, tuple) \
58
MSGPACK_PP_ARRAY_TO_TUPLE(MSGPACK_PP_ARRAY_POP_FRONT_Z(z, MSGPACK_PP_TUPLE_TO_ARRAY(tuple))) \
59
/**/
60
#
61
# define MSGPACK_PP_TUPLE_POP_FRONT_Z_RETURN(z, tuple) tuple
62
#
63
# endif
// MSGPACK_PP_VARIADICS
64
#
65
# endif
// MSGPACK_PREPROCESSOR_TUPLE_POP_FRONT_HPP
pop_front.hpp
to_tuple.hpp
config.hpp
greater.hpp
iif.hpp
size.hpp
to_array.hpp
Generated by
1.17.0