libqi-api  2.1.4.13
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros
preproc.hpp File Reference
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/seq/remove.hpp>
#include <boost/preprocessor/seq/transform.hpp>

Go to the source code of this file.

Macros

#define _QI_PREPROC_HPP_
 
#define QI_MAP_HELPER(R, Macro, Elt)   (Macro(Elt))
 
#define QI_MAP(Macro, Seq)   BOOST_PP_SEQ_FOR_EACH(QI_MAP_HELPER, Macro, Seq)
 Return Seq, with Macro applied on every element. More...
 
#define QI_APPLY_HELPER(R, Macro, Elt)   Macro(Elt)
 
#define QI_APPLY(Macro, Seq)   BOOST_PP_SEQ_FOR_EACH(QI_APPLY_HELPER, Macro, Seq)
 Apply Macro applied on every element of Seq. More...
 
#define QI_SEPARATE_HELPER(Elt)   , Elt
 
#define QI_SEPARATE(Seq)
 Separate Seq with commas. More...
 
#define QI_ENUM(Seq, Sep)
 Separate Seq with Sep. More...
 
#define QI_ENUM_HELPER(Data, Sep, Elt)   Sep Elt
 
#define QI_ENUM_PRETTY(Seq, Sep, LSep)
 
#define QI_ENUM_PRETTY_ONE(Seq, Sep, LSep)   BOOST_PP_SEQ_HEAD(Seq)
 
#define QI_ENUM_PRETTY_SEVERAL(Seq, Sep, LSep)   QI_ENUM(QI_RTAIL(Seq), Sep) LSep QI_RHEAD(Seq)
 
#define QI_RHEAD(Seq)   BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(Seq)), Seq)
 The last element element of the sequence (reverse head) More...
 
#define QI_RTAIL(Seq)   BOOST_PP_SEQ_REMOVE(Seq, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(Seq)))
 The sequence minus the last element (reverse tail) More...
 
#define QI_CAT(A, B)   QI_CAT_(A, B)
 Concatenate the two arguments. More...
 
#define QI_CAT_(A, B)   A ## B
 
#define __HERE   __FILE__ ":" BOOST_PP_STRINGIZE(__LINE__)
 FILE:LINE as a string. More...
 
#define QI_ID(...)   __VA_ARGS__
 
#define QI_DELAY(X)   X
 
#define QI_COMMA   ,
 
#define QI_WRAP(...)   (__VA_ARGS__)
 
#define QI_UNWRAP(...)   QI_ID __VA_ARGS__
 
#define QI_LIST_BUILD_0(IGNORED)
 
#define QI_LIST_BUILD_1(A0, IGNORED)   (A0)
 
#define QI_LIST_BUILD_2(A0, A1, IGNORED)   (A0)(A1)
 
#define QI_LIST_BUILD_3(A0, A1, A2, IGNORED)   (A0)(A1)(A2)
 
#define QI_LIST_BUILD_4(A0, A1, A2, A3, IGNORED)   (A0)(A1)(A2)(A3)
 
#define QI_LIST_BUILD_5(A0, A1, A2, A3, A4, IGNORED)   (A0)(A1)(A2)(A3)(A4)
 
#define QI_LIST_BUILD_6(A0, A1, A2, A3, A4, A5, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)
 
#define QI_LIST_BUILD_7(A0, A1, A2, A3, A4, A5, A6, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)
 
#define QI_LIST_BUILD_8(A0, A1, A2, A3, A4, A5, A6, A7, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)
 
#define QI_LIST_BUILD_9(A0, A1, A2, A3, A4, A5, A6, A7, A8, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)
 
#define QI_LIST_BUILD_10(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)
 
#define QI_LIST_BUILD_11(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)
 
#define QI_LIST_BUILD_12(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)
 
#define QI_LIST_BUILD_13(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)
 
#define QI_LIST_BUILD_14(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)
 
#define QI_LIST_BUILD_15(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)
 
#define QI_LIST_BUILD_16(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)
 
#define QI_LIST_BUILD_17(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)
 
#define QI_LIST_BUILD_18(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)
 
#define QI_LIST_BUILD_19(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)
 
#define QI_LIST_BUILD_20(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)
 
#define QI_LIST_BUILD_21(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)
 
#define QI_LIST_BUILD_22(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)
 
#define QI_LIST_BUILD_23(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)
 
#define QI_LIST_BUILD_24(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)
 
#define QI_LIST_BUILD_25(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)
 
#define QI_LIST_BUILD_26(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)
 
#define QI_LIST_BUILD_27(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)
 
#define QI_LIST_BUILD_28(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)(A27)
 
#define QI_LIST_BUILD_29(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)(A27)(A28)
 
#define QI_LIST_BUILD_30(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)(A27)(A28)(A29)
 
#define QI_LIST_BUILD_31(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, IGNORED)   (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)(A27)(A28)(A29)(A30)
 
#define QI_LIST_VASIZE_HELPER1(...)   QI_LIST_VASIZE_HELPER2(__VA_ARGS__, 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, 0)
 
#define QI_LIST_VASIZE_HELPER2(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32,...)   A32
 
#define QI_LIST_VASIZE(List)   QI_LIST_VASIZE_HELPER1 List
 
#define QI_LIST_HELPER(M, A)   M A
 
#define QI_LIST(...)
 
#define QI_LIST_SIZE(List)   BOOST_PP_SEQ_SIZE(List)
 
#define QI_LIST_EMPTY_0   QI_TRUE
 
#define QI_LIST_EMPTY_1   QI_FALSE
 
#define QI_LIST_EMPTY_2   QI_FALSE
 
#define QI_LIST_EMPTY_3   QI_FALSE
 
#define QI_LIST_EMPTY_4   QI_FALSE
 
#define QI_LIST_EMPTY_5   QI_FALSE
 
#define QI_LIST_EMPTY_6   QI_FALSE
 
#define QI_LIST_EMPTY_7   QI_FALSE
 
#define QI_LIST_EMPTY_8   QI_FALSE
 
#define QI_LIST_EMPTY_9   QI_FALSE
 
#define QI_LIST_EMPTY_10   QI_FALSE
 
#define QI_LIST_EMPTY_11   QI_FALSE
 
#define QI_LIST_EMPTY_12   QI_FALSE
 
#define QI_LIST_EMPTY_13   QI_FALSE
 
#define QI_LIST_EMPTY_14   QI_FALSE
 
#define QI_LIST_EMPTY_15   QI_FALSE
 
#define QI_LIST_EMPTY_16   QI_FALSE
 
#define QI_LIST_EMPTY_17   QI_FALSE
 
#define QI_LIST_EMPTY_18   QI_FALSE
 
#define QI_LIST_EMPTY_19   QI_FALSE
 
#define QI_LIST_EMPTY_20   QI_FALSE
 
#define QI_LIST_EMPTY_21   QI_FALSE
 
#define QI_LIST_EMPTY_22   QI_FALSE
 
#define QI_LIST_EMPTY_23   QI_FALSE
 
#define QI_LIST_EMPTY_24   QI_FALSE
 
#define QI_LIST_EMPTY_25   QI_FALSE
 
#define QI_LIST_EMPTY_26   QI_FALSE
 
#define QI_LIST_EMPTY_27   QI_FALSE
 
#define QI_LIST_EMPTY_28   QI_FALSE
 
#define QI_LIST_EMPTY_29   QI_FALSE
 
#define QI_LIST_EMPTY_30   QI_FALSE
 
#define QI_LIST_EMPTY_31   QI_FALSE
 
#define QI_LIST_EMPTY(List)   QI_CAT(QI_LIST_EMPTY_, QI_LIST_SIZE(List))
 
#define QI_LIST_HEAD(List)   BOOST_PP_SEQ_HEAD(List)
 
#define QI_LIST_TAIL(List)   BOOST_PP_SEQ_TAIL(List)
 
#define QI_LIST_MAP_HELPER(Unused, Macro, Elt)   Macro(Elt)
 
#define QI_LIST_MAP(Macro, List)   BOOST_PP_SEQ_TRANSFORM(QI_LIST_MAP_HELPER, Macro, List)
 
#define QI_LIST_MAP_AUX_HELPER(Unused, Aux, Elt)   BOOST_PP_TUPLE_ELEM(2, 0, Aux)(Elt, BOOST_PP_TUPLE_ELEM(2, 1, Aux))
 
#define QI_LIST_MAP_AUX(Macro, List, Aux)   BOOST_PP_SEQ_TRANSFORM(QI_LIST_MAP_AUX_HELPER, (Macro, Aux), List)
 
#define QI_LIST_APPLY_HELPER(Unused, Macro, Elt)   Macro(Elt)
 
#define QI_LIST_APPLY(Macro, List)   BOOST_PP_SEQ_FOR_EACH(QI_LIST_APPLY_HELPER, Macro, List)
 
#define QI_LIST_APPLY_ARGS_HELPER(Unused, Macro, Elt)   Macro Elt
 
#define QI_LIST_APPLY_ARGS(Macro, List)   BOOST_PP_SEQ_FOR_EACH(QI_LIST_APPLY_ARGS_HELPER, Macro, List)
 
#define QI_LIST_APPLY_AUX_HELPER(Unused, Aux, Elt)   BOOST_PP_TUPLE_ELEM(2, 0, Aux)(Elt, BOOST_PP_TUPLE_ELEM(2, 1, Aux))
 
#define QI_LIST_APPLY_AUX(Macro, List, Aux)   BOOST_PP_SEQ_FOR_EACH(QI_LIST_APPLY_AUX_HELPER, (Macro, Aux), List)
 
#define QI_LIST_NTH_0(List)   BOOST_PP_CAT(QI_LIST_NTH_0_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_0_QI_TRUE(List)
 
