MessagePack for C++
Loading...
Searching...
No Matches
to_seq.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_SEQ_HPP
14# define MSGPACK_PREPROCESSOR_ARRAY_TO_SEQ_HPP
15#
21#
22# /* MSGPACK_PP_ARRAY_TO_SEQ */
23#
24# define MSGPACK_PP_ARRAY_TO_SEQ(array) \
25 MSGPACK_PP_IF \
26 ( \
27 MSGPACK_PP_ARRAY_SIZE(array), \
28 MSGPACK_PP_ARRAY_TO_SEQ_DO, \
29 MSGPACK_PP_ARRAY_TO_SEQ_EMPTY \
30 ) \
31 (array) \
32
33# define MSGPACK_PP_ARRAY_TO_SEQ_EMPTY(array)
34#
35# if MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_MSVC()
36# define MSGPACK_PP_ARRAY_TO_SEQ_DO(array) MSGPACK_PP_ARRAY_TO_SEQ_I(MSGPACK_PP_TUPLE_TO_SEQ, array)
37# define MSGPACK_PP_ARRAY_TO_SEQ_I(m, args) MSGPACK_PP_ARRAY_TO_SEQ_II(m, args)
38# define MSGPACK_PP_ARRAY_TO_SEQ_II(m, args) MSGPACK_PP_CAT(m ## args,)
39# elif MSGPACK_PP_CONFIG_FLAGS() & MSGPACK_PP_CONFIG_MWCC()
40# define MSGPACK_PP_ARRAY_TO_SEQ_DO(array) MSGPACK_PP_ARRAY_TO_SEQ_I(array)
41# define MSGPACK_PP_ARRAY_TO_SEQ_I(array) MSGPACK_PP_TUPLE_TO_SEQ ## array
42# else
43# define MSGPACK_PP_ARRAY_TO_SEQ_DO(array) MSGPACK_PP_TUPLE_TO_SEQ array
44# endif
45#
46# endif