| 12
 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
 
 |  
#define SUB_REP_COMBINE_B(n, a, arrayB)			\
		(BOOST_PP_CAT(a,						\
			BOOST_PP_ARRAY_ELEM(n, arrayB)))	\
 
 
#define REP_COMBINE_B(z, n, param)				\
		SUB_REP_COMBINE_B(n,					\
			BOOST_PP_TUPLE_ELEM(2, 0, param),	\
			BOOST_PP_TUPLE_ELEM(2, 1, param)	\
		)										\
 
 
#define SUB_REP_COMBINE_A(n, arrayA, arrayB)			\
		BOOST_PP_REPEAT(								\
			BOOST_PP_ARRAY_SIZE(arrayB),				\
			REP_COMBINE_B,								\
			(BOOST_PP_ARRAY_ELEM(n, arrayA), arrayB)	\
		)												\
 
 
#define REP_COMBINE_A(z, n, param)				\
		SUB_REP_COMBINE_A(n,					\
			BOOST_PP_TUPLE_ELEM(2, 0, param),	\
			BOOST_PP_TUPLE_ELEM(2, 1, param)	\
		)										\
 
#define CROSS_COMBINE_ARRAYS(arrayA, arrayB)	\
		BOOST_PP_SEQ_TO_ARRAY(					\
			BOOST_PP_REPEAT(					\
				BOOST_PP_ARRAY_SIZE(arrayA),	\
				REP_COMBINE_A,					\
				(arrayA, arrayB)				\
			)									\
		)										\
 
#define SELF_CROSS_COMBINE_ARRAY(array)			\
		CROSS_COMBINE_ARRAYS(array, array)		\ | 
Partager