#define QI_LIST_NTH_1(List)   BOOST_PP_CAT(QI_LIST_NTH_1_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_1_QI_TRUE(List)
 
#define QI_LIST_NTH_1_QI_FALSE(List)   QI_LIST_NTH_0(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_2(List)   BOOST_PP_CAT(QI_LIST_NTH_2_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_2_QI_TRUE(List)
 
#define QI_LIST_NTH_2_QI_FALSE(List)   QI_LIST_NTH_1(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_3(List)   BOOST_PP_CAT(QI_LIST_NTH_3_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_3_QI_TRUE(List)
 
#define QI_LIST_NTH_3_QI_FALSE(List)   QI_LIST_NTH_2(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_4(List)   BOOST_PP_CAT(QI_LIST_NTH_4_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_4_QI_TRUE(List)
 
#define QI_LIST_NTH_4_QI_FALSE(List)   QI_LIST_NTH_3(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_5(List)   BOOST_PP_CAT(QI_LIST_NTH_5_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_5_QI_TRUE(List)
 
#define QI_LIST_NTH_5_QI_FALSE(List)   QI_LIST_NTH_4(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_6(List)   BOOST_PP_CAT(QI_LIST_NTH_6_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_6_QI_TRUE(List)
 
#define QI_LIST_NTH_6_QI_FALSE(List)   QI_LIST_NTH_5(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_7(List)   BOOST_PP_CAT(QI_LIST_NTH_7_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_7_QI_TRUE(List)
 
#define QI_LIST_NTH_7_QI_FALSE(List)   QI_LIST_NTH_6(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_8(List)   BOOST_PP_CAT(QI_LIST_NTH_8_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_8_QI_TRUE(List)
 
#define QI_LIST_NTH_8_QI_FALSE(List)   QI_LIST_NTH_7(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_9(List)   BOOST_PP_CAT(QI_LIST_NTH_9_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_9_QI_TRUE(List)
 
#define QI_LIST_NTH_9_QI_FALSE(List)   QI_LIST_NTH_8(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_10(List)   BOOST_PP_CAT(QI_LIST_NTH_10_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_10_QI_TRUE(List)
 
#define QI_LIST_NTH_10_QI_FALSE(List)   QI_LIST_NTH_9(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_11(List)   BOOST_PP_CAT(QI_LIST_NTH_11_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_11_QI_TRUE(List)
 
#define QI_LIST_NTH_11_QI_FALSE(List)   QI_LIST_NTH_10(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_12(List)   BOOST_PP_CAT(QI_LIST_NTH_12_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_12_QI_TRUE(List)
 
#define QI_LIST_NTH_12_QI_FALSE(List)   QI_LIST_NTH_11(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_13(List)   BOOST_PP_CAT(QI_LIST_NTH_13_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_13_QI_TRUE(List)
 
#define QI_LIST_NTH_13_QI_FALSE(List)   QI_LIST_NTH_12(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_14(List)   BOOST_PP_CAT(QI_LIST_NTH_14_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_14_QI_TRUE(List)
 
#define QI_LIST_NTH_14_QI_FALSE(List)   QI_LIST_NTH_13(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_15(List)   BOOST_PP_CAT(QI_LIST_NTH_15_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_15_QI_TRUE(List)
 
#define QI_LIST_NTH_15_QI_FALSE(List)   QI_LIST_NTH_14(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_16(List)   BOOST_PP_CAT(QI_LIST_NTH_16_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_16_QI_TRUE(List)
 
#define QI_LIST_NTH_16_QI_FALSE(List)   QI_LIST_NTH_15(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_17(List)   BOOST_PP_CAT(QI_LIST_NTH_17_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_17_QI_TRUE(List)
 
#define QI_LIST_NTH_17_QI_FALSE(List)   QI_LIST_NTH_16(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_18(List)   BOOST_PP_CAT(QI_LIST_NTH_18_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_18_QI_TRUE(List)
 
#define QI_LIST_NTH_18_QI_FALSE(List)   QI_LIST_NTH_17(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_19(List)   BOOST_PP_CAT(QI_LIST_NTH_19_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_19_QI_TRUE(List)
 
#define QI_LIST_NTH_19_QI_FALSE(List)   QI_LIST_NTH_18(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_20(List)   BOOST_PP_CAT(QI_LIST_NTH_20_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_20_QI_TRUE(List)
 
#define QI_LIST_NTH_20_QI_FALSE(List)   QI_LIST_NTH_19(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_21(List)   BOOST_PP_CAT(QI_LIST_NTH_21_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_21_QI_TRUE(List)
 
#define QI_LIST_NTH_21_QI_FALSE(List)   QI_LIST_NTH_20(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_22(List)   BOOST_PP_CAT(QI_LIST_NTH_22_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_22_QI_TRUE(List)
 
#define QI_LIST_NTH_22_QI_FALSE(List)   QI_LIST_NTH_21(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_23(List)   BOOST_PP_CAT(QI_LIST_NTH_23_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_23_QI_TRUE(List)
 
#define QI_LIST_NTH_23_QI_FALSE(List)   QI_LIST_NTH_22(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_24(List)   BOOST_PP_CAT(QI_LIST_NTH_24_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_24_QI_TRUE(List)
 
#define QI_LIST_NTH_24_QI_FALSE(List)   QI_LIST_NTH_23(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_25(List)   BOOST_PP_CAT(QI_LIST_NTH_25_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_25_QI_TRUE(List)
 
#define QI_LIST_NTH_25_QI_FALSE(List)   QI_LIST_NTH_24(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_26(List)   BOOST_PP_CAT(QI_LIST_NTH_26_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_26_QI_TRUE(List)
 
#define QI_LIST_NTH_26_QI_FALSE(List)   QI_LIST_NTH_25(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_27(List)   BOOST_PP_CAT(QI_LIST_NTH_27_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_27_QI_TRUE(List)
 
#define QI_LIST_NTH_27_QI_FALSE(List)   QI_LIST_NTH_26(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_28(List)   BOOST_PP_CAT(QI_LIST_NTH_28_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_28_QI_TRUE(List)
 
#define QI_LIST_NTH_28_QI_FALSE(List)   QI_LIST_NTH_27(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_29(List)   BOOST_PP_CAT(QI_LIST_NTH_29_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_29_QI_TRUE(List)
 
#define QI_LIST_NTH_29_QI_FALSE(List)   QI_LIST_NTH_28(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_30(List)   BOOST_PP_CAT(QI_LIST_NTH_30_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_30_QI_TRUE(List)
 
#define QI_LIST_NTH_30_QI_FALSE(List)   QI_LIST_NTH_29(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_31(List)   BOOST_PP_CAT(QI_LIST_NTH_31_, QI_LIST_EMPTY(List))(List)
 
#define QI_LIST_NTH_31_QI_TRUE(List)
 
#define QI_LIST_NTH_31_QI_FALSE(List)   QI_LIST_NTH_30(QI_LIST_TAIL(List))
 
#define QI_LIST_NTH_0_QI_FALSE(List)   QI_LIST_HEAD(List)
 
#define QI_LIST_NTH(Nth, List)   BOOST_PP_CAT(QI_LIST_NTH_, Nth)(List)
 
#define QI_LIST_FLATTEN(List)   QI_LIST_SEP(List, )
 
#define QI_LIST_SEP_HELPER(Elt, Sep)   QI_UNWRAP(Sep) Elt
 
#define QI_LIST_SEP_QI_FALSE(List, Sep)
 
#define QI_LIST_SEP_QI_TRUE(List, Sep)
 
#define QI_LIST_SEP(List, Sep)
 
#define QI_LIST_ARG_HELPER(Macro, Args)   Macro Args
 
#define QI_LIST_ARG(Macro, List)   QI_LIST_ARG_HELPER(Macro, (QI_LIST_SEP(List, QI_COMMA)))
 
#define QI_VAARGS_APPLY(Macro, Arg,...)
 Call Macro(useless, Arg, elem) for each elem (extra argument). More...
 
#define _QI_OR_00   0
 
#define _QI_OR_01   1
 
#define _QI_OR_10   1
 
#define _QI_OR_11   1
 
#define _QI_OR_I1(a, b)   BOOST_PP_CAT(BOOST_PP_CAT(_QI_OR_, a), b)
 
#define _QI_OR_I2(a, b)   _QI_OR_I1(a, b)
 
#define _QI_OR_I3(a, b)   _QI_OR_I2(a, b)
 
#define _QI_OR_I4(a, b)   _QI_OR_I3(a, b)
 
#define QI_OR(a, b)   _QI_OR_I4(a, b)
 
#define _QI_IS_EMPTY_HELPER__   a,b
 
#define _QI_IS_ONE_HELPER__1   a,b
 
#define _QI_IS_ONE(a)   QI_LIST_VASIZE((BOOST_PP_CAT(_QI_IS_ONE_HELPER_, a)))
 
#define _QI_IS_EMPTY(a)   QI_LIST_VASIZE((BOOST_PP_CAT(_QI_IS_EMPTY_HELPER, BOOST_PP_CAT(_, a))))
 
#define _QI_IS_ONE_OR_EMPTY(a)   QI_OR(_QI_IS_EMPTY(a), _QI_IS_ONE(a))
 
#define _QI_GEN_ARGTYPE(z, n, _)   BOOST_PP_COMMA_IF(n) P ## n
 
#define _QI_GEN_ARGDECL(z, n, _)   BOOST_PP_COMMA_IF(n) P ## n p##n
 
#define _QI_GEN_ARGDECLSAMETYPE(z, n, t)   BOOST_PP_COMMA_IF(n) t p##n
 
#define _QI_GEN_ARGUSE(z, n, _)   BOOST_PP_COMMA_IF(n) p##n
 
