Mercurial > embed
comparison msgpack/include/msgpack/preprocessor/iteration/iterate.hpp @ 25:9298566b4708
msgpack: import 2.0.0
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 24 Nov 2016 17:35:14 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
24:067b78703c19 | 25:9298566b4708 |
---|---|
1 # /* ************************************************************************** | |
2 # * * | |
3 # * (C) Copyright Paul Mensonides 2002. | |
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_ITERATION_ITERATE_HPP | |
13 # define MSGPACK_PREPROCESSOR_ITERATION_ITERATE_HPP | |
14 # | |
15 # include <msgpack/preprocessor/arithmetic/dec.hpp> | |
16 # include <msgpack/preprocessor/arithmetic/inc.hpp> | |
17 # include <msgpack/preprocessor/array/elem.hpp> | |
18 # include <msgpack/preprocessor/array/size.hpp> | |
19 # include <msgpack/preprocessor/cat.hpp> | |
20 # include <msgpack/preprocessor/slot/slot.hpp> | |
21 # include <msgpack/preprocessor/tuple/elem.hpp> | |
22 # | |
23 # /* MSGPACK_PP_ITERATION_DEPTH */ | |
24 # | |
25 # define MSGPACK_PP_ITERATION_DEPTH() 0 | |
26 # | |
27 # /* MSGPACK_PP_ITERATION */ | |
28 # | |
29 # define MSGPACK_PP_ITERATION() MSGPACK_PP_CAT(MSGPACK_PP_ITERATION_, MSGPACK_PP_ITERATION_DEPTH()) | |
30 # | |
31 # /* MSGPACK_PP_ITERATION_START && MSGPACK_PP_ITERATION_FINISH */ | |
32 # | |
33 # define MSGPACK_PP_ITERATION_START() MSGPACK_PP_CAT(MSGPACK_PP_ITERATION_START_, MSGPACK_PP_ITERATION_DEPTH()) | |
34 # define MSGPACK_PP_ITERATION_FINISH() MSGPACK_PP_CAT(MSGPACK_PP_ITERATION_FINISH_, MSGPACK_PP_ITERATION_DEPTH()) | |
35 # | |
36 # /* MSGPACK_PP_ITERATION_FLAGS */ | |
37 # | |
38 # define MSGPACK_PP_ITERATION_FLAGS() (MSGPACK_PP_CAT(MSGPACK_PP_ITERATION_FLAGS_, MSGPACK_PP_ITERATION_DEPTH())()) | |
39 # | |
40 # /* MSGPACK_PP_FRAME_ITERATION */ | |
41 # | |
42 # define MSGPACK_PP_FRAME_ITERATION(i) MSGPACK_PP_CAT(MSGPACK_PP_ITERATION_, i) | |
43 # | |
44 # /* MSGPACK_PP_FRAME_START && MSGPACK_PP_FRAME_FINISH */ | |
45 # | |
46 # define MSGPACK_PP_FRAME_START(i) MSGPACK_PP_CAT(MSGPACK_PP_ITERATION_START_, i) | |
47 # define MSGPACK_PP_FRAME_FINISH(i) MSGPACK_PP_CAT(MSGPACK_PP_ITERATION_FINISH_, i) | |
48 # | |
49 # /* MSGPACK_PP_FRAME_FLAGS */ | |
50 # | |
51 # define MSGPACK_PP_FRAME_FLAGS(i) (MSGPACK_PP_CAT(MSGPACK_PP_ITERATION_FLAGS_, i)()) | |
52 # | |
53 # /* MSGPACK_PP_RELATIVE_ITERATION */ | |
54 # | |
55 # define MSGPACK_PP_RELATIVE_ITERATION(i) MSGPACK_PP_CAT(MSGPACK_PP_RELATIVE_, i)(MSGPACK_PP_ITERATION_) | |
56 # | |
57 # define MSGPACK_PP_RELATIVE_0(m) MSGPACK_PP_CAT(m, MSGPACK_PP_ITERATION_DEPTH()) | |
58 # define MSGPACK_PP_RELATIVE_1(m) MSGPACK_PP_CAT(m, MSGPACK_PP_DEC(MSGPACK_PP_ITERATION_DEPTH())) | |
59 # define MSGPACK_PP_RELATIVE_2(m) MSGPACK_PP_CAT(m, MSGPACK_PP_DEC(MSGPACK_PP_DEC(MSGPACK_PP_ITERATION_DEPTH()))) | |
60 # define MSGPACK_PP_RELATIVE_3(m) MSGPACK_PP_CAT(m, MSGPACK_PP_DEC(MSGPACK_PP_DEC(MSGPACK_PP_DEC(MSGPACK_PP_ITERATION_DEPTH())))) | |
61 # define MSGPACK_PP_RELATIVE_4(m) MSGPACK_PP_CAT(m, MSGPACK_PP_DEC(MSGPACK_PP_DEC(MSGPACK_PP_DEC(MSGPACK_PP_DEC(MSGPACK_PP_ITERATION_DEPTH()))))) | |
62 # | |
63 # /* MSGPACK_PP_RELATIVE_START && MSGPACK_PP_RELATIVE_FINISH */ | |
64 # | |
65 # define MSGPACK_PP_RELATIVE_START(i) MSGPACK_PP_CAT(MSGPACK_PP_RELATIVE_, i)(MSGPACK_PP_ITERATION_START_) | |
66 # define MSGPACK_PP_RELATIVE_FINISH(i) MSGPACK_PP_CAT(MSGPACK_PP_RELATIVE_, i)(MSGPACK_PP_ITERATION_FINISH_) | |
67 # | |
68 # /* MSGPACK_PP_RELATIVE_FLAGS */ | |
69 # | |
70 # define MSGPACK_PP_RELATIVE_FLAGS(i) (MSGPACK_PP_CAT(MSGPACK_PP_RELATIVE_, i)(MSGPACK_PP_ITERATION_FLAGS_)()) | |
71 # | |
72 # /* MSGPACK_PP_ITERATE */ | |
73 # | |
74 # define MSGPACK_PP_ITERATE() MSGPACK_PP_CAT(MSGPACK_PP_ITERATE_, MSGPACK_PP_INC(MSGPACK_PP_ITERATION_DEPTH())) | |
75 # | |
76 # define MSGPACK_PP_ITERATE_1 <msgpack/preprocessor/iteration/detail/iter/forward1.hpp> | |
77 # define MSGPACK_PP_ITERATE_2 <msgpack/preprocessor/iteration/detail/iter/forward2.hpp> | |
78 # define MSGPACK_PP_ITERATE_3 <msgpack/preprocessor/iteration/detail/iter/forward3.hpp> | |
79 # define MSGPACK_PP_ITERATE_4 <msgpack/preprocessor/iteration/detail/iter/forward4.hpp> | |
80 # define MSGPACK_PP_ITERATE_5 <msgpack/preprocessor/iteration/detail/iter/forward5.hpp> | |
81 # | |
82 # endif |