MessagePack for C++
Loading...
Searching...
No Matches
to_list.hpp
Go to the documentation of this file.
1# /* **************************************************************************
2# * *
3# * (C) Copyright Edward Diener 2011. *
4# * (C) Copyright Paul Mensonides 2011. *
5# * Distributed under the Boost Software License, Version 1.0. (See *
6# * accompanying file LICENSE_1_0.txt or copy at *
7# * http://www.boost.org/LICENSE_1_0.txt) *
8# * *
9# ************************************************************************** */
10#
11# /* See http://www.boost.org for most recent version. */
12#
13# ifndef MSGPACK_PREPROCESSOR_ARRAY_TO_LIST_HPP
14# define MSGPACK_PREPROCESSOR_ARRAY_TO_LIST_HPP
15#
21#
22# /* MSGPACK_PP_ARRAY_TO_LIST */
23#
24# define MSGPACK_PP_ARRAY_TO_LIST(array) \
25 MSGPACK_PP_IF \
26 ( \
27 MSGPACK_PP_ARRAY_SIZE(array), \
28 MSGPACK_PP_ARRAY_TO_LIST_DO, \
29 MSGPACK_PP_ARRAY_TO_LIST_EMPTY \
30 ) \
31 (array) \
32
33#
34# define MSGPACK_PP_ARRAY_TO_LIST_EMPTY(array) MSGPACK_PP_NIL
35#
36# if MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_MSVC()
37# define MSGPACK_PP_ARRAY_TO_LIST_DO(array) MSGPACK_PP_ARRAY_TO_LIST_I(MSGPACK_PP_TUPLE_TO_LIST, array)
38# define MSGPACK_PP_ARRAY_TO_LIST_I(m, args) MSGPACK_PP_ARRAY_TO_LIST_II(m, args)
39# define MSGPACK_PP_ARRAY_TO_LIST_II(m, args) MSGPACK_PP_CAT(m ## args,)
40# elif MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_MWCC()
41# define MSGPACK_PP_ARRAY_TO_LIST_DO(array) MSGPACK_PP_ARRAY_TO_LIST_I(array)
42# define MSGPACK_PP_ARRAY_TO_LIST_I(array) MSGPACK_PP_TUPLE_TO_LIST ## array
43# else
44# define MSGPACK_PP_ARRAY_TO_LIST_DO(array) MSGPACK_PP_TUPLE_TO_LIST array
45# endif
46#
47# endif