#define _QI_GEN_ARGTYPEDECL(z, n, _)   BOOST_PP_COMMA_IF(n) typename P##n
 
#define _QI_GEN_PREPOST(z, n, prepost)   BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(0, prepost), n) BOOST_PP_SEQ_ELEM(1, prepost)
 
#define _QI_GEN_PREPOST2(z, n, prepost)   BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(0, prepost), n) BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1, prepost), n) BOOST_PP_SEQ_ELEM(2, prepost)
 
#define QI_GEN_PREPOST(n, pre, post)   BOOST_PP_REPEAT(n, _QI_GEN_PREPOST, (pre)(post))
 
#define QI_GEN_PREPOST2(n, pre, mid, post)   BOOST_PP_REPEAT(n, _QI_GEN_PREPOST2, (pre)(mid)(post))
 
#define QI_GEN_ARGSTYPE(n)   BOOST_PP_REPEAT(n, _QI_GEN_ARGTYPE, _)
 
#define QI_GEN_ARGSDECL(n)   BOOST_PP_REPEAT(n, _QI_GEN_ARGDECL, _)
 
#define QI_GEN_ARGSUSE(n)   BOOST_PP_REPEAT(n, _QI_GEN_ARGUSE, _)
 
#define QI_GEN_ARGSTYPEDECL(n)   BOOST_PP_REPEAT(n, _QI_GEN_ARGTYPEDECL, _)
 
#define QI_GEN_ARGSDECLSAMETYPE(n, t)   BOOST_PP_REPEAT(n, _QI_GEN_ARGDECLSAMETYPE, t)
 
#define _QI_GEN(z, n, f)   f(n, QI_GEN_ARGSTYPEDECL(n), QI_GEN_ARGSTYPE(n), QI_GEN_ARGSDECL(n), QI_GEN_ARGSUSE(n), BOOST_PP_COMMA_IF(n))
 
#define QI_GEN(f)   BOOST_PP_REPEAT(10, _QI_GEN, f)
 
#define QI_GEN_RANGE(f, max)   BOOST_PP_REPEAT(max, _QI_GEN, f)
 
#define QI_GEN_MAYBE_TEMPLATE_OPEN(...)   QI_CAT(_QI_GEN_MAYBE_TEMPLATE_OPEN_, QI_LIST_VASIZE((__VA_ARGS__)))
 
#define QI_GEN_MAYBE_TEMPLATE_CLOSE(...)   QI_CAT(_QI_GEN_MAYBE_TEMPLATE_CLOSE_, QI_LIST_VASIZE((__VA_ARGS__)))
 
#define QI_PAIR_FIRST(x)   QI_DELAY(_QI_PAIR_FIRST)x
 
#define QI_PAIR_SECOND(x)   QI_DELAY(_QI_PAIR_SECOND)x
 
#define _QI_PAIR_FIRST(x,...)   x
 
#define _QI_PAIR_SECOND(x, y)   y
 
#define _QI_GEN_MAYBE_TEMPLATE_OPEN_1   template<
 
#define _QI_GEN_MAYBE_TEMPLATE_OPEN_0
 
#define _QI_GEN_MAYBE_TEMPLATE_CLOSE_1   >
 
#define _QI_GEN_MAYBE_TEMPLATE_CLOSE_0
 
#define QI_GEN_SYMINC(i)   BOOST_PP_CAT(_QI_GEN_SYMINC_, i)
 
#define _QI_GEN_SYMINC_9   10
 
#define _QI_GEN_SYMINC_8   9
 
#define _QI_GEN_SYMINC_7   8
 
#define _QI_GEN_SYMINC_6   7
 
#define _QI_GEN_SYMINC_5   6
 
#define _QI_GEN_SYMINC_4   5
 
#define _QI_GEN_SYMINC_3   4
 
#define _QI_GEN_SYMINC_2   3
 
#define _QI_GEN_SYMINC_1   2
 
#define _QI_GEN_SYMINC_0   1
 
#define _QI_IF_QI_TRUE(a)   a
 
#define _QI_IF_QI_FALSE(a)
 
#define _QI_NIF_QI_TRUE(a)
 
#define _QI_NIF_QI_FALSE(a)   a
 
#define QI_01_TO_TRUEFALSE(v)   BOOST_PP_CAT(_QI_01_TO_TRUEFALSE_,v)
 
#define _QI_01_TO_TRUEFALSE_0   QI_FALSE
 
#define _QI_01_TO_TRUEFALSE_1   QI_TRUE
 
#define __QI_VAARGS_MAP_0(Macro, Arg, elem,...)   Macro(0, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_1(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_1(Macro, Arg, elem,...)   , Macro(1, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_2(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_2(Macro, Arg, elem,...)   , Macro(2, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_3(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_3(Macro, Arg, elem,...)   , Macro(3, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_4(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_4(Macro, Arg, elem,...)   , Macro(4, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_5(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_5(Macro, Arg, elem,...)   , Macro(5, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_6(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_6(Macro, Arg, elem,...)   , Macro(6, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_7(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_7(Macro, Arg, elem,...)   , Macro(7, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_8(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_8(Macro, Arg, elem,...)   , Macro(8, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_9(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_9(Macro, Arg, elem,...)   , Macro(9, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_10(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_10(Macro, Arg, elem,...)   , Macro(10, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_11(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_11(Macro, Arg, elem,...)   , Macro(11, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_12(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_12(Macro, Arg, elem,...)   , Macro(12, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_13(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_13(Macro, Arg, elem,...)   , Macro(13, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_14(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_14(Macro, Arg, elem,...)   , Macro(14, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_15(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_15(Macro, Arg, elem,...)   , Macro(15, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_16(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_16(Macro, Arg, elem,...)   , Macro(16, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_17(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_17(Macro, Arg, elem,...)   , Macro(17, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_18(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_18(Macro, Arg, elem,...)   , Macro(18, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_19(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_19(Macro, Arg, elem,...)   , Macro(19, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_20(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_20(Macro, Arg, elem,...)   , Macro(20, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_21(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_21(Macro, Arg, elem,...)   , Macro(21, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_22(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_22(Macro, Arg, elem,...)   , Macro(22, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_23(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_23(Macro, Arg, elem,...)   , Macro(23, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_24(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_24(Macro, Arg, elem,...)   , Macro(24, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_25(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_25(Macro, Arg, elem,...)   , Macro(25, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_26(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_26(Macro, Arg, elem,...)   , Macro(26, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_27(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_27(Macro, Arg, elem,...)   , Macro(27, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_28(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_28(Macro, Arg, elem,...)   , Macro(28, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_29(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_29(Macro, Arg, elem,...)   , Macro(29, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_30(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_30(Macro, Arg, elem,...)   , Macro(30, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_31(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_31(Macro, Arg, elem,...)   , Macro(31, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_32(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_32(Macro, Arg, elem,...)   , Macro(32, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_33(Macro, Arg, __VA_ARGS__))
 
#define __QI_VAARGS_MAP_33(Macro, Arg, elem,...)   , Macro(33, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(TOO_MANY_ARGUMENTS)
 
#define __QI_VAARGS_EMPTY(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20,...)   QI_01_TO_TRUEFALSE(p20)
 
#define QI_VAARGS_EMPTY(...)   __QI_VAARGS_EMPTY(__VA_ARGS__, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0, 0,1,1)
 QI_TRUE if VA_ARGS has no comma, QI_FALSE else. More...
 
#define QI_VAARGS_MAP(Macro, Arg,...)   __QI_VAARGS_MAP_0(Macro, Arg, __VA_ARGS__,)
 expand to Macro(0, Arg, p0), Macro(1, Arg, p1), ... , Macro(N, Arg, pN) More...
 

Macro Definition Documentation

#define __HERE   __FILE__ ":" BOOST_PP_STRINGIZE(__LINE__)

FILE:LINE as a string.

Definition at line 103 of file preproc.hpp.

#define __QI_VAARGS_EMPTY (   p1,
  p2,
  p3,
  p4,
  p5,
  p6,
  p7,
  p8,
  p9,
  p10,
  p11,
  p12,
  p13,
  p14,
  p15,
  p16,
  p17,
  p18,
  p19,
  p20,
  ... 
)    QI_01_TO_TRUEFALSE(p20)

Definition at line 595 of file preproc.hpp.

#define __QI_VAARGS_MAP_0 (   Macro,
  Arg,
  elem,
  ... 
)    Macro(0, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_1(Macro, Arg, __VA_ARGS__))

Definition at line 560 of file preproc.hpp.

#define __QI_VAARGS_MAP_1 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(1, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_2(Macro, Arg, __VA_ARGS__))

Definition at line 561 of file preproc.hpp.

#define __QI_VAARGS_MAP_10 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(10, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_11(Macro, Arg, __VA_ARGS__))

Definition at line 570 of file preproc.hpp.

#define __QI_VAARGS_MAP_11 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(11, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_12(Macro, Arg, __VA_ARGS__))

Definition at line 571 of file preproc.hpp.

#define __QI_VAARGS_MAP_12 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(12, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_13(Macro, Arg, __VA_ARGS__))

Definition at line 572 of file preproc.hpp.

#define __QI_VAARGS_MAP_13 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(13, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_14(Macro, Arg, __VA_ARGS__))

Definition at line 573 of file preproc.hpp.

#define __QI_VAARGS_MAP_14 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(14, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_15(Macro, Arg, __VA_ARGS__))

Definition at line 574 of file preproc.hpp.

#define __QI_VAARGS_MAP_15 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(15, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_16(Macro, Arg, __VA_ARGS__))

Definition at line 575 of file preproc.hpp.

#define __QI_VAARGS_MAP_16 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(16, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_17(Macro, Arg, __VA_ARGS__))

