forked from boostorg/preprocessor
Updates for empty variadic data.
This commit is contained in:
@ -17,9 +17,11 @@
|
|||||||
#
|
#
|
||||||
# include <boost/preprocessor/cat.hpp>
|
# include <boost/preprocessor/cat.hpp>
|
||||||
# include <boost/preprocessor/config/config.hpp>
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/control/if.hpp>
|
||||||
# include <boost/preprocessor/facilities/overload.hpp>
|
# include <boost/preprocessor/facilities/overload.hpp>
|
||||||
# include <boost/preprocessor/tuple/size.hpp>
|
# include <boost/preprocessor/tuple/size.hpp>
|
||||||
# include <boost/preprocessor/variadic/size.hpp>
|
# include <boost/preprocessor/variadic/size.hpp>
|
||||||
|
# include <boost/preprocessor/variadic/has_opt.hpp>
|
||||||
#
|
#
|
||||||
# /* BOOST_PP_TUPLE_REVERSE */
|
# /* BOOST_PP_TUPLE_REVERSE */
|
||||||
#
|
#
|
||||||
@ -31,7 +33,12 @@
|
|||||||
# define BOOST_PP_TUPLE_REVERSE_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_REVERSE_, BOOST_PP_TUPLE_SIZE(tuple)) tuple
|
# define BOOST_PP_TUPLE_REVERSE_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_REVERSE_, BOOST_PP_TUPLE_SIZE(tuple)) tuple
|
||||||
# else
|
# else
|
||||||
# define BOOST_PP_TUPLE_REVERSE(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REVERSE_O_, __VA_ARGS__)(__VA_ARGS__)
|
# define BOOST_PP_TUPLE_REVERSE(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REVERSE_O_, __VA_ARGS__)(__VA_ARGS__)
|
||||||
# define BOOST_PP_TUPLE_REVERSE_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_REVERSE_, BOOST_PP_VARIADIC_SIZE tuple) tuple
|
# if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
# define BOOST_PP_TUPLE_REVERSE_O_1(tuple) BOOST_PP_TUPLE_REVERSE_O_1_SIZE(BOOST_PP_VARIADIC_SIZE tuple,tuple)
|
||||||
|
# define BOOST_PP_TUPLE_REVERSE_O_1_SIZE(size,tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_REVERSE_, BOOST_PP_IF(size,size,1)) tuple
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_TUPLE_REVERSE_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_REVERSE_, BOOST_PP_VARIADIC_SIZE tuple) tuple
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
# define BOOST_PP_TUPLE_REVERSE_O_2(size, tuple) BOOST_PP_TUPLE_REVERSE_O_1(tuple)
|
# define BOOST_PP_TUPLE_REVERSE_O_2(size, tuple) BOOST_PP_TUPLE_REVERSE_O_1(tuple)
|
||||||
# else
|
# else
|
||||||
|
@ -17,9 +17,11 @@
|
|||||||
#
|
#
|
||||||
# include <boost/preprocessor/cat.hpp>
|
# include <boost/preprocessor/cat.hpp>
|
||||||
# include <boost/preprocessor/config/config.hpp>
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/control/if.hpp>
|
||||||
# include <boost/preprocessor/facilities/overload.hpp>
|
# include <boost/preprocessor/facilities/overload.hpp>
|
||||||
# include <boost/preprocessor/tuple/size.hpp>
|
# include <boost/preprocessor/tuple/size.hpp>
|
||||||
# include <boost/preprocessor/variadic/size.hpp>
|
# include <boost/preprocessor/variadic/size.hpp>
|
||||||
|
# include <boost/preprocessor/variadic/has_opt.hpp>
|
||||||
#
|
#
|
||||||
# /* BOOST_PP_TUPLE_TO_LIST */
|
# /* BOOST_PP_TUPLE_TO_LIST */
|
||||||
#
|
#
|
||||||
@ -31,7 +33,12 @@
|
|||||||
# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_TUPLE_SIZE(tuple)) tuple
|
# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_TUPLE_SIZE(tuple)) tuple
|
||||||
# else
|
# else
|
||||||
# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__)(__VA_ARGS__)
|
# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__)(__VA_ARGS__)
|
||||||
# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_VARIADIC_SIZE tuple) tuple
|
# if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_TUPLE_TO_LIST_O_1_SIZE(BOOST_PP_VARIADIC_SIZE tuple, tuple)
|
||||||
|
# define BOOST_PP_TUPLE_TO_LIST_O_1_SIZE(size,tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_IF(size,size,1)) tuple
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_VARIADIC_SIZE tuple) tuple
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
# define BOOST_PP_TUPLE_TO_LIST_O_2(size, tuple) BOOST_PP_TUPLE_TO_LIST_O_1(tuple)
|
# define BOOST_PP_TUPLE_TO_LIST_O_2(size, tuple) BOOST_PP_TUPLE_TO_LIST_O_1(tuple)
|
||||||
# else
|
# else
|
||||||
|
@ -17,9 +17,11 @@
|
|||||||
#
|
#
|
||||||
# include <boost/preprocessor/cat.hpp>
|
# include <boost/preprocessor/cat.hpp>
|
||||||
# include <boost/preprocessor/config/config.hpp>
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/control/if.hpp>
|
||||||
# include <boost/preprocessor/facilities/overload.hpp>
|
# include <boost/preprocessor/facilities/overload.hpp>
|
||||||
# include <boost/preprocessor/tuple/size.hpp>
|
# include <boost/preprocessor/tuple/size.hpp>
|
||||||
# include <boost/preprocessor/variadic/size.hpp>
|
# include <boost/preprocessor/variadic/size.hpp>
|
||||||
|
# include <boost/preprocessor/variadic/has_opt.hpp>
|
||||||
#
|
#
|
||||||
# /* BOOST_PP_TUPLE_TO_SEQ */
|
# /* BOOST_PP_TUPLE_TO_SEQ */
|
||||||
#
|
#
|
||||||
@ -31,7 +33,12 @@
|
|||||||
# define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_TUPLE_SIZE(tuple)) tuple
|
# define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_TUPLE_SIZE(tuple)) tuple
|
||||||
# else
|
# else
|
||||||
# define BOOST_PP_TUPLE_TO_SEQ(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_SEQ_O_, __VA_ARGS__)(__VA_ARGS__)
|
# define BOOST_PP_TUPLE_TO_SEQ(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_SEQ_O_, __VA_ARGS__)(__VA_ARGS__)
|
||||||
# define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_VARIADIC_SIZE tuple) tuple
|
# if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
# define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_TUPLE_TO_SEQ_O_1_SIZE(BOOST_PP_VARIADIC_SIZE tuple, tuple)
|
||||||
|
# define BOOST_PP_TUPLE_TO_SEQ_O_1_SIZE(size,tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_IF(size,size,1)) tuple
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_VARIADIC_SIZE tuple) tuple
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
# define BOOST_PP_TUPLE_TO_SEQ_O_2(size, tuple) BOOST_PP_TUPLE_TO_SEQ_O_1(tuple)
|
# define BOOST_PP_TUPLE_TO_SEQ_O_2(size, tuple) BOOST_PP_TUPLE_TO_SEQ_O_1(tuple)
|
||||||
# else
|
# else
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
# define BOOST_PREPROCESSOR_VARIADIC_SIZE_128_HPP
|
# define BOOST_PREPROCESSOR_VARIADIC_SIZE_128_HPP
|
||||||
#
|
#
|
||||||
# if BOOST_PP_VARIADICS_MSVC
|
# if BOOST_PP_VARIADICS_MSVC
|
||||||
# define BOOST_PP_VARIADIC_SIZE(...) \
|
# define BOOST_PP_VARIADIC_DO_SIZE(...) \
|
||||||
BOOST_PP_CAT \
|
BOOST_PP_CAT \
|
||||||
( \
|
( \
|
||||||
BOOST_PP_VARIADIC_SIZE_I \
|
BOOST_PP_VARIADIC_SIZE_I \
|
||||||
@ -28,7 +28,7 @@
|
|||||||
) \
|
) \
|
||||||
/**/
|
/**/
|
||||||
# else
|
# else
|
||||||
# define BOOST_PP_VARIADIC_SIZE(...) \
|
# define BOOST_PP_VARIADIC_DO_SIZE(...) \
|
||||||
BOOST_PP_VARIADIC_SIZE_I \
|
BOOST_PP_VARIADIC_SIZE_I \
|
||||||
( \
|
( \
|
||||||
__VA_ARGS__, \
|
__VA_ARGS__, \
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
# define BOOST_PREPROCESSOR_VARIADIC_SIZE_256_HPP
|
# define BOOST_PREPROCESSOR_VARIADIC_SIZE_256_HPP
|
||||||
#
|
#
|
||||||
# if BOOST_PP_VARIADICS_MSVC
|
# if BOOST_PP_VARIADICS_MSVC
|
||||||
# define BOOST_PP_VARIADIC_SIZE(...) \
|
# define BOOST_PP_VARIADIC_DO_SIZE(...) \
|
||||||
BOOST_PP_CAT \
|
BOOST_PP_CAT \
|
||||||
( \
|
( \
|
||||||
BOOST_PP_VARIADIC_SIZE_I \
|
BOOST_PP_VARIADIC_SIZE_I \
|
||||||
@ -30,7 +30,7 @@
|
|||||||
) \
|
) \
|
||||||
/**/
|
/**/
|
||||||
# else
|
# else
|
||||||
# define BOOST_PP_VARIADIC_SIZE(...) \
|
# define BOOST_PP_VARIADIC_DO_SIZE(...) \
|
||||||
BOOST_PP_VARIADIC_SIZE_I \
|
BOOST_PP_VARIADIC_SIZE_I \
|
||||||
( \
|
( \
|
||||||
__VA_ARGS__, \
|
__VA_ARGS__, \
|
||||||
|
@ -14,9 +14,9 @@
|
|||||||
# define BOOST_PREPROCESSOR_VARIADIC_SIZE_64_HPP
|
# define BOOST_PREPROCESSOR_VARIADIC_SIZE_64_HPP
|
||||||
#
|
#
|
||||||
# if BOOST_PP_VARIADICS_MSVC
|
# if BOOST_PP_VARIADICS_MSVC
|
||||||
# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
|
# define BOOST_PP_VARIADIC_DO_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
|
||||||
# else
|
# else
|
||||||
# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
|
# define BOOST_PP_VARIADIC_DO_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
|
||||||
# endif
|
# endif
|
||||||
# define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
|
# define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
|
||||||
#
|
#
|
||||||
|
@ -17,11 +17,20 @@
|
|||||||
#
|
#
|
||||||
# include <boost/preprocessor/cat.hpp>
|
# include <boost/preprocessor/cat.hpp>
|
||||||
# include <boost/preprocessor/config/config.hpp>
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/control/iif.hpp>
|
||||||
|
# include <boost/preprocessor/facilities/check_empty.hpp>
|
||||||
#
|
#
|
||||||
# /* BOOST_PP_VARIADIC_SIZE */
|
# /* BOOST_PP_VARIADIC_SIZE */
|
||||||
#
|
#
|
||||||
# if BOOST_PP_VARIADICS
|
# if BOOST_PP_VARIADICS
|
||||||
#
|
#
|
||||||
|
# if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
# define BOOST_PP_VARIADIC_SIZE_EMPTY(...) 0
|
||||||
|
# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_IIF(BOOST_PP_CHECK_EMPTY(__VA_ARGS__),BOOST_PP_VARIADIC_SIZE_EMPTY,BOOST_PP_VARIADIC_DO_SIZE)(__VA_ARGS__)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_DO_SIZE(__VA_ARGS__)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
# include <boost/preprocessor/config/limits.hpp>
|
# include <boost/preprocessor/config/limits.hpp>
|
||||||
#
|
#
|
||||||
# if BOOST_PP_LIMIT_VARIADIC == 64
|
# if BOOST_PP_LIMIT_VARIADIC == 64
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
# if BOOST_PP_VARIADICS
|
# if BOOST_PP_VARIADICS
|
||||||
# include <boost/preprocessor/variadic/size.hpp>
|
# include <boost/preprocessor/variadic/size.hpp>
|
||||||
# include <boost/preprocessor/variadic/elem.hpp>
|
# include <boost/preprocessor/variadic/elem.hpp>
|
||||||
|
# include <boost/preprocessor/variadic/has_opt.hpp>
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# define ARRAY_EMPTY (0, ())
|
# define ARRAY_EMPTY (0, ())
|
||||||
@ -131,8 +132,17 @@ BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM((5, (0, 1, 2, 3, 4)))) == 5 END
|
|||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_LARGE)) == 33 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_LARGE)) == 33 END
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_VERY_LARGE)) == 64 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_VERY_LARGE)) == 64 END
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM((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
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM((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
|
||||||
|
|
||||||
|
# if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
|
||||||
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_ONE)) == 0 END
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_ONE)) == 1 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_ONE)) == 1 END
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#if BOOST_PP_LIMIT_TUPLE > 64
|
#if BOOST_PP_LIMIT_TUPLE > 64
|
||||||
|
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_LARGE_128)) == 104 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_LARGE_128)) == 104 END
|
||||||
@ -445,7 +455,10 @@ BEGIN BOOST_PP_ARRAY_ELEM(167, BOOST_PP_ARRAY_REPLACE(ARRAY_VERY_LARGE_256, 0, 2
|
|||||||
// reverse
|
// reverse
|
||||||
|
|
||||||
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_REVERSE(ARRAY_VERY_LARGE)) == 64 END
|
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_REVERSE(ARRAY_VERY_LARGE)) == 64 END
|
||||||
BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_REVERSE(ARRAY_ONE))) == 1 END
|
|
||||||
|
// BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_REVERSE(ARRAY_ONE))) == 1 END
|
||||||
|
BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0, ARRAY_ONE)) == 1 END
|
||||||
|
|
||||||
BEGIN BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_REVERSE(ARRAY)) == 2 END
|
BEGIN BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_REVERSE(ARRAY)) == 2 END
|
||||||
BEGIN BOOST_PP_ARRAY_ELEM(29, BOOST_PP_ARRAY_REVERSE(ARRAY_LARGE)) == 3 END
|
BEGIN BOOST_PP_ARRAY_ELEM(29, BOOST_PP_ARRAY_REVERSE(ARRAY_LARGE)) == 3 END
|
||||||
BEGIN BOOST_PP_ARRAY_ELEM(38, BOOST_PP_ARRAY_REVERSE(ARRAY_VERY_LARGE)) == 25 END
|
BEGIN BOOST_PP_ARRAY_ELEM(38, BOOST_PP_ARRAY_REVERSE(ARRAY_VERY_LARGE)) == 25 END
|
||||||
|
10
test/seq.cxx
10
test/seq.cxx
@ -34,6 +34,7 @@
|
|||||||
# include <boost/preprocessor/list/size.hpp>
|
# include <boost/preprocessor/list/size.hpp>
|
||||||
# include <boost/preprocessor/variadic/elem.hpp>
|
# include <boost/preprocessor/variadic/elem.hpp>
|
||||||
# include <boost/preprocessor/variadic/size.hpp>
|
# include <boost/preprocessor/variadic/size.hpp>
|
||||||
|
# include <boost/preprocessor/variadic/has_opt.hpp>
|
||||||
# include <libs/preprocessor/test/test.h>
|
# include <libs/preprocessor/test/test.h>
|
||||||
|
|
||||||
# define SEQ_NONE ()
|
# define SEQ_NONE ()
|
||||||
@ -654,7 +655,16 @@ BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_SEQ_TO_LIST(SEQ_NONE)) == 1 END
|
|||||||
|
|
||||||
#if BOOST_PP_VARIADICS
|
#if BOOST_PP_VARIADICS
|
||||||
|
|
||||||
|
# if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
|
||||||
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_SEQ_ENUM(SEQ_NONE)) == 0 END
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_SEQ_ENUM(SEQ_NONE)) == 1 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_SEQ_ENUM(SEQ_NONE)) == 1 END
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
BEGIN BOOST_PP_VARIADIC_ELEM(0,BOOST_PP_SEQ_ENUM(SEQ)) == 4 END
|
BEGIN BOOST_PP_VARIADIC_ELEM(0,BOOST_PP_SEQ_ENUM(SEQ)) == 4 END
|
||||||
BEGIN BOOST_PP_TUPLE_ELEM(2,BOOST_PP_SEQ_ELEM(0,BOOST_PP_VARIADIC_SEQ_TO_SEQ(SEQVAR))) == 8 END
|
BEGIN BOOST_PP_TUPLE_ELEM(2,BOOST_PP_SEQ_ELEM(0,BOOST_PP_VARIADIC_SEQ_TO_SEQ(SEQVAR))) == 8 END
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# if BOOST_PP_VARIADICS
|
# if BOOST_PP_VARIADICS
|
||||||
# include <boost/preprocessor/variadic/size.hpp>
|
# include <boost/preprocessor/variadic/size.hpp>
|
||||||
# include <boost/preprocessor/variadic/elem.hpp>
|
# include <boost/preprocessor/variadic/elem.hpp>
|
||||||
|
# include <boost/preprocessor/variadic/has_opt.hpp>
|
||||||
# endif
|
# endif
|
||||||
# include <libs/preprocessor/test/test.h>
|
# include <libs/preprocessor/test/test.h>
|
||||||
# include <libs/preprocessor/test/tuple_elem_bug_test.cxx>
|
# include <libs/preprocessor/test/tuple_elem_bug_test.cxx>
|
||||||
@ -361,7 +362,16 @@ BEGIN BOOST_PP_TUPLE_ELEM(212, BOOST_PP_TUPLE_REVERSE(TUPLE_VERY_LARGE_256)) ==
|
|||||||
|
|
||||||
// enum
|
// enum
|
||||||
|
|
||||||
|
# if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
|
||||||
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_NONE)) == 0 END
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_NONE)) == 1 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_NONE)) == 1 END
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE)) == 6 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE)) == 6 END
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_LARGE)) == 33 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_LARGE)) == 33 END
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_VERY_LARGE)) == 64 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_VERY_LARGE)) == 64 END
|
||||||
@ -515,7 +525,16 @@ BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_TUPLE_PUSH_FRONT(TUPLE_VERY_LARGE_255, 4)) ==
|
|||||||
|
|
||||||
#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
|
#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
|
||||||
|
|
||||||
|
# if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
|
||||||
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM(1)()) == 0 END
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM(1)()) == 1 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM(1)()) == 1 END
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
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
|
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
|
||||||
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
|
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
|
||||||
|
|
||||||
@ -535,7 +554,16 @@ BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
|
|||||||
|
|
||||||
// rem_ctor
|
// rem_ctor
|
||||||
|
|
||||||
|
# if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
|
||||||
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_NONE)) == 0 END
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_NONE)) == 1 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_NONE)) == 1 END
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE)) == 6 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE)) == 6 END
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_LARGE)) == 33 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_LARGE)) == 33 END
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_VERY_LARGE)) == 64 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_VERY_LARGE)) == 64 END
|
||||||
|
@ -26,6 +26,12 @@
|
|||||||
#define VDATA_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
|
#define VDATA_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
|
||||||
#define VDATA_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
|
#define VDATA_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
|
||||||
|
|
||||||
|
#if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
|
||||||
|
#define VDATA_EMPTY
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#if BOOST_PP_LIMIT_VARIADIC > 64
|
#if BOOST_PP_LIMIT_VARIADIC > 64
|
||||||
|
|
||||||
#define VDATA_LARGE_128 \
|
#define VDATA_LARGE_128 \
|
||||||
@ -63,6 +69,14 @@ BEGIN BOOST_PP_VARIADIC_SIZE(7,11,3,8,14,85,56,92,165) == 9 END
|
|||||||
BEGIN BOOST_PP_VARIADIC_SIZE(VDATA_LARGE) == 33 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(VDATA_LARGE) == 33 END
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(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
|
BEGIN BOOST_PP_VARIADIC_SIZE(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
|
||||||
BEGIN BOOST_PP_VARIADIC_SIZE(VDATA_VERY_LARGE) == 64 END
|
BEGIN BOOST_PP_VARIADIC_SIZE(VDATA_VERY_LARGE) == 64 END
|
||||||
|
|
||||||
|
#if BOOST_PP_VARIADIC_HAS_OPT()
|
||||||
|
|
||||||
|
BEGIN BOOST_PP_VARIADIC_SIZE(VDATA_EMPTY) == 0 END
|
||||||
|
BEGIN BOOST_PP_VARIADIC_SIZE() == 0 END
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_VARIADIC_TO_ARRAY(VDATA)) == 7 END
|
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_VARIADIC_TO_ARRAY(VDATA)) == 7 END
|
||||||
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_VARIADIC_TO_ARRAY(VDATA_VERY_LARGE)) == 64 END
|
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_VARIADIC_TO_ARRAY(VDATA_VERY_LARGE)) == 64 END
|
||||||
BEGIN BOOST_PP_ARRAY_ELEM(4,BOOST_PP_VARIADIC_TO_ARRAY(7,11,3,8,14,85,56,92,165)) == 14 END
|
BEGIN BOOST_PP_ARRAY_ELEM(4,BOOST_PP_VARIADIC_TO_ARRAY(7,11,3,8,14,85,56,92,165)) == 14 END
|
||||||
|
Reference in New Issue
Block a user