MessagePack for C++
Loading...
Searching...
No Matches
to_list.hpp
Go to the documentation of this file.
1# /* **************************************************************************
2# * *
3# * (C) Copyright Paul Mensonides 2011. *
4# * (C) Copyright Edward Diener 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_SEQ_TO_LIST_HPP
14# define MSGPACK_PREPROCESSOR_SEQ_TO_LIST_HPP
15#
19#
20# /* MSGPACK_PP_SEQ_TO_LIST */
21#
22# if MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_MSVC()
25# define MSGPACK_PP_SEQ_TO_LIST(seq) \
26 MSGPACK_PP_SEQ_DETAIL_TO_LIST_MSVC \
27 ( \
28 MSGPACK_PP_SEQ_TO_LIST_I(MSGPACK_PP_SEQ_BINARY_TRANSFORM(seq)), \
29 MSGPACK_PP_SEQ_SIZE(seq) \
30 ) \
31
32# else
33# define MSGPACK_PP_SEQ_TO_LIST(seq) MSGPACK_PP_SEQ_TO_LIST_I(MSGPACK_PP_SEQ_BINARY_TRANSFORM(seq))
34# endif
35# define MSGPACK_PP_SEQ_TO_LIST_I(bseq) MSGPACK_PP_SEQ_TO_LIST_A bseq MSGPACK_PP_NIL MSGPACK_PP_SEQ_TO_LIST_B bseq
36# define MSGPACK_PP_SEQ_TO_LIST_A(m, e) m(MSGPACK_PP_LPAREN() e MSGPACK_PP_COMMA() MSGPACK_PP_SEQ_TO_LIST_A_ID)
37# define MSGPACK_PP_SEQ_TO_LIST_A_ID() MSGPACK_PP_SEQ_TO_LIST_A
38# define MSGPACK_PP_SEQ_TO_LIST_B(m, e) m(MSGPACK_PP_RPAREN() MSGPACK_PP_SEQ_TO_LIST_B_ID)
39# define MSGPACK_PP_SEQ_TO_LIST_B_ID() MSGPACK_PP_SEQ_TO_LIST_B
40#
41# endif