Definition at line 576 of file preproc.hpp.

#define __QI_VAARGS_MAP_17 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(17, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_18(Macro, Arg, __VA_ARGS__))

Definition at line 577 of file preproc.hpp.

#define __QI_VAARGS_MAP_18 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(18, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_19(Macro, Arg, __VA_ARGS__))

Definition at line 578 of file preproc.hpp.

#define __QI_VAARGS_MAP_19 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(19, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_20(Macro, Arg, __VA_ARGS__))

Definition at line 579 of file preproc.hpp.

#define __QI_VAARGS_MAP_2 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(2, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_3(Macro, Arg, __VA_ARGS__))

Definition at line 562 of file preproc.hpp.

#define __QI_VAARGS_MAP_20 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(20, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_21(Macro, Arg, __VA_ARGS__))

Definition at line 580 of file preproc.hpp.

#define __QI_VAARGS_MAP_21 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(21, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_22(Macro, Arg, __VA_ARGS__))

Definition at line 581 of file preproc.hpp.

#define __QI_VAARGS_MAP_22 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(22, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_23(Macro, Arg, __VA_ARGS__))

Definition at line 582 of file preproc.hpp.

#define __QI_VAARGS_MAP_23 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(23, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_24(Macro, Arg, __VA_ARGS__))

Definition at line 583 of file preproc.hpp.

#define __QI_VAARGS_MAP_24 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(24, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_25(Macro, Arg, __VA_ARGS__))

Definition at line 584 of file preproc.hpp.

#define __QI_VAARGS_MAP_25 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(25, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_26(Macro, Arg, __VA_ARGS__))

Definition at line 585 of file preproc.hpp.

#define __QI_VAARGS_MAP_26 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(26, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_27(Macro, Arg, __VA_ARGS__))

Definition at line 586 of file preproc.hpp.

#define __QI_VAARGS_MAP_27 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(27, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_28(Macro, Arg, __VA_ARGS__))

Definition at line 587 of file preproc.hpp.

#define __QI_VAARGS_MAP_28 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(28, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_29(Macro, Arg, __VA_ARGS__))

Definition at line 588 of file preproc.hpp.

#define __QI_VAARGS_MAP_29 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(29, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_30(Macro, Arg, __VA_ARGS__))

Definition at line 589 of file preproc.hpp.

#define __QI_VAARGS_MAP_3 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(3, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_4(Macro, Arg, __VA_ARGS__))

Definition at line 563 of file preproc.hpp.

#define __QI_VAARGS_MAP_30 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(30, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_31(Macro, Arg, __VA_ARGS__))

Definition at line 590 of file preproc.hpp.

#define __QI_VAARGS_MAP_31 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(31, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_32(Macro, Arg, __VA_ARGS__))

Definition at line 591 of file preproc.hpp.

#define __QI_VAARGS_MAP_32 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(32, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_33(Macro, Arg, __VA_ARGS__))

Definition at line 592 of file preproc.hpp.

#define __QI_VAARGS_MAP_33 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(33, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(TOO_MANY_ARGUMENTS)

Definition at line 593 of file preproc.hpp.

#define __QI_VAARGS_MAP_4 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(4, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_5(Macro, Arg, __VA_ARGS__))

Definition at line 564 of file preproc.hpp.

#define __QI_VAARGS_MAP_5 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(5, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_6(Macro, Arg, __VA_ARGS__))

Definition at line 565 of file preproc.hpp.

#define __QI_VAARGS_MAP_6 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(6, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_7(Macro, Arg, __VA_ARGS__))

Definition at line 566 of file preproc.hpp.

#define __QI_VAARGS_MAP_7 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(7, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_8(Macro, Arg, __VA_ARGS__))

Definition at line 567 of file preproc.hpp.

#define __QI_VAARGS_MAP_8 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(8, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_9(Macro, Arg, __VA_ARGS__))

Definition at line 568 of file preproc.hpp.

#define __QI_VAARGS_MAP_9 (   Macro,
  Arg,
  elem,
  ... 
)    , Macro(9, Arg, elem) QI_CAT(_QI_NIF_,QI_VAARGS_EMPTY(__VA_ARGS__))(__QI_VAARGS_MAP_10(Macro, Arg, __VA_ARGS__))

Definition at line 569 of file preproc.hpp.

#define _QI_01_TO_TRUEFALSE_0   QI_FALSE

Definition at line 509 of file preproc.hpp.

#define _QI_01_TO_TRUEFALSE_1   QI_TRUE

Definition at line 510 of file preproc.hpp.

#define _QI_GEN (   z,
  n,
 
)    f(n, QI_GEN_ARGSTYPEDECL(n), QI_GEN_ARGSTYPE(n), QI_GEN_ARGSDECL(n), QI_GEN_ARGSUSE(n), BOOST_PP_COMMA_IF(n))

Definition at line 468 of file preproc.hpp.

#define _QI_GEN_ARGDECL (   z,
  n,
 
)    BOOST_PP_COMMA_IF(n) P ## n p##n

Definition at line 444 of file preproc.hpp.

#define _QI_GEN_ARGDECLSAMETYPE (   z,
  n,
 
)    BOOST_PP_COMMA_IF(n) t p##n

Definition at line 445 of file preproc.hpp.

#define _QI_GEN_ARGTYPE (   z,
  n,
 
)    BOOST_PP_COMMA_IF(n) P ## n

Definition at line 443 of file preproc.hpp.

#define _QI_GEN_ARGTYPEDECL (   z,
  n,
 
)    BOOST_PP_COMMA_IF(n) typename P##n

Definition at line 447 of file preproc.hpp.

#define _QI_GEN_ARGUSE (   z,
  n,
 
)    BOOST_PP_COMMA_IF(n) p##n

Definition at line 446 of file preproc.hpp.

#define _QI_GEN_MAYBE_TEMPLATE_CLOSE_0

Definition at line 487 of file preproc.hpp.

#define _QI_GEN_MAYBE_TEMPLATE_CLOSE_1   >

Definition at line 486 of file preproc.hpp.

#define _QI_GEN_MAYBE_TEMPLATE_OPEN_0

Definition at line 485 of file preproc.hpp.

#define _QI_GEN_MAYBE_TEMPLATE_OPEN_1   template<

Definition at line 484 of file preproc.hpp.

#define _QI_GEN_PREPOST (   z,
  n,
  prepost 
)    BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(0, prepost), n) BOOST_PP_SEQ_ELEM(1, prepost)

Definition at line 449 of file preproc.hpp.

#define _QI_GEN_PREPOST2 (   z,
  n,
  prepost 
)    BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(0, prepost), n) BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1, prepost), n) BOOST_PP_SEQ_ELEM(2, prepost)

Definition at line 450 of file preproc.hpp.

#define _QI_GEN_SYMINC_0   1

Definition at line 499 of file preproc.hpp.

#define _QI_GEN_SYMINC_1   2

Definition at line 498 of file preproc.hpp.

#define _QI_GEN_SYMINC_2   3

Definition at line 497 of file preproc.hpp.

#define _QI_GEN_SYMINC_3   4

Definition at line 496 of file preproc.hpp.

#define _QI_GEN_SYMINC_4   5

Definition at line 495 of file preproc.hpp.

#define _QI_GEN_SYMINC_5   6

Definition at line 494 of file preproc.hpp.

#define _QI_GEN_SYMINC_6   7

Definition at line 493 of file preproc.hpp.

#define _QI_GEN_SYMINC_7   8

Definition at line 492 of file preproc.hpp.

#define _QI_GEN_SYMINC_8   9

Definition at line 491 of file preproc.hpp.

#define _QI_GEN_SYMINC_9   10

Definition at line 490 of file preproc.hpp.

#define _QI_IF_QI_FALSE (   a)

Definition at line 502 of file preproc.hpp.

#define _QI_IF_QI_TRUE (   a)    a

Definition at line 501 of file preproc.hpp.

#define _QI_IS_EMPTY (   a)    QI_LIST_VASIZE((BOOST_PP_CAT(_QI_IS_EMPTY_HELPER, BOOST_PP_CAT(_, a))))

Definition at line 435 of file preproc.hpp.

#define _QI_IS_EMPTY_HELPER__   a,b

Definition at line 425 of file preproc.hpp.

#define _QI_IS_ONE (   a)    QI_LIST_VASIZE((BOOST_PP_CAT(_QI_IS_ONE_HELPER_, a)))

Definition at line 433 of file preproc.hpp.

#define _QI_IS_ONE_HELPER__1   a,b

Definition at line 426 of file preproc.hpp.

#define _QI_IS_ONE_OR_EMPTY (   a)    QI_OR(_QI_IS_EMPTY(a), _QI_IS_ONE(a))

Definition at line 439 of file preproc.hpp.

#define _QI_NIF_QI_FALSE (   a)    a

Definition at line 504 of file preproc.hpp.

#define _QI_NIF_QI_TRUE (   a)

Definition at line 503 of file preproc.hpp.

#define _QI_OR_00   0

Definition at line 415 of file preproc.hpp.

#define _QI_OR_01   1

Definition at line 416 of file preproc.hpp.

#define _QI_OR_10   1

Definition at line 417 of file preproc.hpp.

#define _QI_OR_11   1

Definition at line 418 of file preproc.hpp.

#define _QI_OR_I1 (   a,
 
)    BOOST_PP_CAT(BOOST_PP_CAT(_QI_OR_, a), b)

Definition at line 419 of file preproc.hpp.

#define _QI_OR_I2 (   a,
 
)    _QI_OR_I1(a, b)

Definition at line 420 of file preproc.hpp.

#define _QI_OR_I3 (   a,
 
)    _QI_OR_I2(a, b)

