1 # /* **************************************************************************
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)
8 # ************************************************************************** */
10 # /* Revised by Edward Diener (2011,2014) */
12 # /* See http://www.boost.org for most recent version. */
14 # include <boost/preprocessor/cat.hpp>
15 # include <boost/preprocessor/control/if.hpp>
16 # include <boost/preprocessor/tuple.hpp>
17 # include <boost/preprocessor/array/elem.hpp>
18 # include <boost/preprocessor/array/size.hpp>
19 # include <boost/preprocessor/list/at.hpp>
20 # include <boost/preprocessor/list/size.hpp>
21 # include <boost/preprocessor/seq/elem.hpp>
22 # include <boost/preprocessor/seq/size.hpp>
23 # include <boost/preprocessor/facilities/is_empty.hpp>
24 # if BOOST_PP_VARIADICS
25 # include <boost/preprocessor/variadic/size.hpp>
26 # include <boost/preprocessor/variadic/elem.hpp>
28 # include <libs/preprocessor/test/test.h>
29 # include <libs/preprocessor/test/tuple_elem_bug_test.cxx>
31 # define TUPLE (0, 1, 2, 3, 4, 5)
32 # define TUPLE_NONE ()
33 # define TUPLE_LARGE (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
34 # define TUPLE_VERY_LARGE (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
35 # define T2 (+3, /2, +6)
37 #if BOOST_PP_VARIADICS
39 # define CALC(x) BOOST_PP_TUPLE_ELEM(0, x) BOOST_PP_TUPLE_ELEM(1, x) BOOST_PP_TUPLE_ELEM(2, x)
40 # define TEST_EAT BOOST_PP_TUPLE_EAT()(1, 2) 4
41 # define TEST_EAT_NONE BOOST_PP_TUPLE_EAT()() 17
42 # define TEST_EAT_LARGE BOOST_PP_TUPLE_EAT()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) 6
43 # define TEST_EAT_VERY_LARGE BOOST_PP_TUPLE_EAT()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) 8
47 # define CALC(x) BOOST_PP_TUPLE_ELEM(3, 0, x) BOOST_PP_TUPLE_ELEM(3, 1, x) BOOST_PP_TUPLE_ELEM(3, 2, x)
48 # define TEST_EAT BOOST_PP_TUPLE_EAT(2)(1, 2) 4
49 # define TEST_EAT_NONE BOOST_PP_TUPLE_EAT(1)() 17
50 # define TEST_EAT_LARGE BOOST_PP_TUPLE_EAT(33)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) 6
51 # define TEST_EAT_VERY_LARGE BOOST_PP_TUPLE_EAT(64)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) 8
57 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_ELEM(1, 0, TUPLE_NONE
)) == 1 END
58 BEGIN
BOOST_PP_TUPLE_ELEM(6, 3, TUPLE
) == 3 END
59 BEGIN
BOOST_PP_TUPLE_ELEM(6, 5, TUPLE
) == 5 END
60 BEGIN
BOOST_PP_TUPLE_ELEM(33, 15, TUPLE_LARGE
) == 15 END
61 BEGIN
BOOST_PP_TUPLE_ELEM(33, 27, TUPLE_LARGE
) == 27 END
62 BEGIN
BOOST_PP_TUPLE_ELEM(33, 32, TUPLE_LARGE
) == 32 END
63 BEGIN
BOOST_PP_TUPLE_ELEM(64, 22, TUPLE_VERY_LARGE
) == 22 END
64 BEGIN
BOOST_PP_TUPLE_ELEM(64, 47, TUPLE_VERY_LARGE
) == 47 END
65 BEGIN
BOOST_PP_TUPLE_ELEM(64, 63, TUPLE_VERY_LARGE
) == 63 END
69 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_ELEM(1, 0, BOOST_PP_TUPLE_REVERSE(1,TUPLE_NONE
))) == 1 END
70 BEGIN
BOOST_PP_TUPLE_ELEM(6, 2, BOOST_PP_TUPLE_REVERSE(6,TUPLE
)) == 3 END
71 BEGIN
BOOST_PP_TUPLE_ELEM(33, 27, BOOST_PP_TUPLE_REVERSE(33,TUPLE_LARGE
)) == 5 END
72 BEGIN
BOOST_PP_TUPLE_ELEM(64, 43, BOOST_PP_TUPLE_REVERSE(64,TUPLE_VERY_LARGE
)) == 20 END
73 BEGIN
CALC(T2
) == 7 END
74 BEGIN
CALC(BOOST_PP_TUPLE_REVERSE(3, T2
)) == 6 END
78 BEGIN TEST_EAT
== 4 END
79 BEGIN TEST_EAT_NONE
== 17 END
80 BEGIN TEST_EAT_LARGE
== 6 END
81 BEGIN TEST_EAT_VERY_LARGE
== 8 END
85 BEGIN
BOOST_PP_ARRAY_ELEM(3,BOOST_PP_TUPLE_TO_ARRAY(6,TUPLE
)) == 3 END
86 BEGIN
BOOST_PP_ARRAY_ELEM(29,BOOST_PP_TUPLE_TO_ARRAY(33,TUPLE_LARGE
)) == 29 END
87 BEGIN
BOOST_PP_ARRAY_ELEM(61,BOOST_PP_TUPLE_TO_ARRAY(64,TUPLE_VERY_LARGE
)) == 61 END
88 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0,BOOST_PP_TUPLE_TO_ARRAY(1,TUPLE_NONE
))) == 1 END
89 BEGIN
BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_TO_ARRAY(1,TUPLE_NONE
)) == 1 END
93 BEGIN
BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(6,TUPLE
), 2) == 2 END
94 BEGIN
BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(33,TUPLE_LARGE
), 19) == 19 END
95 BEGIN
BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(64,TUPLE_VERY_LARGE
), 62) == 62 END
96 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(1,TUPLE_NONE
), 0)) == 1 END
97 BEGIN
BOOST_PP_LIST_SIZE(BOOST_PP_TUPLE_TO_LIST(1,TUPLE_NONE
)) == 1 END
101 BEGIN
BOOST_PP_SEQ_ELEM(4,BOOST_PP_TUPLE_TO_SEQ(6,TUPLE
)) == 4 END
102 BEGIN
BOOST_PP_SEQ_ELEM(31,BOOST_PP_TUPLE_TO_SEQ(33,TUPLE_LARGE
)) == 31 END
103 BEGIN
BOOST_PP_SEQ_ELEM(55,BOOST_PP_TUPLE_TO_SEQ(64,TUPLE_VERY_LARGE
)) == 55 END
104 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_SEQ_ELEM(0,BOOST_PP_TUPLE_TO_SEQ(1,TUPLE_NONE
))) == 1 END
105 BEGIN
BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_TO_SEQ(1,TUPLE_NONE
)) == 1 END
107 #if BOOST_PP_VARIADICS
111 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_ELEM(0, TUPLE_NONE
)) == 1 END
112 BEGIN
BOOST_PP_TUPLE_ELEM(3, TUPLE
) == 3 END
113 BEGIN
BOOST_PP_TUPLE_ELEM(5, TUPLE
) == 5 END
114 BEGIN
BOOST_PP_TUPLE_ELEM(15, TUPLE_LARGE
) == 15 END
115 BEGIN
BOOST_PP_TUPLE_ELEM(27, TUPLE_LARGE
) == 27 END
116 BEGIN
BOOST_PP_TUPLE_ELEM(32, TUPLE_LARGE
) == 32 END
117 BEGIN
BOOST_PP_TUPLE_ELEM(22, TUPLE_VERY_LARGE
) == 22 END
118 BEGIN
BOOST_PP_TUPLE_ELEM(47, TUPLE_VERY_LARGE
) == 47 END
119 BEGIN
BOOST_PP_TUPLE_ELEM(63, TUPLE_VERY_LARGE
) == 63 END
123 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_REVERSE(TUPLE_NONE
))) == 1 END
124 BEGIN
BOOST_PP_TUPLE_ELEM(2, BOOST_PP_TUPLE_REVERSE(TUPLE
)) == 3 END
125 BEGIN
BOOST_PP_TUPLE_ELEM(27, BOOST_PP_TUPLE_REVERSE(TUPLE_LARGE
)) == 5 END
126 BEGIN
BOOST_PP_TUPLE_ELEM(43, BOOST_PP_TUPLE_REVERSE(TUPLE_VERY_LARGE
)) == 20 END
127 BEGIN
CALC(BOOST_PP_TUPLE_REVERSE(T2
)) == 6 END
128 BEGIN
BOOST_PP_VARIADIC_ELEM(2,BOOST_PP_TUPLE_ENUM(BOOST_PP_TUPLE_REVERSE(TUPLE
))) == 3 END
129 BEGIN
BOOST_PP_VARIADIC_ELEM(27,BOOST_PP_TUPLE_ENUM(BOOST_PP_TUPLE_REVERSE(TUPLE_LARGE
))) == 5 END
130 BEGIN
BOOST_PP_VARIADIC_ELEM(45,BOOST_PP_TUPLE_ENUM(BOOST_PP_TUPLE_REVERSE(TUPLE_VERY_LARGE
))) == 18 END
134 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_NONE
)) == 1 END
135 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE
)) == 6 END
136 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_LARGE
)) == 33 END
137 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_VERY_LARGE
)) == 64 END
141 BEGIN
BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_INSERT(TUPLE_NONE
,0,40)) == 40 END
142 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_INSERT(TUPLE_NONE
,0,40)) == 2 END
144 BEGIN
BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_INSERT(TUPLE
,2,40)) == 0 END
145 BEGIN
BOOST_PP_TUPLE_ELEM(1, BOOST_PP_TUPLE_INSERT(TUPLE
,1,40)) == 40 END
146 BEGIN
BOOST_PP_TUPLE_ELEM(2, BOOST_PP_TUPLE_INSERT(TUPLE
,1,40)) == 1 END
147 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_INSERT(TUPLE
,1,40)) == 7 END
149 BEGIN
BOOST_PP_TUPLE_ELEM(8, BOOST_PP_TUPLE_INSERT(TUPLE_LARGE
,22,1000)) == 8 END
150 BEGIN
BOOST_PP_TUPLE_ELEM(22, BOOST_PP_TUPLE_INSERT(TUPLE_LARGE
,22,1000)) == 1000 END
151 BEGIN
BOOST_PP_TUPLE_ELEM(26, BOOST_PP_TUPLE_INSERT(TUPLE_LARGE
,22,1000)) == 25 END
152 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_INSERT(TUPLE_LARGE
,22,1000)) == 34 END
156 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_POP_BACK(TUPLE
)) == 5 END
157 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_POP_BACK(TUPLE_LARGE
)) == 32 END
158 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_POP_BACK(TUPLE_VERY_LARGE
)) == 63 END
162 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_POP_FRONT(TUPLE
)) == 5 END
163 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_POP_FRONT(TUPLE_LARGE
)) == 32 END
164 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_POP_FRONT(TUPLE_VERY_LARGE
)) == 63 END
166 BEGIN
BOOST_PP_TUPLE_ELEM(1, BOOST_PP_TUPLE_POP_FRONT(TUPLE
)) == 2 END
167 BEGIN
BOOST_PP_TUPLE_ELEM(31, BOOST_PP_TUPLE_POP_FRONT(TUPLE_LARGE
)) == 32 END
168 BEGIN
BOOST_PP_TUPLE_ELEM(55, BOOST_PP_TUPLE_POP_FRONT(TUPLE_VERY_LARGE
)) == 56 END
172 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_PUSH_BACK(TUPLE_NONE
, 1)) == 2 END
173 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_PUSH_BACK(TUPLE
, 6)) == 7 END
174 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_PUSH_BACK(TUPLE_LARGE
, 33)) == 34 END
175 BEGIN
BOOST_PP_TUPLE_ELEM(1, BOOST_PP_TUPLE_PUSH_BACK(TUPLE_NONE
, 1)) == 1 END
176 BEGIN
BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_PUSH_BACK(TUPLE
, 6)) == 0 END
177 BEGIN
BOOST_PP_TUPLE_ELEM(33, BOOST_PP_TUPLE_PUSH_BACK(TUPLE_LARGE
, 33)) == 33 END
181 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_PUSH_FRONT(TUPLE_NONE
, 55)) == 2 END
182 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_PUSH_FRONT(TUPLE
, 555)) == 7 END
183 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_PUSH_FRONT(TUPLE_LARGE
, 666)) == 34 END
184 BEGIN
BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_PUSH_FRONT(TUPLE_NONE
, 55)) == 55 END
185 BEGIN
BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_PUSH_FRONT(TUPLE
, 555)) == 555 END
186 BEGIN
BOOST_PP_TUPLE_ELEM(33, BOOST_PP_TUPLE_PUSH_FRONT(TUPLE_LARGE
, 33)) == 32 END
190 #if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
192 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM(1)()) == 1 END
193 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM(33)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)) == 33 END
194 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM(64)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)) == 64 END
198 #if BOOST_PP_VARIADICS_MSVC
199 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_REM_CAT() TUPLE_NONE
) == 1 END
201 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_REM() TUPLE_NONE
) == 1 END
204 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM()(0, 1, 2, 3, 4, 5)) == 6 END
205 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)) == 33 END
206 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)) == 64 END
212 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_NONE
)) == 1 END
213 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE
)) == 6 END
214 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_LARGE
)) == 33 END
215 BEGIN
BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_VERY_LARGE
)) == 64 END
219 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REMOVE(TUPLE
, 1)) == 5 END
220 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REMOVE(TUPLE_LARGE
, 17)) == 32 END
221 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REMOVE(TUPLE_VERY_LARGE
, 27)) == 63 END
222 BEGIN
BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_REMOVE(TUPLE
, 2)) == 0 END
223 BEGIN
BOOST_PP_TUPLE_ELEM(29, BOOST_PP_TUPLE_REMOVE(TUPLE_LARGE
, 25)) == 30 END
224 BEGIN
BOOST_PP_TUPLE_ELEM(62, BOOST_PP_TUPLE_REMOVE(TUPLE_VERY_LARGE
, 48)) == 63 END
228 BEGIN
BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_REPLACE(TUPLE_VERY_LARGE
, 27, 1000)) == 64 END
229 BEGIN
BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_REPLACE(TUPLE_NONE
, 0, 71)) == 71 END
230 BEGIN
BOOST_PP_TUPLE_ELEM(0, BOOST_PP_TUPLE_REPLACE(TUPLE
, 1, 44)) == 0 END
231 BEGIN
BOOST_PP_TUPLE_ELEM(29, BOOST_PP_TUPLE_REPLACE(TUPLE_LARGE
, 29, 999)) == 999 END
232 BEGIN
BOOST_PP_TUPLE_ELEM(38, BOOST_PP_TUPLE_REPLACE(TUPLE_VERY_LARGE
, 37, 1)) == 38 END
233 BEGIN
BOOST_PP_TUPLE_ELEM(28, BOOST_PP_TUPLE_REPLACE(TUPLE_VERY_LARGE
, 28, 1)) == 1 END
237 BEGIN
BOOST_PP_TUPLE_SIZE(TUPLE_NONE
) == 1 END
238 BEGIN
BOOST_PP_TUPLE_SIZE(TUPLE
) == 6 END
239 BEGIN
BOOST_PP_TUPLE_SIZE(TUPLE_LARGE
) == 33 END
240 BEGIN
BOOST_PP_TUPLE_SIZE(TUPLE_VERY_LARGE
) == 64 END
244 BEGIN
BOOST_PP_ARRAY_ELEM(3,BOOST_PP_TUPLE_TO_ARRAY(TUPLE
)) == 3 END
245 BEGIN
BOOST_PP_ARRAY_ELEM(29,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_LARGE
)) == 29 END
246 BEGIN
BOOST_PP_ARRAY_ELEM(61,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_VERY_LARGE
)) == 61 END
247 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_NONE
))) == 1 END
248 BEGIN
BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_TO_ARRAY(TUPLE_NONE
)) == 1 END
252 BEGIN
BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE
), 2) == 2 END
253 BEGIN
BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_LARGE
), 19) == 19 END
254 BEGIN
BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_VERY_LARGE
), 62) == 62 END
255 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_NONE
), 0)) == 1 END
256 BEGIN
BOOST_PP_LIST_SIZE(BOOST_PP_TUPLE_TO_LIST(TUPLE_NONE
)) == 1 END
260 BEGIN
BOOST_PP_SEQ_ELEM(4,BOOST_PP_TUPLE_TO_SEQ(TUPLE
)) == 4 END
261 BEGIN
BOOST_PP_SEQ_ELEM(31,BOOST_PP_TUPLE_TO_SEQ(TUPLE_LARGE
)) == 31 END
262 BEGIN
BOOST_PP_SEQ_ELEM(55,BOOST_PP_TUPLE_TO_SEQ(TUPLE_VERY_LARGE
)) == 55 END
263 BEGIN
BOOST_PP_IS_EMPTY(BOOST_PP_SEQ_ELEM(0,BOOST_PP_TUPLE_TO_SEQ(TUPLE_NONE
))) == 1 END
264 BEGIN
BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_TO_SEQ(TUPLE_NONE
)) == 1 END