mechanism uses open-ended array

[SVN r14327]
This commit is contained in:
Paul Mensonides
2002-07-07 22:15:08 +00:00
parent 328a52eaaa
commit 60de301d1f
5 changed files with 115 additions and 45 deletions

View File

@ -8,25 +8,37 @@
# * * # * *
# ************************************************************************** */ # ************************************************************************** */
# #
# line BOOST_PP_DETAIL_LINE() # line BOOST_PP_DETAIL_LINE(_)
# #
# ifdef BOOST_PP_ITERATION_LIMITS # if defined(BOOST_PP_ITERATION_LIMITS)
# ifndef BOOST_PP_FILENAME_1 # if !defined(BOOST_PP_FILENAME_1)
# error BOOST_PP: depth #1 filename is not defined # error BOOST_PP: depth #1 filename is not defined
# endif # endif
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_LIMITS)) >= 3
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_1 0
# endif
# undef BOOST_PP_ITERATION_LIMITS # undef BOOST_PP_ITERATION_LIMITS
# elif defined(BOOST_PP_ITERATION_PARAMS_1) # elif defined(BOOST_PP_ITERATION_PARAMS_1)
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_ITERATION_PARAMS_1) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_PARAMS_1))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_ITERATION_PARAMS_1) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_PARAMS_1))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# define BOOST_PP_FILENAME_1 BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_ITERATION_PARAMS_1) # define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_PARAMS_1))
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_PARAMS_1)) >= 4
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(3, (BOOST_PP_ITERATION_PARAMS_1))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_1 0
# endif
# else # else
# error BOOST_PP: depth #1 iterations boundaries not defined # error BOOST_PP: depth #1 iteration boundaries or filename not defined
# endif # endif
# #
# if BOOST_PP_ITERATION_DEPTH() != 0 # if BOOST_PP_ITERATION_DEPTH() != 0
@ -1335,4 +1347,6 @@
# undef BOOST_PP_ITERATION_FINISH_1 # undef BOOST_PP_ITERATION_FINISH_1
# undef BOOST_PP_FILENAME_1 # undef BOOST_PP_FILENAME_1
# #
# undef BOOST_PP_ITERATION_FLAGS_1
#
# undef BOOST_PP_ITERATION_PARAMS_1 # undef BOOST_PP_ITERATION_PARAMS_1

View File

@ -8,25 +8,37 @@
# * * # * *
# ************************************************************************** */ # ************************************************************************** */
# #
# line BOOST_PP_DETAIL_LINE() # line BOOST_PP_DETAIL_LINE(_)
# #
# ifdef BOOST_PP_ITERATION_LIMITS # if defined(BOOST_PP_ITERATION_LIMITS)
# ifndef BOOST_PP_FILENAME_2 # if !defined(BOOST_PP_FILENAME_2)
# error BOOST_PP: depth #2 filename is not defined # error BOOST_PP: depth #2 filename is not defined
# endif # endif
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_LIMITS)) >= 3
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_2 0
# endif
# undef BOOST_PP_ITERATION_LIMITS # undef BOOST_PP_ITERATION_LIMITS
# elif defined(BOOST_PP_ITERATION_PARAMS_2) # elif defined(BOOST_PP_ITERATION_PARAMS_2)
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_ITERATION_PARAMS_2) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_PARAMS_2))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_ITERATION_PARAMS_2) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_PARAMS_2))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# define BOOST_PP_FILENAME_2 BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_ITERATION_PARAMS_2) # define BOOST_PP_FILENAME_2 BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_PARAMS_2))
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_PARAMS_2)) >= 4
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(3, (BOOST_PP_ITERATION_PARAMS_2))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_2 0
# endif
# else # else
# error BOOST_PP: depth #2 iterations boundaries not defined # error BOOST_PP: depth #2 iteration boundaries or filename not defined
# endif # endif
# #
# if BOOST_PP_ITERATION_DEPTH() != 1 # if BOOST_PP_ITERATION_DEPTH() != 1
@ -1331,4 +1343,6 @@
# undef BOOST_PP_ITERATION_FINISH_2 # undef BOOST_PP_ITERATION_FINISH_2
# undef BOOST_PP_FILENAME_2 # undef BOOST_PP_FILENAME_2
# #
# undef BOOST_PP_ITERATION_FLAGS_2
#
# undef BOOST_PP_ITERATION_PARAMS_2 # undef BOOST_PP_ITERATION_PARAMS_2

View File

@ -8,25 +8,37 @@
# * * # * *
# ************************************************************************** */ # ************************************************************************** */
# #
# line BOOST_PP_DETAIL_LINE() # line BOOST_PP_DETAIL_LINE(_)
# #
# ifdef BOOST_PP_ITERATION_LIMITS # if defined(BOOST_PP_ITERATION_LIMITS)
# ifndef BOOST_PP_FILENAME_3 # if !defined(BOOST_PP_FILENAME_3)
# error BOOST_PP: depth #3 filename is not defined # error BOOST_PP: depth #3 filename is not defined
# endif # endif
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_LIMITS)) >= 3
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_3 0
# endif
# undef BOOST_PP_ITERATION_LIMITS # undef BOOST_PP_ITERATION_LIMITS
# elif defined(BOOST_PP_ITERATION_PARAMS_3) # elif defined(BOOST_PP_ITERATION_PARAMS_3)
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_ITERATION_PARAMS_3) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_PARAMS_3))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_ITERATION_PARAMS_3) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_PARAMS_3))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# define BOOST_PP_FILENAME_3 BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_ITERATION_PARAMS_3) # define BOOST_PP_FILENAME_3 BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_PARAMS_3))
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_PARAMS_3)) >= 4
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(3, (BOOST_PP_ITERATION_PARAMS_3))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_3 0
# endif
# else # else
# error BOOST_PP: depth #3 iterations boundaries not defined # error BOOST_PP: depth #3 iteration boundaries or filename not defined
# endif # endif
# #
# if BOOST_PP_ITERATION_DEPTH() != 2 # if BOOST_PP_ITERATION_DEPTH() != 2
@ -1331,4 +1343,6 @@
# undef BOOST_PP_ITERATION_FINISH_3 # undef BOOST_PP_ITERATION_FINISH_3
# undef BOOST_PP_FILENAME_3 # undef BOOST_PP_FILENAME_3
# #
# undef BOOST_PP_ITERATION_FLAGS_3
#
# undef BOOST_PP_ITERATION_PARAMS_3 # undef BOOST_PP_ITERATION_PARAMS_3