Definition at line 421 of file preproc.hpp.

#define _QI_OR_I4 (   a,
 
)    _QI_OR_I3(a, b)

Definition at line 422 of file preproc.hpp.

#define _QI_PAIR_FIRST (   x,
  ... 
)    x

Definition at line 482 of file preproc.hpp.

#define _QI_PAIR_SECOND (   x,
 
)    y

Definition at line 483 of file preproc.hpp.

#define _QI_PREPROC_HPP_

Definition at line 9 of file preproc.hpp.

#define QI_01_TO_TRUEFALSE (   v)    BOOST_PP_CAT(_QI_01_TO_TRUEFALSE_,v)

Definition at line 508 of file preproc.hpp.

#define QI_APPLY (   Macro,
  Seq 
)    BOOST_PP_SEQ_FOR_EACH(QI_APPLY_HELPER, Macro, Seq)

Apply Macro applied on every element of Seq.

Definition at line 22 of file preproc.hpp.

#define QI_APPLY_HELPER (   R,
  Macro,
  Elt 
)    Macro(Elt)

Definition at line 20 of file preproc.hpp.

#define QI_CAT (   A,
 
)    QI_CAT_(A, B)

Concatenate the two arguments.

Definition at line 98 of file preproc.hpp.

#define QI_CAT_ (   A,
 
)    A ## B

Definition at line 99 of file preproc.hpp.

#define QI_COMMA   ,

Definition at line 110 of file preproc.hpp.

#define QI_DELAY (   X)    X

Definition at line 108 of file preproc.hpp.

#define QI_ENUM (   Seq,
  Sep 
)
Value:
BOOST_PP_SEQ_HEAD(Seq) \
BOOST_PP_SEQ_FOR_EACH(QI_ENUM_HELPER, Sep, BOOST_PP_SEQ_TAIL(Seq))
#define QI_ENUM_HELPER(Data, Sep, Elt)
Definition: preproc.hpp:36

Separate Seq with Sep.

Definition at line 33 of file preproc.hpp.

#define QI_ENUM_HELPER (   Data,
  Sep,
  Elt 
)    Sep Elt

Definition at line 36 of file preproc.hpp.

#define QI_ENUM_PRETTY (   Seq,
  Sep,
  LSep 
)
Value:
BOOST_PP_CAT( \
QI_ENUM_PRETTY_, \
BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(Seq)), SEVERAL, ONE)) \
(Seq, Sep, LSep)

Separate Seq with LSep for the last separator and Sep everywhere else. Typically: "a, b, c, d and e".

Definition at line 40 of file preproc.hpp.

#define QI_ENUM_PRETTY_ONE (   Seq,
  Sep,
  LSep 
)    BOOST_PP_SEQ_HEAD(Seq)

Definition at line 45 of file preproc.hpp.

#define QI_ENUM_PRETTY_SEVERAL (   Seq,
  Sep,
  LSep 
)    QI_ENUM(QI_RTAIL(Seq), Sep) LSep QI_RHEAD(Seq)

Definition at line 47 of file preproc.hpp.

#define QI_GEN (   f)    BOOST_PP_REPEAT(10, _QI_GEN, f)

Definition at line 471 of file preproc.hpp.

#define QI_GEN_ARGSDECL (   n)    BOOST_PP_REPEAT(n, _QI_GEN_ARGDECL, _)

Definition at line 459 of file preproc.hpp.

#define QI_GEN_ARGSDECLSAMETYPE (   n,
 
)    BOOST_PP_REPEAT(n, _QI_GEN_ARGDECLSAMETYPE, t)

Definition at line 465 of file preproc.hpp.

#define QI_GEN_ARGSTYPE (   n)    BOOST_PP_REPEAT(n, _QI_GEN_ARGTYPE, _)

Definition at line 457 of file preproc.hpp.

#define QI_GEN_ARGSTYPEDECL (   n)    BOOST_PP_REPEAT(n, _QI_GEN_ARGTYPEDECL, _)

Definition at line 463 of file preproc.hpp.

#define QI_GEN_ARGSUSE (   n)    BOOST_PP_REPEAT(n, _QI_GEN_ARGUSE, _)

Definition at line 461 of file preproc.hpp.

#define QI_GEN_MAYBE_TEMPLATE_CLOSE (   ...)    QI_CAT(_QI_GEN_MAYBE_TEMPLATE_CLOSE_, QI_LIST_VASIZE((__VA_ARGS__)))

Definition at line 477 of file preproc.hpp.

#define QI_GEN_MAYBE_TEMPLATE_OPEN (   ...)    QI_CAT(_QI_GEN_MAYBE_TEMPLATE_OPEN_, QI_LIST_VASIZE((__VA_ARGS__)))

Definition at line 475 of file preproc.hpp.

#define QI_GEN_PREPOST (   n,
  pre,
  post 
)    BOOST_PP_REPEAT(n, _QI_GEN_PREPOST, (pre)(post))

Definition at line 453 of file preproc.hpp.

#define QI_GEN_PREPOST2 (   n,
  pre,
  mid,
  post 
)    BOOST_PP_REPEAT(n, _QI_GEN_PREPOST2, (pre)(mid)(post))

Definition at line 455 of file preproc.hpp.

#define QI_GEN_RANGE (   f,
  max 
)    BOOST_PP_REPEAT(max, _QI_GEN, f)

Definition at line 472 of file preproc.hpp.

#define QI_GEN_SYMINC (   i)    BOOST_PP_CAT(_QI_GEN_SYMINC_, i)

Definition at line 489 of file preproc.hpp.

#define QI_ID (   ...)    __VA_ARGS__

Definition at line 106 of file preproc.hpp.

#define QI_LIST (   ...)
Value:
QI_CAT(QI_LIST_BUILD_, QI_LIST_VASIZE((__VA_ARGS__))), \
(__VA_ARGS__))
#define QI_LIST_VASIZE(List)
Definition: preproc.hpp:205
#define QI_LIST_HELPER(M, A)
Definition: preproc.hpp:208
#define QI_CAT(A, B)
Concatenate the two arguments.
Definition: preproc.hpp:98

Definition at line 210 of file preproc.hpp.

#define QI_LIST_APPLY (   Macro,
  List 
)    BOOST_PP_SEQ_FOR_EACH(QI_LIST_APPLY_HELPER, Macro, List)

Definition at line 267 of file preproc.hpp.

#define QI_LIST_APPLY_ARGS (   Macro,
  List 
)    BOOST_PP_SEQ_FOR_EACH(QI_LIST_APPLY_ARGS_HELPER, Macro, List)

Definition at line 272 of file preproc.hpp.

#define QI_LIST_APPLY_ARGS_HELPER (   Unused,
  Macro,
  Elt 
)    Macro Elt

Definition at line 270 of file preproc.hpp.

#define QI_LIST_APPLY_AUX (   Macro,
  List,
  Aux 
)    BOOST_PP_SEQ_FOR_EACH(QI_LIST_APPLY_AUX_HELPER, (Macro, Aux), List)

Definition at line 277 of file preproc.hpp.

#define QI_LIST_APPLY_AUX_HELPER (   Unused,
  Aux,
  Elt 
)    BOOST_PP_TUPLE_ELEM(2, 0, Aux)(Elt, BOOST_PP_TUPLE_ELEM(2, 1, Aux))

Definition at line 275 of file preproc.hpp.

#define QI_LIST_APPLY_HELPER (   Unused,
  Macro,
  Elt 
)    Macro(Elt)

Definition at line 265 of file preproc.hpp.

#define QI_LIST_ARG (   Macro,
  List 
)    QI_LIST_ARG_HELPER(Macro, (QI_LIST_SEP(List, QI_COMMA)))

Definition at line 407 of file preproc.hpp.

#define QI_LIST_ARG_HELPER (   Macro,
  Args 
)    Macro Args

Definition at line 405 of file preproc.hpp.

#define QI_LIST_BUILD_0 (   IGNORED)

Definition at line 131 of file preproc.hpp.

#define QI_LIST_BUILD_1 (   A0,
  IGNORED 
)    (A0)

Definition at line 132 of file preproc.hpp.

#define QI_LIST_BUILD_10 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)

Definition at line 150 of file preproc.hpp.

#define QI_LIST_BUILD_11 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)

Definition at line 152 of file preproc.hpp.

#define QI_LIST_BUILD_12 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)

Definition at line 154 of file preproc.hpp.

#define QI_LIST_BUILD_13 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)

Definition at line 156 of file preproc.hpp.

#define QI_LIST_BUILD_14 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)

Definition at line 158 of file preproc.hpp.

#define QI_LIST_BUILD_15 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)

Definition at line 160 of file preproc.hpp.

#define QI_LIST_BUILD_16 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)

Definition at line 162 of file preproc.hpp.

#define QI_LIST_BUILD_17 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)

Definition at line 164 of file preproc.hpp.

#define QI_LIST_BUILD_18 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)

Definition at line 166 of file preproc.hpp.

#define QI_LIST_BUILD_19 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)

Definition at line 168 of file preproc.hpp.

#define QI_LIST_BUILD_2 (   A0,
  A1,
  IGNORED 
)    (A0)(A1)

Definition at line 134 of file preproc.hpp.

#define QI_LIST_BUILD_20 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)

Definition at line 170 of file preproc.hpp.

#define QI_LIST_BUILD_21 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)

Definition at line 172 of file preproc.hpp.

#define QI_LIST_BUILD_22 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)

Definition at line 174 of file preproc.hpp.

#define QI_LIST_BUILD_23 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)

Definition at line 176 of file preproc.hpp.

#define QI_LIST_BUILD_24 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  A23,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)

Definition at line 178 of file preproc.hpp.

