/usr/include/boost/vmd/detail
NameSizeModeActions
recurse/-0755rm
adjust_tuple_type.hpp28110644editdlrm
array.hpp49300644editdlrm
assert.hpp19010644editdlrm
data_equal.hpp60840644editdlrm
data_equal_common.hpp119380644editdlrm
empty_result.hpp4220644editdlrm
equal.hpp171510644editdlrm
equal_common.hpp45670644editdlrm
equal_type.hpp7130644editdlrm
identifier.hpp120350644editdlrm
identifier_concat.hpp6480644editdlrm
identifier_type.hpp31590644editdlrm
idprefix.hpp6020644editdlrm
is_array.hpp11330644editdlrm
is_array_common.hpp83060644editdlrm
is_empty.hpp15820644editdlrm
is_empty_array.hpp6120644editdlrm
is_empty_tuple.hpp20980644editdlrm
is_entire.hpp7590644editdlrm
is_identifier.hpp29030644editdlrm
is_list.hpp53950644editdlrm
is_number.hpp11480644editdlrm
is_seq.hpp7310644editdlrm
is_tuple.hpp6030644editdlrm
is_type.hpp16170644editdlrm
is_type_type.hpp6990644editdlrm
list.hpp54510644editdlrm
match_identifier.hpp44790644editdlrm
match_identifier_common.hpp10790644editdlrm
match_single_identifier.hpp5880644editdlrm
modifiers.hpp43830644editdlrm
mods.hpp234900644editdlrm
nil_registration.hpp4930644editdlrm
not_empty.hpp5750644editdlrm
number_registration.hpp349560644editdlrm
only_after.hpp10970644editdlrm
parens.hpp16370644editdlrm
parens_common.hpp10170644editdlrm
parens_split.hpp7960644editdlrm
seq.hpp63330644editdlrm
sequence_arity.hpp19880644editdlrm
sequence_common.hpp236330644editdlrm
sequence_elem.hpp278100644editdlrm
sequence_enum.hpp11630644editdlrm
sequence_size.hpp7230644editdlrm
sequence_to_array.hpp16140644editdlrm
sequence_to_list.hpp16190644editdlrm
sequence_to_seq.hpp15790644editdlrm
sequence_to_tuple.hpp15930644editdlrm
sequence_type.hpp86220644editdlrm
setup.hpp11600644editdlrm
tuple.hpp52240644editdlrm
type_registration.hpp28130644editdlrm
variadic_pop_front.hpp7680644editdlrm
Edit: /usr/include/boost/vmd/detail/equal.hpp (17151B)
// (C) Copyright Edward Diener 2011-2015 // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt). #if !defined(BOOST_VMD_DETAIL_EQUAL_HPP) #define BOOST_VMD_DETAIL_EQUAL_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_1(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_1_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_2(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_2_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_3(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_3_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_4(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_4_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_5(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_5_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_6(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_6_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_7(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_7_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_8(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_8_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_9(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_9_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_10(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_10_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_11(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_11_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_12(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_12_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_13(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_13_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_14(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_14_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_15(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_15_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_16(d,vseq1,vseq2) BOOST_VMD_DETAIL_EQUAL_16_D(d,vseq1,vseq2) #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_AUTO_REC_D(n) \ BOOST_VMD_DETAIL_EQUAL_IS_1 \ ( \ BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_ ## n(1,,) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_SIMPLE_D \ BOOST_PP_CAT \ ( \ BOOST_VMD_DETAIL_EQUAL_SIMPLE_D_, \ BOOST_PP_AUTO_REC(BOOST_VMD_DETAIL_EQUAL_SIMPLE_AUTO_REC_D,16) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_CNI_CHK(vseq1,vseq2,vtype) \ BOOST_PP_IIF \ ( \ BOOST_PP_BITOR \ ( \ BOOST_PP_BITOR \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST) \ ), \ BOOST_PP_BITOR \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_TUPLE) \ ) \ ), \ BOOST_VMD_DETAIL_DATA_EQUAL, \ BOOST_VMD_DETAIL_EQUAL_CNI_SMP \ ) \ (vseq1,vseq2,vtype) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_CNI_CHK_D(d,vseq1,vseq2,vtype) \ BOOST_PP_IIF \ ( \ BOOST_PP_BITOR \ ( \ BOOST_PP_BITOR \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST) \ ), \ BOOST_PP_BITOR \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_TUPLE) \ ) \ ), \ BOOST_VMD_DETAIL_DATA_EQUAL_D, \ BOOST_VMD_DETAIL_EQUAL_CNI_SMP_D \ ) \ (d,vseq1,vseq2,vtype) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_VSEQ(vseq1,vseq2,vtype) \ BOOST_VMD_DETAIL_DATA_EQUAL \ ( \ BOOST_VMD_TO_SEQ(vseq1), \ BOOST_VMD_TO_SEQ(vseq2), \ BOOST_VMD_TYPE_SEQ \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_VSEQ_D(d,vseq1,vseq2,vtype) \ BOOST_VMD_DETAIL_DATA_EQUAL_D \ ( \ d, \ BOOST_VMD_TO_SEQ_D(d,vseq1), \ BOOST_VMD_TO_SEQ_D(d,vseq2), \ BOOST_VMD_TYPE_SEQ \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_CNI(vseq1,vseq2,vtype) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE \ ( \ vtype, \ BOOST_VMD_TYPE_SEQUENCE \ ), \ BOOST_VMD_DETAIL_EQUAL_VSEQ, \ BOOST_VMD_DETAIL_EQUAL_CNI_CHK \ ) \ (vseq1,vseq2,vtype) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_CNI_D(d,vseq1,vseq2,vtype) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ vtype, \ BOOST_VMD_TYPE_SEQUENCE \ ), \ BOOST_VMD_DETAIL_EQUAL_VSEQ_D, \ BOOST_VMD_DETAIL_EQUAL_CNI_CHK_D \ ) \ (d,vseq1,vseq2,vtype) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_TUPLE(vseq1,vtype1,type) \ BOOST_PP_BITOR \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE \ ( \ BOOST_VMD_TYPE_ARRAY, \ vtype1 \ ), \ BOOST_PP_BITAND \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE \ ( \ BOOST_VMD_TYPE_LIST, \ vtype1 \ ), \ BOOST_PP_COMPL \ ( \ BOOST_VMD_IS_EMPTY_LIST(vseq1) \ ) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_TUPLE_D(d,vseq1,vtype1,type) \ BOOST_PP_BITOR \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ BOOST_VMD_TYPE_ARRAY, \ vtype1 \ ), \ BOOST_PP_BITAND \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ BOOST_VMD_TYPE_LIST, \ vtype1 \ ), \ BOOST_PP_COMPL \ ( \ BOOST_VMD_IS_EMPTY_LIST_D(d,vseq1) \ ) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_IDENTIFIER(vseq1,vtype1,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE \ ( \ BOOST_VMD_TYPE_IDENTIFIER, \ type \ ), \ BOOST_VMD_IS_IDENTIFIER, \ BOOST_VMD_IDENTITY(0) \ ) \ (vseq1) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_IDENTIFIER_D(d,vseq1,vtype1,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ BOOST_VMD_TYPE_IDENTIFIER, \ type \ ), \ BOOST_VMD_IS_IDENTIFIER_D, \ BOOST_VMD_IDENTITY(0) \ ) \ (d,vseq1) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK(vseq1,vtype1,type) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE \ ( \ BOOST_VMD_TYPE_TUPLE, \ type \ ), \ BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_TUPLE, \ BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_IDENTIFIER \ ) \ (vseq1,vtype1,type) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_D(d,vseq1,vtype1,type) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ BOOST_VMD_TYPE_TUPLE, \ type \ ), \ BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_TUPLE_D, \ BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_IDENTIFIER_D \ ) \ (d,vseq1,vtype1,type) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE(vseq1,vtype1,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE \ ( \ vtype1, \ type \ ), \ BOOST_VMD_IDENTITY(1), \ BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK \ ) \ (vseq1,vtype1,type) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_D(d,vseq1,vtype1,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ vtype1, \ type \ ), \ BOOST_VMD_IDENTITY(1), \ BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_CHECK_D \ ) \ (d,vseq1,vtype1,type) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_WT_CHECK(vseq1,vseq2,vtype1,vtype2,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_PP_BITAND \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE \ ( \ vtype1, \ vtype2 \ ), \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_NOT_EMPTY(type), \ BOOST_VMD_DETAIL_EQUAL_TEST_TYPE, \ BOOST_VMD_IDENTITY(1) \ ) \ (vseq1,vtype1,type) \ ) \ ), \ BOOST_VMD_DETAIL_EQUAL_CNI, \ BOOST_VMD_IDENTITY(0) \ ) \ (vseq1,vseq2,vtype1) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_WT_CHECK_D(d,vseq1,vseq2,vtype1,vtype2,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_PP_BITAND \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ vtype1, \ vtype2 \ ), \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_NOT_EMPTY(type), \ BOOST_VMD_DETAIL_EQUAL_TEST_TYPE_D, \ BOOST_VMD_IDENTITY(1) \ ) \ (d,vseq1,vtype1,type) \ ) \ ), \ BOOST_VMD_DETAIL_EQUAL_CNI_D, \ BOOST_VMD_IDENTITY(0) \ ) \ (d,vseq1,vseq2,vtype1) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_WT_CONVERT(vseq1,vseq2,vtype1,vtype2,type) \ BOOST_VMD_DETAIL_EQUAL_WT_CHECK \ ( \ vseq1, \ vseq2, \ BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq1,vtype1), \ BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE(vseq2,vtype2), \ type \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_WT_CONVERT_D(d,vseq1,vseq2,vtype1,vtype2,type) \ BOOST_VMD_DETAIL_EQUAL_WT_CHECK_D \ ( \ d, \ vseq1, \ vseq2, \ BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq1,vtype1), \ BOOST_VMD_DETAIL_ADJUST_TUPLE_TYPE_D(d,vseq2,vtype2), \ type \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_WT(vseq1,vseq2,vtype1,vtype2,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH(vseq1,vseq2,vtype1,vtype2), \ BOOST_VMD_IDENTITY(0), \ BOOST_VMD_DETAIL_EQUAL_WT_CONVERT \ ) \ (vseq1,vseq2,vtype1,vtype2,type) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_WT_D(d,vseq1,vseq2,vtype1,vtype2,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_IS_TUPLE_MISMATCH_D(d,vseq1,vseq2,vtype1,vtype2), \ BOOST_VMD_IDENTITY(0), \ BOOST_VMD_DETAIL_EQUAL_WT_CONVERT_D \ ) \ (d,vseq1,vseq2,vtype1,vtype2,type) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_GTYPE(vseq1,vseq2,type) \ BOOST_VMD_DETAIL_EQUAL_WT \ ( \ vseq1, \ vseq2, \ BOOST_VMD_GET_TYPE(vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ BOOST_VMD_GET_TYPE(vseq2,BOOST_VMD_RETURN_TYPE_TUPLE), \ type \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_GTYPE_D(d,vseq1,vseq2,type) \ BOOST_VMD_DETAIL_EQUAL_WT_D \ ( \ d, \ vseq1, \ vseq2, \ BOOST_VMD_GET_TYPE_D(d,vseq1,BOOST_VMD_RETURN_TYPE_TUPLE), \ BOOST_VMD_GET_TYPE_D(d,vseq2,BOOST_VMD_RETURN_TYPE_TUPLE), \ type \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_EBP(vseq1,vseq2,be1,be2,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_PP_BITAND \ ( \ BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ ), \ BOOST_VMD_DETAIL_EQUAL_GTYPE, \ BOOST_VMD_IDENTITY(0) \ ) \ (vseq1,vseq2,type) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_EBP_D(d,vseq1,vseq2,be1,be2,type) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_PP_BITAND \ ( \ BOOST_VMD_DETAIL_EQUAL_CHK_MATCH(be1,be2), \ BOOST_VMD_DETAIL_EQUAL_CHK_PARENS_MATCH(vseq1,vseq2) \ ), \ BOOST_VMD_DETAIL_EQUAL_GTYPE_D, \ BOOST_VMD_IDENTITY(0) \ ) \ (d,vseq1,vseq2,type) \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_EMPTY(vseq1,vseq2,be1,be2,type) \ BOOST_PP_IIF \ ( \ BOOST_PP_BITAND(be1,be2), \ BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ BOOST_VMD_DETAIL_EQUAL_EBP \ ) \ (vseq1,vseq2,be1,be2,type) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_EMPTY_D(d,vseq1,vseq2,be1,be2,type) \ BOOST_PP_IIF \ ( \ BOOST_PP_BITAND(be1,be2), \ BOOST_VMD_DETAIL_EQUAL_BOTH_EMPTY, \ BOOST_VMD_DETAIL_EQUAL_EBP_D \ ) \ (d,vseq1,vseq2,be1,be2,type) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_OV1(vseq1,vseq2) \ BOOST_VMD_DETAIL_EQUAL_EMPTY \ ( \ vseq1, \ vseq2, \ BOOST_VMD_IS_EMPTY(vseq1), \ BOOST_VMD_IS_EMPTY(vseq2), \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_OV2(vseq1,vseq2,type) \ BOOST_VMD_DETAIL_EQUAL_EMPTY \ ( \ vseq1, \ vseq2, \ BOOST_VMD_IS_EMPTY(vseq1), \ BOOST_VMD_IS_EMPTY(vseq2), \ type \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_D_OV1(d,vseq1,vseq2) \ BOOST_VMD_DETAIL_EQUAL_EMPTY_D \ ( \ d, \ vseq1, \ vseq2, \ BOOST_VMD_IS_EMPTY(vseq1), \ BOOST_VMD_IS_EMPTY(vseq2), \ ) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_D_OV2(d,vseq1,vseq2,type) \ BOOST_VMD_DETAIL_EQUAL_EMPTY_D \ ( \ d, \ vseq1, \ vseq2, \ BOOST_VMD_IS_EMPTY(vseq1), \ BOOST_VMD_IS_EMPTY(vseq2), \ type \ ) \ /**/ #if BOOST_VMD_MSVC #define BOOST_VMD_DETAIL_EQUAL(vseq1,...) \ BOOST_PP_CAT(BOOST_PP_OVERLOAD(BOOST_VMD_DETAIL_EQUAL_OV,__VA_ARGS__)(vseq1,__VA_ARGS__),BOOST_PP_EMPTY()) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_D(d,vseq1,...) \ BOOST_PP_CAT(BOOST_PP_OVERLOAD(BOOST_VMD_DETAIL_EQUAL_D_OV,__VA_ARGS__)(d,vseq1,__VA_ARGS__),BOOST_PP_EMPTY()) \ /**/ #else #define BOOST_VMD_DETAIL_EQUAL(vseq1,...) \ BOOST_PP_OVERLOAD(BOOST_VMD_DETAIL_EQUAL_OV,__VA_ARGS__)(vseq1,__VA_ARGS__) \ /**/ #define BOOST_VMD_DETAIL_EQUAL_D(d,vseq1,...) \ BOOST_PP_OVERLOAD(BOOST_VMD_DETAIL_EQUAL_D_OV,__VA_ARGS__)(d,vseq1,__VA_ARGS__) \ /**/ #endif #endif /* BOOST_VMD_DETAIL_EQUAL_HPP */