MessagePack for C++
Toggle main menu visibility
Loading...
Searching...
No Matches
msgpack
preprocessor
tuple
remove.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_REMOVE_HPP
13
# define MSGPACK_PREPROCESSOR_TUPLE_REMOVE_HPP
14
#
15
# include <
msgpack/preprocessor/config/config.hpp
>
16
#
17
# if MSGPACK_PP_VARIADICS
18
#
19
# include <
msgpack/preprocessor/array/remove.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
#
/* MSGPACK_PP_TUPLE_REMOVE */
27
#
28
# define MSGPACK_PP_TUPLE_REMOVE(tuple, i) \
29
MSGPACK_PP_IIF \
30
( \
31
MSGPACK_PP_GREATER(MSGPACK_PP_TUPLE_SIZE(tuple),1), \
32
MSGPACK_PP_TUPLE_REMOVE_EXEC, \
33
MSGPACK_PP_TUPLE_REMOVE_RETURN \
34
) \
35
(tuple, i) \
36
/**/
37
#
38
# define MSGPACK_PP_TUPLE_REMOVE_EXEC(tuple, i) \
39
MSGPACK_PP_ARRAY_TO_TUPLE(MSGPACK_PP_ARRAY_REMOVE(MSGPACK_PP_TUPLE_TO_ARRAY(tuple), i)) \
40
/**/
41
#
42
# define MSGPACK_PP_TUPLE_REMOVE_RETURN(tuple, i) tuple
43
#
44
#
/* MSGPACK_PP_TUPLE_REMOVE_D */
45
#
46
# define MSGPACK_PP_TUPLE_REMOVE_D(d, tuple, i) \
47
MSGPACK_PP_IIF \
48
( \
49
MSGPACK_PP_GREATER_D(d, MSGPACK_PP_TUPLE_SIZE(tuple), 1), \
50
MSGPACK_PP_TUPLE_REMOVE_D_EXEC, \
51
MSGPACK_PP_TUPLE_REMOVE_D_RETURN \
52
) \
53
(d, tuple, i) \
54
/**/
55
#
56
# define MSGPACK_PP_TUPLE_REMOVE_D_EXEC(d, tuple, i) \
57
MSGPACK_PP_ARRAY_TO_TUPLE(MSGPACK_PP_ARRAY_REMOVE_D(d, MSGPACK_PP_TUPLE_TO_ARRAY(tuple), i)) \
58
/**/
59
#
60
# define MSGPACK_PP_TUPLE_REMOVE_D_RETURN(d, tuple, i) tuple
61
#
62
# endif
// MSGPACK_PP_VARIADICS
63
#
64
# endif
// MSGPACK_PREPROCESSOR_TUPLE_REMOVE_HPP
remove.hpp
to_tuple.hpp
config.hpp
greater.hpp
iif.hpp
size.hpp
to_array.hpp
Generated by
1.17.0