#define QI_LIST_BUILD_25 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  A23,
  A24,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)

Definition at line 180 of file preproc.hpp.

#define QI_LIST_BUILD_26 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  A23,
  A24,
  A25,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)

Definition at line 182 of file preproc.hpp.

#define QI_LIST_BUILD_27 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  A23,
  A24,
  A25,
  A26,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)

Definition at line 184 of file preproc.hpp.

#define QI_LIST_BUILD_28 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  A23,
  A24,
  A25,
  A26,
  A27,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)(A27)

Definition at line 186 of file preproc.hpp.

#define QI_LIST_BUILD_29 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  A23,
  A24,
  A25,
  A26,
  A27,
  A28,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)(A27)(A28)

Definition at line 188 of file preproc.hpp.

#define QI_LIST_BUILD_3 (   A0,
  A1,
  A2,
  IGNORED 
)    (A0)(A1)(A2)

Definition at line 136 of file preproc.hpp.

#define QI_LIST_BUILD_30 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  A23,
  A24,
  A25,
  A26,
  A27,
  A28,
  A29,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)(A27)(A28)(A29)

Definition at line 190 of file preproc.hpp.

#define QI_LIST_BUILD_31 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  A23,
  A24,
  A25,
  A26,
  A27,
  A28,
  A29,
  A30,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)(A9)(A10)(A11)(A12)(A13)(A14)(A15)(A16)(A17)(A18)(A19)(A20)(A21)(A22)(A23)(A24)(A25)(A26)(A27)(A28)(A29)(A30)

Definition at line 192 of file preproc.hpp.

#define QI_LIST_BUILD_4 (   A0,
  A1,
  A2,
  A3,
  IGNORED 
)    (A0)(A1)(A2)(A3)

Definition at line 138 of file preproc.hpp.

#define QI_LIST_BUILD_5 (   A0,
  A1,
  A2,
  A3,
  A4,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)

Definition at line 140 of file preproc.hpp.

#define QI_LIST_BUILD_6 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)

Definition at line 142 of file preproc.hpp.

#define QI_LIST_BUILD_7 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)

Definition at line 144 of file preproc.hpp.

#define QI_LIST_BUILD_8 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)

Definition at line 146 of file preproc.hpp.

#define QI_LIST_BUILD_9 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  IGNORED 
)    (A0)(A1)(A2)(A3)(A4)(A5)(A6)(A7)(A8)

Definition at line 148 of file preproc.hpp.

#define QI_LIST_EMPTY (   List)    QI_CAT(QI_LIST_EMPTY_, QI_LIST_SIZE(List))

Definition at line 249 of file preproc.hpp.

#define QI_LIST_EMPTY_0   QI_TRUE

Definition at line 217 of file preproc.hpp.

#define QI_LIST_EMPTY_1   QI_FALSE

Definition at line 218 of file preproc.hpp.

#define QI_LIST_EMPTY_10   QI_FALSE

Definition at line 227 of file preproc.hpp.

#define QI_LIST_EMPTY_11   QI_FALSE

Definition at line 228 of file preproc.hpp.

#define QI_LIST_EMPTY_12   QI_FALSE

Definition at line 229 of file preproc.hpp.

#define QI_LIST_EMPTY_13   QI_FALSE

Definition at line 230 of file preproc.hpp.

#define QI_LIST_EMPTY_14   QI_FALSE

Definition at line 231 of file preproc.hpp.

#define QI_LIST_EMPTY_15   QI_FALSE

Definition at line 232 of file preproc.hpp.

#define QI_LIST_EMPTY_16   QI_FALSE

Definition at line 233 of file preproc.hpp.

#define QI_LIST_EMPTY_17   QI_FALSE

Definition at line 234 of file preproc.hpp.

#define QI_LIST_EMPTY_18   QI_FALSE

Definition at line 235 of file preproc.hpp.

#define QI_LIST_EMPTY_19   QI_FALSE

Definition at line 236 of file preproc.hpp.

#define QI_LIST_EMPTY_2   QI_FALSE

Definition at line 219 of file preproc.hpp.

#define QI_LIST_EMPTY_20   QI_FALSE

Definition at line 237 of file preproc.hpp.

#define QI_LIST_EMPTY_21   QI_FALSE

Definition at line 238 of file preproc.hpp.

#define QI_LIST_EMPTY_22   QI_FALSE

Definition at line 239 of file preproc.hpp.

#define QI_LIST_EMPTY_23   QI_FALSE

Definition at line 240 of file preproc.hpp.

#define QI_LIST_EMPTY_24   QI_FALSE

Definition at line 241 of file preproc.hpp.

#define QI_LIST_EMPTY_25   QI_FALSE

Definition at line 242 of file preproc.hpp.

#define QI_LIST_EMPTY_26   QI_FALSE

Definition at line 243 of file preproc.hpp.

#define QI_LIST_EMPTY_27   QI_FALSE

Definition at line 244 of file preproc.hpp.

#define QI_LIST_EMPTY_28   QI_FALSE

Definition at line 245 of file preproc.hpp.

#define QI_LIST_EMPTY_29   QI_FALSE

Definition at line 246 of file preproc.hpp.

#define QI_LIST_EMPTY_3   QI_FALSE

Definition at line 220 of file preproc.hpp.

#define QI_LIST_EMPTY_30   QI_FALSE

Definition at line 247 of file preproc.hpp.

#define QI_LIST_EMPTY_31   QI_FALSE

Definition at line 248 of file preproc.hpp.

#define QI_LIST_EMPTY_4   QI_FALSE

Definition at line 221 of file preproc.hpp.

#define QI_LIST_EMPTY_5   QI_FALSE

Definition at line 222 of file preproc.hpp.

#define QI_LIST_EMPTY_6   QI_FALSE

Definition at line 223 of file preproc.hpp.

#define QI_LIST_EMPTY_7   QI_FALSE

Definition at line 224 of file preproc.hpp.

#define QI_LIST_EMPTY_8   QI_FALSE

Definition at line 225 of file preproc.hpp.

#define QI_LIST_EMPTY_9   QI_FALSE

Definition at line 226 of file preproc.hpp.

#define QI_LIST_FLATTEN (   List)    QI_LIST_SEP(List, )

Definition at line 393 of file preproc.hpp.

#define QI_LIST_HEAD (   List)    BOOST_PP_SEQ_HEAD(List)

Definition at line 251 of file preproc.hpp.

#define QI_LIST_HELPER (   M,
 
)    M A

Definition at line 208 of file preproc.hpp.

#define QI_LIST_MAP (   Macro,
  List 
)    BOOST_PP_SEQ_TRANSFORM(QI_LIST_MAP_HELPER, Macro, List)

Definition at line 257 of file preproc.hpp.

#define QI_LIST_MAP_AUX (   Macro,
  List,
  Aux 
)    BOOST_PP_SEQ_TRANSFORM(QI_LIST_MAP_AUX_HELPER, (Macro, Aux), List)

Definition at line 262 of file preproc.hpp.

#define QI_LIST_MAP_AUX_HELPER (   Unused,
  Aux,
  Elt 
)    BOOST_PP_TUPLE_ELEM(2, 0, Aux)(Elt, BOOST_PP_TUPLE_ELEM(2, 1, Aux))

Definition at line 260 of file preproc.hpp.

#define QI_LIST_MAP_HELPER (   Unused,
  Macro,
  Elt 
)    Macro(Elt)

Definition at line 255 of file preproc.hpp.

#define QI_LIST_NTH (   Nth,
  List 
)    BOOST_PP_CAT(QI_LIST_NTH_, Nth)(List)

Definition at line 391 of file preproc.hpp.

#define QI_LIST_NTH_0 (   List)    BOOST_PP_CAT(QI_LIST_NTH_0_, QI_LIST_EMPTY(List))(List)

Definition at line 294 of file preproc.hpp.

#define QI_LIST_NTH_0_QI_FALSE (   List)    QI_LIST_HEAD(List)

Definition at line 390 of file preproc.hpp.

#define QI_LIST_NTH_0_QI_TRUE (   List)

Definition at line 295 of file preproc.hpp.

#define QI_LIST_NTH_1 (   List)    BOOST_PP_CAT(QI_LIST_NTH_1_, QI_LIST_EMPTY(List))(List)

Definition at line 296 of file preproc.hpp.

#define QI_LIST_NTH_10 (   List)    BOOST_PP_CAT(QI_LIST_NTH_10_, QI_LIST_EMPTY(List))(List)

Definition at line 323 of file preproc.hpp.

#define QI_LIST_NTH_10_QI_FALSE (   List)    QI_LIST_NTH_9(QI_LIST_TAIL(List))

Definition at line 325 of file preproc.hpp.

#define QI_LIST_NTH_10_QI_TRUE (   List)

Definition at line 324 of file preproc.hpp.

#define QI_LIST_NTH_11 (   List)    BOOST_PP_CAT(QI_LIST_NTH_11_, QI_LIST_EMPTY(List))(List)

Definition at line 326 of file preproc.hpp.

#define QI_LIST_NTH_11_QI_FALSE (   List)    QI_LIST_NTH_10(QI_LIST_TAIL(List))

Definition at line 328 of file preproc.hpp.

#define QI_LIST_NTH_11_QI_TRUE (   List)

Definition at line 327 of file preproc.hpp.

#define QI_LIST_NTH_12 (   List)    BOOST_PP_CAT(QI_LIST_NTH_12_, QI_LIST_EMPTY(List))(List)

Definition at line 329 of file preproc.hpp.

#define QI_LIST_NTH_12_QI_FALSE (   List)    QI_LIST_NTH_11(QI_LIST_TAIL(List))

Definition at line 331 of file preproc.hpp.

#define QI_LIST_NTH_12_QI_TRUE (   List)