View File

@ -8,25 +8,37 @@
# * * # * *
# ************************************************************************** */ # ************************************************************************** */
# #
# line BOOST_PP_DETAIL_LINE() # line BOOST_PP_DETAIL_LINE(_)
# #
# ifdef BOOST_PP_ITERATION_LIMITS # if defined(BOOST_PP_ITERATION_LIMITS)
# ifndef BOOST_PP_FILENAME_4 # if !defined(BOOST_PP_FILENAME_4)
# error BOOST_PP: depth #4 filename is not defined # error BOOST_PP: depth #4 filename is not defined
# endif # endif
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_LIMITS)) >= 3
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_4 0
# endif
# undef BOOST_PP_ITERATION_LIMITS # undef BOOST_PP_ITERATION_LIMITS
# elif defined(BOOST_PP_ITERATION_PARAMS_4) # elif defined(BOOST_PP_ITERATION_PARAMS_4)
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_ITERATION_PARAMS_4) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_PARAMS_4))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_ITERATION_PARAMS_4) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_PARAMS_4))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# define BOOST_PP_FILENAME_4 BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_ITERATION_PARAMS_4) # define BOOST_PP_FILENAME_4 BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_PARAMS_4))
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_PARAMS_4)) >= 4
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(3, (BOOST_PP_ITERATION_PARAMS_4))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_4 0
# endif
# else # else
# error BOOST_PP: depth #4 iterations boundaries not defined # error BOOST_PP: depth #4 iteration boundaries or filename not defined
# endif # endif
# #
# if BOOST_PP_ITERATION_DEPTH() != 3 # if BOOST_PP_ITERATION_DEPTH() != 3
@ -1331,4 +1343,6 @@
# undef BOOST_PP_ITERATION_FINISH_4 # undef BOOST_PP_ITERATION_FINISH_4
# undef BOOST_PP_FILENAME_4 # undef BOOST_PP_FILENAME_4
# #
# undef BOOST_PP_ITERATION_FLAGS_4
#
# undef BOOST_PP_ITERATION_PARAMS_4 # undef BOOST_PP_ITERATION_PARAMS_4

View File

@ -8,25 +8,37 @@
# * * # * *
# ************************************************************************** */ # ************************************************************************** */
# #
# line BOOST_PP_DETAIL_LINE() # line BOOST_PP_DETAIL_LINE(_)
# #
# ifdef BOOST_PP_ITERATION_LIMITS # if defined(BOOST_PP_ITERATION_LIMITS)
# ifndef BOOST_PP_FILENAME_5 # if !defined(BOOST_PP_FILENAME_5)
# error BOOST_PP: depth #5 filename is not defined # error BOOST_PP: depth #5 filename is not defined
# endif # endif
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_LIMITS)) >= 3
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_LIMITS))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_5 0
# endif
# undef BOOST_PP_ITERATION_LIMITS # undef BOOST_PP_ITERATION_LIMITS
# elif defined(BOOST_PP_ITERATION_PARAMS_5) # elif defined(BOOST_PP_ITERATION_PARAMS_5)
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_ITERATION_PARAMS_5) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, (BOOST_PP_ITERATION_PARAMS_5))
# include BOOST_PP_SET_ITERATION_START() # include BOOST_PP_SET_ITERATION_START()
# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_ITERATION_PARAMS_5) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, (BOOST_PP_ITERATION_PARAMS_5))
# include BOOST_PP_SET_ITERATION_FINISH() # include BOOST_PP_SET_ITERATION_FINISH()
# define BOOST_PP_FILENAME_5 BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_ITERATION_PARAMS_5) # define BOOST_PP_FILENAME_5 BOOST_PP_ARRAY_ELEM(2, (BOOST_PP_ITERATION_PARAMS_5))
# if BOOST_PP_ARRAY_SIZE((BOOST_PP_ITERATION_PARAMS_5)) >= 4
# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(3, (BOOST_PP_ITERATION_PARAMS_5))
# include BOOST_PP_SET_ITERATION_FLAGS()
# else
# define BOOST_PP_ITERATION_FLAGS_5 0
# endif
# else # else
# error BOOST_PP: depth #5 iterations boundaries not defined # error BOOST_PP: depth #5 iteration boundaries or filename not defined
# endif # endif
# #
# if BOOST_PP_ITERATION_DEPTH() != 4 # if BOOST_PP_ITERATION_DEPTH() != 4
@ -1331,4 +1343,6 @@
# undef BOOST_PP_ITERATION_FINISH_5 # undef BOOST_PP_ITERATION_FINISH_5
# undef BOOST_PP_FILENAME_5 # undef BOOST_PP_FILENAME_5
# #
# undef BOOST_PP_ITERATION_FLAGS_5
#
# undef BOOST_PP_ITERATION_PARAMS_5 # undef BOOST_PP_ITERATION_PARAMS_5