mirror of
https://github.com/boostorg/move.git
synced 2025-08-03 06:04:26 +02:00
Add new macro utilities useful for tuple and piecewise_construct emulation in Boost.Container.
This commit is contained in:
@@ -64,16 +64,22 @@ namespace move_detail {
|
|||||||
#endif //!defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
#endif //!defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||||
|
|
||||||
//BOOST_MOVE_REPEATN(MACRO)
|
//BOOST_MOVE_REPEATN(MACRO)
|
||||||
|
#define BOOST_MOVE_REPEAT(x, MACRO) BOOST_MOVE_REPEAT_I(x,MACRO)
|
||||||
|
#define BOOST_MOVE_REPEAT_I(x, MACRO) BOOST_MOVE_REPEAT##x(MACRO)
|
||||||
#define BOOST_MOVE_REPEAT0(MACRO)
|
#define BOOST_MOVE_REPEAT0(MACRO)
|
||||||
#define BOOST_MOVE_REPEAT1(MACRO) MACRO
|
#define BOOST_MOVE_REPEAT1(MACRO) MACRO
|
||||||
#define BOOST_MOVE_REPEAT2(MACRO) BOOST_MOVE_REPEAT1(MACRO), MACRO
|
#define BOOST_MOVE_REPEAT2(MACRO) BOOST_MOVE_REPEAT1(MACRO), MACRO
|
||||||
#define BOOST_MOVE_REPEAT3(MACRO) BOOST_MOVE_REPEAT2(MACRO), MACRO
|
#define BOOST_MOVE_REPEAT3(MACRO) BOOST_MOVE_REPEAT2(MACRO), MACRO
|
||||||
#define BOOST_MOVE_REPEAT4(MACRO) BOOST_MOVE_REPEAT3(MACRO), MACRO
|
#define BOOST_MOVE_REPEAT4(MACRO) BOOST_MOVE_REPEAT3(MACRO), MACRO
|
||||||
#define BOOST_MOVE_REPEAT5(MACRO) BOOST_MOVE_REPEAT4(MACRO), MACRO
|
#define BOOST_MOVE_REPEAT5(MACRO) BOOST_MOVE_REPEAT4(MACRO), MACRO
|
||||||
#define BOOST_MOVE_REPEAT6(MACRO) BOOST_MOVE_REPEAT5(MACRO), MACRO
|
#define BOOST_MOVE_REPEAT6(MACRO) BOOST_MOVE_REPEAT5(MACRO), MACRO
|
||||||
#define BOOST_MOVE_REPEAT7(MACRO) BOOST_MOVE_REPEAT6(MACRO), MACRO
|
#define BOOST_MOVE_REPEAT7(MACRO) BOOST_MOVE_REPEAT6(MACRO), MACRO
|
||||||
#define BOOST_MOVE_REPEAT8(MACRO) BOOST_MOVE_REPEAT7(MACRO), MACRO
|
#define BOOST_MOVE_REPEAT8(MACRO) BOOST_MOVE_REPEAT7(MACRO), MACRO
|
||||||
#define BOOST_MOVE_REPEAT9(MACRO) BOOST_MOVE_REPEAT8(MACRO), MACRO
|
#define BOOST_MOVE_REPEAT9(MACRO) BOOST_MOVE_REPEAT8(MACRO), MACRO
|
||||||
|
#define BOOST_MOVE_REPEAT10(MACRO) BOOST_MOVE_REPEAT9(MACRO), MACRO
|
||||||
|
#define BOOST_MOVE_REPEAT11(MACRO) BOOST_MOVE_REPEAT10(MACRO), MACRO
|
||||||
|
#define BOOST_MOVE_REPEAT12(MACRO) BOOST_MOVE_REPEAT11(MACRO), MACRO
|
||||||
|
#define BOOST_MOVE_REPEAT13(MACRO) BOOST_MOVE_REPEAT12(MACRO), MACRO
|
||||||
|
|
||||||
//BOOST_MOVE_FWDN
|
//BOOST_MOVE_FWDN
|
||||||
#define BOOST_MOVE_FWD0
|
#define BOOST_MOVE_FWD0
|
||||||
@@ -99,6 +105,54 @@ namespace move_detail {
|
|||||||
#define BOOST_MOVE_FWDQ8 BOOST_MOVE_FWDQ7, ::boost::forward<Q7>(q7)
|
#define BOOST_MOVE_FWDQ8 BOOST_MOVE_FWDQ7, ::boost::forward<Q7>(q7)
|
||||||
#define BOOST_MOVE_FWDQ9 BOOST_MOVE_FWDQ8, ::boost::forward<Q8>(q8)
|
#define BOOST_MOVE_FWDQ9 BOOST_MOVE_FWDQ8, ::boost::forward<Q8>(q8)
|
||||||
|
|
||||||
|
//BOOST_MOVE_TMPL_GETN
|
||||||
|
#define BOOST_MOVE_TMPL_GET0
|
||||||
|
#define BOOST_MOVE_TMPL_GET1 p.template get<0>()
|
||||||
|
#define BOOST_MOVE_TMPL_GET2 BOOST_MOVE_TMPL_GET1, p.template get<1>()
|
||||||
|
#define BOOST_MOVE_TMPL_GET3 BOOST_MOVE_TMPL_GET2, p.template get<2>()
|
||||||
|
#define BOOST_MOVE_TMPL_GET4 BOOST_MOVE_TMPL_GET3, p.template get<3>()
|
||||||
|
#define BOOST_MOVE_TMPL_GET5 BOOST_MOVE_TMPL_GET4, p.template get<4>()
|
||||||
|
#define BOOST_MOVE_TMPL_GET6 BOOST_MOVE_TMPL_GET5, p.template get<5>()
|
||||||
|
#define BOOST_MOVE_TMPL_GET7 BOOST_MOVE_TMPL_GET6, p.template get<6>()
|
||||||
|
#define BOOST_MOVE_TMPL_GET8 BOOST_MOVE_TMPL_GET7, p.template get<7>()
|
||||||
|
#define BOOST_MOVE_TMPL_GET9 BOOST_MOVE_TMPL_GET8, p.template get<8>()
|
||||||
|
|
||||||
|
//BOOST_MOVE_TMPL_GETQN
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ0
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ1 q.template get<0>()
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ2 BOOST_MOVE_TMPL_GETQ1, q.template get<1>()
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ3 BOOST_MOVE_TMPL_GETQ2, q.template get<2>()
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ4 BOOST_MOVE_TMPL_GETQ3, q.template get<3>()
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ5 BOOST_MOVE_TMPL_GETQ4, q.template get<4>()
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ6 BOOST_MOVE_TMPL_GETQ5, q.template get<5>()
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ7 BOOST_MOVE_TMPL_GETQ6, q.template get<6>()
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ8 BOOST_MOVE_TMPL_GETQ7, q.template get<7>()
|
||||||
|
#define BOOST_MOVE_TMPL_GETQ9 BOOST_MOVE_TMPL_GETQ8, q.template get<8>()
|
||||||
|
|
||||||
|
//BOOST_MOVE_GET_IDXN
|
||||||
|
#define BOOST_MOVE_GET_IDX0
|
||||||
|
#define BOOST_MOVE_GET_IDX1 get<0>(p)
|
||||||
|
#define BOOST_MOVE_GET_IDX2 BOOST_MOVE_GET_IDX1, get<1>(p)
|
||||||
|
#define BOOST_MOVE_GET_IDX3 BOOST_MOVE_GET_IDX2, get<2>(p)
|
||||||
|
#define BOOST_MOVE_GET_IDX4 BOOST_MOVE_GET_IDX3, get<3>(p)
|
||||||
|
#define BOOST_MOVE_GET_IDX5 BOOST_MOVE_GET_IDX4, get<4>(p)
|
||||||
|
#define BOOST_MOVE_GET_IDX6 BOOST_MOVE_GET_IDX5, get<5>(p)
|
||||||
|
#define BOOST_MOVE_GET_IDX7 BOOST_MOVE_GET_IDX6, get<6>(p)
|
||||||
|
#define BOOST_MOVE_GET_IDX8 BOOST_MOVE_GET_IDX7, get<7>(p)
|
||||||
|
#define BOOST_MOVE_GET_IDX9 BOOST_MOVE_GET_IDX8, get<8>(p)
|
||||||
|
|
||||||
|
//BOOST_MOVE_GET_IDXQN
|
||||||
|
#define BOOST_MOVE_GET_IDXQ0
|
||||||
|
#define BOOST_MOVE_GET_IDXQ1 get<0>(q)
|
||||||
|
#define BOOST_MOVE_GET_IDXQ2 BOOST_MOVE_GET_IDXQ1, get<1>(q)
|
||||||
|
#define BOOST_MOVE_GET_IDXQ3 BOOST_MOVE_GET_IDXQ2, get<2>(q)
|
||||||
|
#define BOOST_MOVE_GET_IDXQ4 BOOST_MOVE_GET_IDXQ3, get<3>(q)
|
||||||
|
#define BOOST_MOVE_GET_IDXQ5 BOOST_MOVE_GET_IDXQ4, get<4>(q)
|
||||||
|
#define BOOST_MOVE_GET_IDXQ6 BOOST_MOVE_GET_IDXQ5, get<5>(q)
|
||||||
|
#define BOOST_MOVE_GET_IDXQ7 BOOST_MOVE_GET_IDXQ6, get<6>(q)
|
||||||
|
#define BOOST_MOVE_GET_IDXQ8 BOOST_MOVE_GET_IDXQ7, get<7>(q)
|
||||||
|
#define BOOST_MOVE_GET_IDXQ9 BOOST_MOVE_GET_IDXQ8, get<8>(q)
|
||||||
|
|
||||||
//BOOST_MOVE_ARGN
|
//BOOST_MOVE_ARGN
|
||||||
#define BOOST_MOVE_ARG0
|
#define BOOST_MOVE_ARG0
|
||||||
#define BOOST_MOVE_ARG1 p0
|
#define BOOST_MOVE_ARG1 p0
|
||||||
@@ -572,6 +626,34 @@ namespace move_detail {
|
|||||||
#define BOOST_MOVE_I8 BOOST_MOVE_I1
|
#define BOOST_MOVE_I8 BOOST_MOVE_I1
|
||||||
#define BOOST_MOVE_I9 BOOST_MOVE_I1
|
#define BOOST_MOVE_I9 BOOST_MOVE_I1
|
||||||
|
|
||||||
|
//BOOST_MOVE_BOOL
|
||||||
|
# define BOOST_MOVE_BOOL(x) BOOST_MOVE_BOOL_I(x)
|
||||||
|
# define BOOST_MOVE_BOOL_I(x) BOOST_MOVE_BOOL##x
|
||||||
|
# define BOOST_MOVE_BOOL0 0
|
||||||
|
# define BOOST_MOVE_BOOL1 1
|
||||||
|
# define BOOST_MOVE_BOOL2 1
|
||||||
|
# define BOOST_MOVE_BOOL3 1
|
||||||
|
# define BOOST_MOVE_BOOL4 1
|
||||||
|
# define BOOST_MOVE_BOOL5 1
|
||||||
|
# define BOOST_MOVE_BOOL6 1
|
||||||
|
# define BOOST_MOVE_BOOL7 1
|
||||||
|
# define BOOST_MOVE_BOOL8 1
|
||||||
|
# define BOOST_MOVE_BOOL9 1
|
||||||
|
|
||||||
|
//BOOST_MOVE_I_IF
|
||||||
|
#define BOOST_MOVE_I_IF(x) BOOST_MOVE_I_IF_I (BOOST_MOVE_BOOL(x))
|
||||||
|
#define BOOST_MOVE_I_IF_I(x) BOOST_MOVE_I_IF_I2(x)
|
||||||
|
#define BOOST_MOVE_I_IF_I2(x) BOOST_MOVE_IF_I_##x
|
||||||
|
#define BOOST_MOVE_IF_I_0
|
||||||
|
#define BOOST_MOVE_IF_I_1 ,
|
||||||
|
|
||||||
|
/*
|
||||||
|
#define BOOST_MOVE_I_IF_I(x) BOOST_MOVE_I_IF_I2(BOOST_MOVE_BOOL(x))
|
||||||
|
#define BOOST_MOVE_I_IF_I2(x) BOOST_MOVE_I_##x
|
||||||
|
#define BOOST_MOVE_I_0
|
||||||
|
#define BOOST_MOVE_I_1 ,
|
||||||
|
*/
|
||||||
|
|
||||||
//BOOST_MOVE_COLON
|
//BOOST_MOVE_COLON
|
||||||
#define BOOST_MOVE_COLON0
|
#define BOOST_MOVE_COLON0
|
||||||
#define BOOST_MOVE_COLON1 :
|
#define BOOST_MOVE_COLON1 :
|
||||||
@@ -584,6 +666,103 @@ namespace move_detail {
|
|||||||
#define BOOST_MOVE_COLON8 BOOST_MOVE_COLON1
|
#define BOOST_MOVE_COLON8 BOOST_MOVE_COLON1
|
||||||
#define BOOST_MOVE_COLON9 BOOST_MOVE_COLON1
|
#define BOOST_MOVE_COLON9 BOOST_MOVE_COLON1
|
||||||
|
|
||||||
|
//BOOST_MOVE_BITOR
|
||||||
|
#define BOOST_MOVE_BITOR(x,y) BOOST_MOVE_BITOR_I(x,y)
|
||||||
|
#define BOOST_MOVE_BITOR_I(x,y) BOOST_MOVE_BITOR##x##y
|
||||||
|
#define BOOST_MOVE_BITOR00 0
|
||||||
|
#define BOOST_MOVE_BITOR01 1
|
||||||
|
#define BOOST_MOVE_BITOR10 1
|
||||||
|
#define BOOST_MOVE_BITOR11 1
|
||||||
|
|
||||||
|
//BOOST_MOVE_OR
|
||||||
|
#define BOOST_MOVE_OR(x, y) BOOST_MOVE_OR_I(x, y)
|
||||||
|
#define BOOST_MOVE_OR_I(x, y) BOOST_MOVE_BITOR(BOOST_MOVE_BOOL(x), BOOST_MOVE_BOOL(y))
|
||||||
|
|
||||||
|
//BOOST_MOVE_BITAND
|
||||||
|
#define BOOST_MOVE_BITAND(x,y) BOOST_MOVE_BITAND_I(x,y)
|
||||||
|
#define BOOST_MOVE_BITAND_I(x,y) BOOST_MOVE_BITAND##x##y
|
||||||
|
#define BOOST_MOVE_BITAND00 0
|
||||||
|
#define BOOST_MOVE_BITAND01 0
|
||||||
|
#define BOOST_MOVE_BITAND10 0
|
||||||
|
#define BOOST_MOVE_BITAND11 1
|
||||||
|
|
||||||
|
//BOOST_MOVE_AND
|
||||||
|
#define BOOST_MOVE_AND(x, y) BOOST_MOVE_AND_I(x, y)
|
||||||
|
#define BOOST_MOVE_AND_I(x, y) BOOST_MOVE_BITAND(BOOST_MOVE_BOOL(x), BOOST_MOVE_BOOL(y))
|
||||||
|
|
||||||
|
//BOOST_MOVE_DEC
|
||||||
|
#define BOOST_MOVE_DEC(x) BOOST_MOVE_DEC_I(x)
|
||||||
|
#define BOOST_MOVE_DEC_I(x) BOOST_MOVE_DEC##x
|
||||||
|
#define BOOST_MOVE_DEC1 0
|
||||||
|
#define BOOST_MOVE_DEC2 1
|
||||||
|
#define BOOST_MOVE_DEC3 2
|
||||||
|
#define BOOST_MOVE_DEC4 3
|
||||||
|
#define BOOST_MOVE_DEC5 4
|
||||||
|
#define BOOST_MOVE_DEC6 5
|
||||||
|
#define BOOST_MOVE_DEC7 6
|
||||||
|
#define BOOST_MOVE_DEC8 7
|
||||||
|
#define BOOST_MOVE_DEC9 8
|
||||||
|
#define BOOST_MOVE_DEC10 9
|
||||||
|
#define BOOST_MOVE_DEC11 10
|
||||||
|
#define BOOST_MOVE_DEC12 11
|
||||||
|
#define BOOST_MOVE_DEC13 12
|
||||||
|
#define BOOST_MOVE_DEC14 13
|
||||||
|
|
||||||
|
//BOOST_MOVE_SUB
|
||||||
|
#define BOOST_MOVE_SUB(x, y) BOOST_MOVE_SUB_I(x,y)
|
||||||
|
#define BOOST_MOVE_SUB_I(x, y) BOOST_MOVE_SUB##y(x)
|
||||||
|
#define BOOST_MOVE_SUB0(x) x
|
||||||
|
#define BOOST_MOVE_SUB1(x) BOOST_MOVE_DEC(x)
|
||||||
|
#define BOOST_MOVE_SUB2(x) BOOST_MOVE_SUB1(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB3(x) BOOST_MOVE_SUB2(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB4(x) BOOST_MOVE_SUB3(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB5(x) BOOST_MOVE_SUB4(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB6(x) BOOST_MOVE_SUB5(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB7(x) BOOST_MOVE_SUB6(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB8(x) BOOST_MOVE_SUB7(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB9(x) BOOST_MOVE_SUB8(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB10(x) BOOST_MOVE_SUB9(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB11(x) BOOST_MOVE_SUB10(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB12(x) BOOST_MOVE_SUB11(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB13(x) BOOST_MOVE_SUB12(BOOST_MOVE_DEC(x))
|
||||||
|
#define BOOST_MOVE_SUB14(x) BOOST_MOVE_SUB13(BOOST_MOVE_DEC(x))
|
||||||
|
|
||||||
|
//BOOST_MOVE_INC
|
||||||
|
#define BOOST_MOVE_INC(x) BOOST_MOVE_INC_I(x)
|
||||||
|
#define BOOST_MOVE_INC_I(x) BOOST_MOVE_INC##x
|
||||||
|
#define BOOST_MOVE_INC0 1
|
||||||
|
#define BOOST_MOVE_INC1 2
|
||||||
|
#define BOOST_MOVE_INC2 3
|
||||||
|
#define BOOST_MOVE_INC3 4
|
||||||
|
#define BOOST_MOVE_INC4 5
|
||||||
|
#define BOOST_MOVE_INC5 6
|
||||||
|
#define BOOST_MOVE_INC6 7
|
||||||
|
#define BOOST_MOVE_INC7 8
|
||||||
|
#define BOOST_MOVE_INC8 9
|
||||||
|
#define BOOST_MOVE_INC9 10
|
||||||
|
#define BOOST_MOVE_INC10 11
|
||||||
|
#define BOOST_MOVE_INC11 12
|
||||||
|
#define BOOST_MOVE_INC12 13
|
||||||
|
#define BOOST_MOVE_INC13 14
|
||||||
|
|
||||||
|
//BOOST_MOVE_ADD
|
||||||
|
#define BOOST_MOVE_ADD(x, y) BOOST_MOVE_ADD_I(x,y)
|
||||||
|
#define BOOST_MOVE_ADD_I(x, y) BOOST_MOVE_ADD##y(x)
|
||||||
|
#define BOOST_MOVE_ADD0(x) x
|
||||||
|
#define BOOST_MOVE_ADD1(x) BOOST_MOVE_INC(x)
|
||||||
|
#define BOOST_MOVE_ADD2(x) BOOST_MOVE_ADD1(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD3(x) BOOST_MOVE_ADD2(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD4(x) BOOST_MOVE_ADD3(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD5(x) BOOST_MOVE_ADD4(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD6(x) BOOST_MOVE_ADD5(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD7(x) BOOST_MOVE_ADD6(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD8(x) BOOST_MOVE_ADD7(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD9(x) BOOST_MOVE_ADD8(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD10(x) BOOST_MOVE_ADD9(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD11(x) BOOST_MOVE_ADD10(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD12(x) BOOST_MOVE_ADD11(BOOST_MOVE_INC(x))
|
||||||
|
#define BOOST_MOVE_ADD13(x) BOOST_MOVE_ADD12(BOOST_MOVE_INC(x))
|
||||||
|
|
||||||
//BOOST_MOVE_ITERATE_2TON
|
//BOOST_MOVE_ITERATE_2TON
|
||||||
#define BOOST_MOVE_ITERATE_2TO2(MACROFUNC) MACROFUNC(2)
|
#define BOOST_MOVE_ITERATE_2TO2(MACROFUNC) MACROFUNC(2)
|
||||||
#define BOOST_MOVE_ITERATE_2TO3(MACROFUNC) BOOST_MOVE_ITERATE_2TO2(MACROFUNC) MACROFUNC(3)
|
#define BOOST_MOVE_ITERATE_2TO3(MACROFUNC) BOOST_MOVE_ITERATE_2TO2(MACROFUNC) MACROFUNC(3)
|
||||||
@@ -629,28 +808,34 @@ namespace move_detail {
|
|||||||
#define BOOST_MOVE_ITERATE_8TO8(MACROFUNC) MACROFUNC(8)
|
#define BOOST_MOVE_ITERATE_8TO8(MACROFUNC) MACROFUNC(8)
|
||||||
#define BOOST_MOVE_ITERATE_9TO9(MACROFUNC) MACROFUNC(9)
|
#define BOOST_MOVE_ITERATE_9TO9(MACROFUNC) MACROFUNC(9)
|
||||||
|
|
||||||
//BOOST_MOVE_ITER2D_0TO9
|
//BOOST_MOVE_ITER2D_0TOMAX
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO0(MACROFUNC2D, M) MACROFUNC2D(M, 0)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX0(MACROFUNC2D, M) MACROFUNC2D(M, 0)
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO1(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TO0(MACROFUNC2D, M) MACROFUNC2D(M, 1)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX1(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TOMAX0(MACROFUNC2D, M) MACROFUNC2D(M, 1)
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO2(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TO1(MACROFUNC2D, M) MACROFUNC2D(M, 2)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX2(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TOMAX1(MACROFUNC2D, M) MACROFUNC2D(M, 2)
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO3(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TO2(MACROFUNC2D, M) MACROFUNC2D(M, 3)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX3(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TOMAX2(MACROFUNC2D, M) MACROFUNC2D(M, 3)
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO4(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TO3(MACROFUNC2D, M) MACROFUNC2D(M, 4)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX4(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TOMAX3(MACROFUNC2D, M) MACROFUNC2D(M, 4)
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO5(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TO4(MACROFUNC2D, M) MACROFUNC2D(M, 5)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX5(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TOMAX4(MACROFUNC2D, M) MACROFUNC2D(M, 5)
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO6(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TO5(MACROFUNC2D, M) MACROFUNC2D(M, 6)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX6(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TOMAX5(MACROFUNC2D, M) MACROFUNC2D(M, 6)
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO7(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TO6(MACROFUNC2D, M) MACROFUNC2D(M, 7)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX7(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TOMAX6(MACROFUNC2D, M) MACROFUNC2D(M, 7)
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO8(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TO7(MACROFUNC2D, M) MACROFUNC2D(M, 8)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX8(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TOMAX7(MACROFUNC2D, M) MACROFUNC2D(M, 8)
|
||||||
#define BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TO8(MACROFUNC2D, M) MACROFUNC2D(M, 9)
|
#define BOOST_MOVE_ITER2DLOW_0TOMAX9(MACROFUNC2D, M) BOOST_MOVE_ITER2DLOW_0TOMAX8(MACROFUNC2D, M) MACROFUNC2D(M, 9)
|
||||||
//
|
|
||||||
#define BOOST_MOVE_ITER2D_0TO0(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 0)
|
#define BOOST_MOVE_ITER2D_0TOMAX0(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 0)
|
||||||
#define BOOST_MOVE_ITER2D_0TO1(MACROFUNC2D) BOOST_MOVE_ITER2D_0TO0(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 1)
|
#define BOOST_MOVE_ITER2D_0TOMAX1(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX0(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 1)
|
||||||
#define BOOST_MOVE_ITER2D_0TO2(MACROFUNC2D) BOOST_MOVE_ITER2D_0TO1(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 2)
|
#define BOOST_MOVE_ITER2D_0TOMAX2(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX1(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 2)
|
||||||
#define BOOST_MOVE_ITER2D_0TO3(MACROFUNC2D) BOOST_MOVE_ITER2D_0TO2(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 3)
|
#define BOOST_MOVE_ITER2D_0TOMAX3(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX2(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 3)
|
||||||
#define BOOST_MOVE_ITER2D_0TO4(MACROFUNC2D) BOOST_MOVE_ITER2D_0TO3(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 4)
|
#define BOOST_MOVE_ITER2D_0TOMAX4(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX3(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 4)
|
||||||
#define BOOST_MOVE_ITER2D_0TO5(MACROFUNC2D) BOOST_MOVE_ITER2D_0TO4(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 5)
|
#define BOOST_MOVE_ITER2D_0TOMAX5(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX4(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 5)
|
||||||
#define BOOST_MOVE_ITER2D_0TO6(MACROFUNC2D) BOOST_MOVE_ITER2D_0TO5(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 6)
|
#define BOOST_MOVE_ITER2D_0TOMAX6(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX5(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 6)
|
||||||
#define BOOST_MOVE_ITER2D_0TO7(MACROFUNC2D) BOOST_MOVE_ITER2D_0TO6(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 7)
|
#define BOOST_MOVE_ITER2D_0TOMAX7(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX6(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 7)
|
||||||
#define BOOST_MOVE_ITER2D_0TO8(MACROFUNC2D) BOOST_MOVE_ITER2D_0TO7(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 8)
|
#define BOOST_MOVE_ITER2D_0TOMAX8(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX7(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 8)
|
||||||
#define BOOST_MOVE_ITER2D_0TO9(MACROFUNC2D) BOOST_MOVE_ITER2D_0TO8(MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 9)
|
#define BOOST_MOVE_ITER2D_0TOMAX9(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX8(MAX, MACROFUNC2D) BOOST_MOVE_ITER2DLOW_0TOMAX##MAX(MACROFUNC2D, 9)
|
||||||
|
|
||||||
|
#define BOOST_MOVE_ITER2D_0TOMAX(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX_I (MAX, MACROFUNC2D)
|
||||||
|
#define BOOST_MOVE_ITER2D_0TOMAX_I(MAX, MACROFUNC2D) BOOST_MOVE_ITER2D_0TOMAX##MAX(MAX, MACROFUNC2D)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//BOOST_MOVE_CAT
|
//BOOST_MOVE_CAT
|
||||||
#define BOOST_MOVE_CAT(a, b) BOOST_MOVE_CAT_I(a, b)
|
#define BOOST_MOVE_CAT(a, b) BOOST_MOVE_CAT_I(a, b)
|
||||||
|
Reference in New Issue
Block a user