Definition at line 330 of file preproc.hpp.

#define QI_LIST_NTH_13 (   List)    BOOST_PP_CAT(QI_LIST_NTH_13_, QI_LIST_EMPTY(List))(List)

Definition at line 332 of file preproc.hpp.

#define QI_LIST_NTH_13_QI_FALSE (   List)    QI_LIST_NTH_12(QI_LIST_TAIL(List))

Definition at line 334 of file preproc.hpp.

#define QI_LIST_NTH_13_QI_TRUE (   List)

Definition at line 333 of file preproc.hpp.

#define QI_LIST_NTH_14 (   List)    BOOST_PP_CAT(QI_LIST_NTH_14_, QI_LIST_EMPTY(List))(List)

Definition at line 335 of file preproc.hpp.

#define QI_LIST_NTH_14_QI_FALSE (   List)    QI_LIST_NTH_13(QI_LIST_TAIL(List))

Definition at line 337 of file preproc.hpp.

#define QI_LIST_NTH_14_QI_TRUE (   List)

Definition at line 336 of file preproc.hpp.

#define QI_LIST_NTH_15 (   List)    BOOST_PP_CAT(QI_LIST_NTH_15_, QI_LIST_EMPTY(List))(List)

Definition at line 338 of file preproc.hpp.

#define QI_LIST_NTH_15_QI_FALSE (   List)    QI_LIST_NTH_14(QI_LIST_TAIL(List))

Definition at line 340 of file preproc.hpp.

#define QI_LIST_NTH_15_QI_TRUE (   List)

Definition at line 339 of file preproc.hpp.

#define QI_LIST_NTH_16 (   List)    BOOST_PP_CAT(QI_LIST_NTH_16_, QI_LIST_EMPTY(List))(List)

Definition at line 341 of file preproc.hpp.

#define QI_LIST_NTH_16_QI_FALSE (   List)    QI_LIST_NTH_15(QI_LIST_TAIL(List))

Definition at line 343 of file preproc.hpp.

#define QI_LIST_NTH_16_QI_TRUE (   List)

Definition at line 342 of file preproc.hpp.

#define QI_LIST_NTH_17 (   List)    BOOST_PP_CAT(QI_LIST_NTH_17_, QI_LIST_EMPTY(List))(List)

Definition at line 344 of file preproc.hpp.

#define QI_LIST_NTH_17_QI_FALSE (   List)    QI_LIST_NTH_16(QI_LIST_TAIL(List))

Definition at line 346 of file preproc.hpp.

#define QI_LIST_NTH_17_QI_TRUE (   List)

Definition at line 345 of file preproc.hpp.

#define QI_LIST_NTH_18 (   List)    BOOST_PP_CAT(QI_LIST_NTH_18_, QI_LIST_EMPTY(List))(List)

Definition at line 347 of file preproc.hpp.

#define QI_LIST_NTH_18_QI_FALSE (   List)    QI_LIST_NTH_17(QI_LIST_TAIL(List))

Definition at line 349 of file preproc.hpp.

#define QI_LIST_NTH_18_QI_TRUE (   List)

Definition at line 348 of file preproc.hpp.

#define QI_LIST_NTH_19 (   List)    BOOST_PP_CAT(QI_LIST_NTH_19_, QI_LIST_EMPTY(List))(List)

Definition at line 350 of file preproc.hpp.

#define QI_LIST_NTH_19_QI_FALSE (   List)    QI_LIST_NTH_18(QI_LIST_TAIL(List))

Definition at line 352 of file preproc.hpp.

#define QI_LIST_NTH_19_QI_TRUE (   List)

Definition at line 351 of file preproc.hpp.

#define QI_LIST_NTH_1_QI_FALSE (   List)    QI_LIST_NTH_0(QI_LIST_TAIL(List))

Definition at line 298 of file preproc.hpp.

#define QI_LIST_NTH_1_QI_TRUE (   List)

Definition at line 297 of file preproc.hpp.

#define QI_LIST_NTH_2 (   List)    BOOST_PP_CAT(QI_LIST_NTH_2_, QI_LIST_EMPTY(List))(List)

Definition at line 299 of file preproc.hpp.

#define QI_LIST_NTH_20 (   List)    BOOST_PP_CAT(QI_LIST_NTH_20_, QI_LIST_EMPTY(List))(List)

Definition at line 353 of file preproc.hpp.

#define QI_LIST_NTH_20_QI_FALSE (   List)    QI_LIST_NTH_19(QI_LIST_TAIL(List))

Definition at line 355 of file preproc.hpp.

#define QI_LIST_NTH_20_QI_TRUE (   List)

Definition at line 354 of file preproc.hpp.

#define QI_LIST_NTH_21 (   List)    BOOST_PP_CAT(QI_LIST_NTH_21_, QI_LIST_EMPTY(List))(List)

Definition at line 356 of file preproc.hpp.

#define QI_LIST_NTH_21_QI_FALSE (   List)    QI_LIST_NTH_20(QI_LIST_TAIL(List))

Definition at line 358 of file preproc.hpp.

#define QI_LIST_NTH_21_QI_TRUE (   List)

Definition at line 357 of file preproc.hpp.

#define QI_LIST_NTH_22 (   List)    BOOST_PP_CAT(QI_LIST_NTH_22_, QI_LIST_EMPTY(List))(List)

Definition at line 359 of file preproc.hpp.

#define QI_LIST_NTH_22_QI_FALSE (   List)    QI_LIST_NTH_21(QI_LIST_TAIL(List))

Definition at line 361 of file preproc.hpp.

#define QI_LIST_NTH_22_QI_TRUE (   List)

Definition at line 360 of file preproc.hpp.

#define QI_LIST_NTH_23 (   List)    BOOST_PP_CAT(QI_LIST_NTH_23_, QI_LIST_EMPTY(List))(List)

Definition at line 362 of file preproc.hpp.

#define QI_LIST_NTH_23_QI_FALSE (   List)    QI_LIST_NTH_22(QI_LIST_TAIL(List))

Definition at line 364 of file preproc.hpp.

#define QI_LIST_NTH_23_QI_TRUE (   List)

Definition at line 363 of file preproc.hpp.

#define QI_LIST_NTH_24 (   List)    BOOST_PP_CAT(QI_LIST_NTH_24_, QI_LIST_EMPTY(List))(List)

Definition at line 365 of file preproc.hpp.

#define QI_LIST_NTH_24_QI_FALSE (   List)    QI_LIST_NTH_23(QI_LIST_TAIL(List))

Definition at line 367 of file preproc.hpp.

#define QI_LIST_NTH_24_QI_TRUE (   List)

Definition at line 366 of file preproc.hpp.

#define QI_LIST_NTH_25 (   List)    BOOST_PP_CAT(QI_LIST_NTH_25_, QI_LIST_EMPTY(List))(List)

Definition at line 368 of file preproc.hpp.

#define QI_LIST_NTH_25_QI_FALSE (   List)    QI_LIST_NTH_24(QI_LIST_TAIL(List))

Definition at line 370 of file preproc.hpp.

#define QI_LIST_NTH_25_QI_TRUE (   List)

Definition at line 369 of file preproc.hpp.

#define QI_LIST_NTH_26 (   List)    BOOST_PP_CAT(QI_LIST_NTH_26_, QI_LIST_EMPTY(List))(List)

Definition at line 371 of file preproc.hpp.

#define QI_LIST_NTH_26_QI_FALSE (   List)    QI_LIST_NTH_25(QI_LIST_TAIL(List))

Definition at line 373 of file preproc.hpp.

#define QI_LIST_NTH_26_QI_TRUE (   List)

Definition at line 372 of file preproc.hpp.

#define QI_LIST_NTH_27 (   List)    BOOST_PP_CAT(QI_LIST_NTH_27_, QI_LIST_EMPTY(List))(List)

Definition at line 374 of file preproc.hpp.

#define QI_LIST_NTH_27_QI_FALSE (   List)    QI_LIST_NTH_26(QI_LIST_TAIL(List))

Definition at line 376 of file preproc.hpp.

#define QI_LIST_NTH_27_QI_TRUE (   List)

Definition at line 375 of file preproc.hpp.

#define QI_LIST_NTH_28 (   List)    BOOST_PP_CAT(QI_LIST_NTH_28_, QI_LIST_EMPTY(List))(List)

Definition at line 377 of file preproc.hpp.

#define QI_LIST_NTH_28_QI_FALSE (   List)    QI_LIST_NTH_27(QI_LIST_TAIL(List))

Definition at line 379 of file preproc.hpp.

#define QI_LIST_NTH_28_QI_TRUE (   List)

Definition at line 378 of file preproc.hpp.

#define QI_LIST_NTH_29 (   List)    BOOST_PP_CAT(QI_LIST_NTH_29_, QI_LIST_EMPTY(List))(List)

Definition at line 380 of file preproc.hpp.

#define QI_LIST_NTH_29_QI_FALSE (   List)    QI_LIST_NTH_28(QI_LIST_TAIL(List))

Definition at line 382 of file preproc.hpp.

#define QI_LIST_NTH_29_QI_TRUE (   List)

Definition at line 381 of file preproc.hpp.

#define QI_LIST_NTH_2_QI_FALSE (   List)    QI_LIST_NTH_1(QI_LIST_TAIL(List))

Definition at line 301 of file preproc.hpp.

#define QI_LIST_NTH_2_QI_TRUE (   List)

Definition at line 300 of file preproc.hpp.

#define QI_LIST_NTH_3 (   List)    BOOST_PP_CAT(QI_LIST_NTH_3_, QI_LIST_EMPTY(List))(List)

Definition at line 302 of file preproc.hpp.

