MessagePack for C++
get_data.hpp
Go to the documentation of this file.
1 # /* **************************************************************************
2 # * *
3 # * (C) Copyright Edward Diener 2014. *
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_ARRAY_DETAIL_GET_DATA_HPP
13 # define MSGPACK_PREPROCESSOR_ARRAY_DETAIL_GET_DATA_HPP
14 #
20 #
21 # /* MSGPACK_PP_ARRAY_DETAIL_GET_DATA */
22 #
23 # define MSGPACK_PP_ARRAY_DETAIL_GET_DATA_NONE(size, data)
24 
25 # if MSGPACK_PP_VARIADICS && !(MSGPACK_PP_VARIADICS_MSVC && _MSC_VER <= 1400)
26 # if MSGPACK_PP_VARIADICS_MSVC
27 # define MSGPACK_PP_ARRAY_DETAIL_GET_DATA_ANY_VC_DEFAULT(size, data) MSGPACK_PP_TUPLE_REM(size) data
28 # define MSGPACK_PP_ARRAY_DETAIL_GET_DATA_ANY_VC_CAT(size, data) MSGPACK_PP_TUPLE_REM_CAT(size) data
29 # define MSGPACK_PP_ARRAY_DETAIL_GET_DATA_ANY(size, data) \
30  MSGPACK_PP_IIF \
31  ( \
32  MSGPACK_PP_IS_1(size), \
33  MSGPACK_PP_ARRAY_DETAIL_GET_DATA_ANY_VC_CAT, \
34  MSGPACK_PP_ARRAY_DETAIL_GET_DATA_ANY_VC_DEFAULT \
35  ) \
36  (size,data) \
37 
38 # else
39 # define MSGPACK_PP_ARRAY_DETAIL_GET_DATA_ANY(size, data) MSGPACK_PP_TUPLE_REM(size) data
40 # endif
41 # else
42 # define MSGPACK_PP_ARRAY_DETAIL_GET_DATA_ANY(size, data) MSGPACK_PP_TUPLE_REM(size) data
43 # endif
44 
45 # define MSGPACK_PP_ARRAY_DETAIL_GET_DATA(size, data) \
46  MSGPACK_PP_IF \
47  ( \
48  size, \
49  MSGPACK_PP_ARRAY_DETAIL_GET_DATA_ANY, \
50  MSGPACK_PP_ARRAY_DETAIL_GET_DATA_NONE \
51  ) \
52  (size,data) \
53 
54 #
55 # endif /* MSGPACK_PREPROCESSOR_ARRAY_DETAIL_GET_DATA_HPP */