#define QI_LIST_NTH_30 (   List)    BOOST_PP_CAT(QI_LIST_NTH_30_, QI_LIST_EMPTY(List))(List)

Definition at line 383 of file preproc.hpp.

#define QI_LIST_NTH_30_QI_FALSE (   List)    QI_LIST_NTH_29(QI_LIST_TAIL(List))

Definition at line 385 of file preproc.hpp.

#define QI_LIST_NTH_30_QI_TRUE (   List)

Definition at line 384 of file preproc.hpp.

#define QI_LIST_NTH_31 (   List)    BOOST_PP_CAT(QI_LIST_NTH_31_, QI_LIST_EMPTY(List))(List)

Definition at line 386 of file preproc.hpp.

#define QI_LIST_NTH_31_QI_FALSE (   List)    QI_LIST_NTH_30(QI_LIST_TAIL(List))

Definition at line 388 of file preproc.hpp.

#define QI_LIST_NTH_31_QI_TRUE (   List)

Definition at line 387 of file preproc.hpp.

#define QI_LIST_NTH_3_QI_FALSE (   List)    QI_LIST_NTH_2(QI_LIST_TAIL(List))

Definition at line 304 of file preproc.hpp.

#define QI_LIST_NTH_3_QI_TRUE (   List)

Definition at line 303 of file preproc.hpp.

#define QI_LIST_NTH_4 (   List)    BOOST_PP_CAT(QI_LIST_NTH_4_, QI_LIST_EMPTY(List))(List)

Definition at line 305 of file preproc.hpp.

#define QI_LIST_NTH_4_QI_FALSE (   List)    QI_LIST_NTH_3(QI_LIST_TAIL(List))

Definition at line 307 of file preproc.hpp.

#define QI_LIST_NTH_4_QI_TRUE (   List)

Definition at line 306 of file preproc.hpp.

#define QI_LIST_NTH_5 (   List)    BOOST_PP_CAT(QI_LIST_NTH_5_, QI_LIST_EMPTY(List))(List)

Definition at line 308 of file preproc.hpp.

#define QI_LIST_NTH_5_QI_FALSE (   List)    QI_LIST_NTH_4(QI_LIST_TAIL(List))

Definition at line 310 of file preproc.hpp.

#define QI_LIST_NTH_5_QI_TRUE (   List)

Definition at line 309 of file preproc.hpp.

#define QI_LIST_NTH_6 (   List)    BOOST_PP_CAT(QI_LIST_NTH_6_, QI_LIST_EMPTY(List))(List)

Definition at line 311 of file preproc.hpp.

#define QI_LIST_NTH_6_QI_FALSE (   List)    QI_LIST_NTH_5(QI_LIST_TAIL(List))

Definition at line 313 of file preproc.hpp.

#define QI_LIST_NTH_6_QI_TRUE (   List)

Definition at line 312 of file preproc.hpp.

#define QI_LIST_NTH_7 (   List)    BOOST_PP_CAT(QI_LIST_NTH_7_, QI_LIST_EMPTY(List))(List)

Definition at line 314 of file preproc.hpp.

#define QI_LIST_NTH_7_QI_FALSE (   List)    QI_LIST_NTH_6(QI_LIST_TAIL(List))

Definition at line 316 of file preproc.hpp.

#define QI_LIST_NTH_7_QI_TRUE (   List)

Definition at line 315 of file preproc.hpp.

#define QI_LIST_NTH_8 (   List)    BOOST_PP_CAT(QI_LIST_NTH_8_, QI_LIST_EMPTY(List))(List)

Definition at line 317 of file preproc.hpp.

#define QI_LIST_NTH_8_QI_FALSE (   List)    QI_LIST_NTH_7(QI_LIST_TAIL(List))

Definition at line 319 of file preproc.hpp.

#define QI_LIST_NTH_8_QI_TRUE (   List)

Definition at line 318 of file preproc.hpp.

#define QI_LIST_NTH_9 (   List)    BOOST_PP_CAT(QI_LIST_NTH_9_, QI_LIST_EMPTY(List))(List)

Definition at line 320 of file preproc.hpp.

#define QI_LIST_NTH_9_QI_FALSE (   List)    QI_LIST_NTH_8(QI_LIST_TAIL(List))

Definition at line 322 of file preproc.hpp.

#define QI_LIST_NTH_9_QI_TRUE (   List)

Definition at line 321 of file preproc.hpp.

#define QI_LIST_SEP (   List,
  Sep 
)
Value:
QI_CAT(QI_LIST_SEP_, \
QI_LIST_EMPTY(List))(List, QI_WRAP(Sep))
#define QI_LIST_EMPTY(List)
Definition: preproc.hpp:249
#define QI_WRAP(...)
Definition: preproc.hpp:112
#define QI_CAT(A, B)
Concatenate the two arguments.
Definition: preproc.hpp:98

Definition at line 401 of file preproc.hpp.

#define QI_LIST_SEP_HELPER (   Elt,
  Sep 
)    QI_UNWRAP(Sep) Elt

Definition at line 395 of file preproc.hpp.

#define QI_LIST_SEP_QI_FALSE (   List,
  Sep 
)
Value:
#define QI_LIST_SEP_HELPER(Elt, Sep)
Definition: preproc.hpp:395
#define QI_LIST_TAIL(List)
Definition: preproc.hpp:253
#define QI_LIST_HEAD(List)
Definition: preproc.hpp:251
#define QI_LIST_APPLY_AUX(Macro, List, Aux)
Definition: preproc.hpp:277

Definition at line 397 of file preproc.hpp.

#define QI_LIST_SEP_QI_TRUE (   List,
  Sep 
)

Definition at line 400 of file preproc.hpp.

#define QI_LIST_SIZE (   List)    BOOST_PP_SEQ_SIZE(List)

Definition at line 215 of file preproc.hpp.

#define QI_LIST_TAIL (   List)    BOOST_PP_SEQ_TAIL(List)

Definition at line 253 of file preproc.hpp.

#define QI_LIST_VASIZE (   List)    QI_LIST_VASIZE_HELPER1 List

Definition at line 205 of file preproc.hpp.

#define QI_LIST_VASIZE_HELPER1 (   ...)    QI_LIST_VASIZE_HELPER2(__VA_ARGS__, 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, 0)

Definition at line 199 of file preproc.hpp.

#define QI_LIST_VASIZE_HELPER2 (   A0,
  A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11,
  A12,
  A13,
  A14,
  A15,
  A16,
  A17,
  A18,
  A19,
  A20,
  A21,
  A22,
  A23,
  A24,
  A25,
  A26,
  A27,
  A28,
  A29,
  A30,
  A31,
  A32,
  ... 
)    A32

Definition at line 202 of file preproc.hpp.

#define QI_MAP (   Macro,
  Seq 
)    BOOST_PP_SEQ_FOR_EACH(QI_MAP_HELPER, Macro, Seq)

Return Seq, with Macro applied on every element.

Definition at line 17 of file preproc.hpp.

#define QI_MAP_HELPER (   R,
  Macro,
  Elt 
)    (Macro(Elt))

Definition at line 15 of file preproc.hpp.

#define QI_OR (   a,
 
)    _QI_OR_I4(a, b)

Definition at line 423 of file preproc.hpp.

#define QI_PAIR_FIRST (   x)    QI_DELAY(_QI_PAIR_FIRST)x

Definition at line 480 of file preproc.hpp.

#define QI_PAIR_SECOND (   x)    QI_DELAY(_QI_PAIR_SECOND)x

Definition at line 481 of file preproc.hpp.

#define QI_RHEAD (   Seq)    BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(Seq)), Seq)

The last element element of the sequence (reverse head)

Definition at line 51 of file preproc.hpp.

#define QI_RTAIL (   Seq)    BOOST_PP_SEQ_REMOVE(Seq, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(Seq)))

The sequence minus the last element (reverse tail)

Definition at line 53 of file preproc.hpp.

#define QI_SEPARATE (   Seq)
Value:
BOOST_PP_SEQ_HEAD(Seq) \
QI_APPLY(QI_SEPARATE_HELPER, BOOST_PP_SEQ_TAIL(Seq))
#define QI_APPLY(Macro, Seq)
Apply Macro applied on every element of Seq.
Definition: preproc.hpp:22
#define QI_SEPARATE_HELPER(Elt)
Definition: preproc.hpp:26

Separate Seq with commas.

Definition at line 28 of file preproc.hpp.

#define QI_SEPARATE_HELPER (   Elt)    , Elt

Definition at line 26 of file preproc.hpp.

#define QI_UNWRAP (   ...)    QI_ID __VA_ARGS__

Definition at line 114 of file preproc.hpp.

#define QI_VAARGS_APPLY (   Macro,
  Arg,
  ... 
)
Value:
BOOST_PP_SEQ_FOR_EACH(Macro, Arg, \
QI_LIST(__VA_ARGS__,))
#define QI_LIST(...)
Definition: preproc.hpp:210

Call Macro(useless, Arg, elem) for each elem (extra argument).

Definition at line 411 of file preproc.hpp.

#define QI_VAARGS_EMPTY (   ...)    __QI_VAARGS_EMPTY(__VA_ARGS__, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0, 0,1,1)

QI_TRUE if VA_ARGS has no comma, QI_FALSE else.

Definition at line 598 of file preproc.hpp.

#define QI_VAARGS_MAP (   Macro,
  Arg,
  ... 
)    __QI_VAARGS_MAP_0(Macro, Arg, __VA_ARGS__,)

expand to Macro(0, Arg, p0), Macro(1, Arg, p1), ... , Macro(N, Arg, pN)

Definition at line 600 of file preproc.hpp.

#define QI_WRAP (   ...)    (__VA_ARGS__)

Definition at line 112 of file preproc.hpp.