/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/data_equal_common.hpp (11938B)
// (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_DATA_EQUAL_COMMON_HPP) #define BOOST_VMD_DETAIL_DATA_EQUAL_COMMON_HPP #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_DATA_EQUAL_IS_BOTH_COMPOSITE(vseq1,vseq2) \ BOOST_PP_BITAND \ ( \ BOOST_PP_IS_BEGIN_PARENS(vseq1), \ BOOST_PP_IS_BEGIN_PARENS(vseq2) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_ARRAY(d,index,data) \ BOOST_PP_ARRAY_ELEM(index,data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_LIST(d,index,data) \ BOOST_PP_LIST_AT_D(d,data,index) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_SEQ(d,index,data) \ BOOST_PP_SEQ_ELEM(index,data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_TUPLE(d,index,data) \ BOOST_PP_TUPLE_ELEM(index,data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_ARRAY(data) \ BOOST_PP_ARRAY_SIZE(data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_LIST(data) \ BOOST_PP_LIST_SIZE(data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_SEQ(data) \ BOOST_PP_SEQ_SIZE(data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_TUPLE(data) \ BOOST_PP_TUPLE_SIZE(data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_ARRAY_D(d,data) \ BOOST_PP_ARRAY_SIZE(data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_LIST_D(d,data) \ BOOST_PP_LIST_SIZE_D(d,data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_SEQ_D(d,data) \ BOOST_PP_SEQ_SIZE(data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_TUPLE_D(d,data) \ BOOST_PP_TUPLE_SIZE(data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM(d,index,data,vtype) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_ARRAY, \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST), \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_LIST, \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_SEQ, \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM_TUPLE \ ) \ ) \ ) \ (d,index,data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE(data,vtype) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_ARRAY), \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_ARRAY, \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_LIST), \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_LIST, \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE(vtype,BOOST_VMD_TYPE_SEQ), \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_SEQ, \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_TUPLE \ ) \ ) \ ) \ (data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_D(d,data,vtype) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_ARRAY), \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_ARRAY_D, \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_LIST), \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_LIST_D, \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,vtype,BOOST_VMD_TYPE_SEQ), \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_SEQ_D, \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_SIZE_TUPLE_D \ ) \ ) \ ) \ (d,data) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_RESULT(state) \ BOOST_PP_TUPLE_ELEM(0,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_FIRST(state) \ BOOST_PP_TUPLE_ELEM(1,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SECOND(state) \ BOOST_PP_TUPLE_ELEM(2,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SIZE(state) \ BOOST_PP_TUPLE_ELEM(3,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_TYPE(state) \ BOOST_PP_TUPLE_ELEM(4,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state) \ BOOST_PP_TUPLE_ELEM(5,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state) \ BOOST_PP_TUPLE_ELEM(6,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state) \ BOOST_PP_BITAND \ ( \ BOOST_PP_EQUAL_D \ ( \ d, \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SIZE(state) \ ), \ BOOST_PP_COMPL(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state)) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state) \ BOOST_VMD_IS_EMPTY(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state)) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_INDEX(state) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state), \ BOOST_VMD_EMPTY, \ BOOST_PP_TUPLE_ELEM \ ) \ (0,BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state)) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP_NE_EMPTY(d,state) \ BOOST_PP_TUPLE_REPLACE_D \ ( \ d, \ state, \ 6, \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP_NE_REMOVE(d,state) \ BOOST_PP_TUPLE_REPLACE_D \ ( \ d, \ state, \ 6, \ BOOST_PP_TUPLE_POP_FRONT(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state)) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP(d,state) \ BOOST_PP_IIF \ ( \ BOOST_PP_EQUAL_D(d,BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state)),1), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP_NE_EMPTY, \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP_NE_REMOVE \ ) \ (d,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH_CREATE(d,state) \ BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS \ ( \ d, \ BOOST_PP_TUPLE_REPLACE_D \ ( \ d, \ state, \ 6, \ (BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state)) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH_ADD(d,state) \ BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS \ ( \ d, \ BOOST_PP_TUPLE_REPLACE_D \ ( \ d, \ state, \ 6, \ BOOST_PP_TUPLE_PUSH_BACK \ ( \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP(state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state) \ ) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH(d,state) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH_CREATE, \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH_ADD \ ) \ (d,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_INDEX(d,state) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_INDEX, \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX \ ) \ (state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_FIRST_ELEMENT(d,state) \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM \ ( \ d, \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_INDEX(d,state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_FIRST(state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_TYPE(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_SECOND_ELEMENT(d,state) \ BOOST_VMD_DETAIL_DATA_EQUAL_GET_ELEM \ ( \ d, \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_GET_INDEX(d,state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SECOND(state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_TYPE(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_PRED(d,state) \ BOOST_PP_BITAND \ ( \ BOOST_PP_EQUAL_D \ ( \ d, \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_RESULT(state), \ 1 \ ), \ BOOST_PP_BITOR \ ( \ BOOST_PP_NOT_EQUAL_D \ ( \ d, \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_SIZE(state) \ ), \ BOOST_PP_COMPL \ ( \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_EMPTY(state) \ ) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS_NCP(d,state) \ BOOST_PP_TUPLE_REPLACE_D \ ( \ d, \ state, \ 5, \ BOOST_PP_INC(BOOST_VMD_DETAIL_DATA_EQUAL_STATE_INDEX(state)) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS(d,state) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PROCESSING(d,state), \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_POP, \ BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS_NCP \ ) \ (d,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_OP_FAILURE(d,state) \ BOOST_PP_TUPLE_REPLACE_D \ ( \ d, \ state, \ 0, \ 0 \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_OP_RESULT(d,state,result) \ BOOST_PP_IIF \ ( \ BOOST_PP_EQUAL_D(d,result,0), \ BOOST_VMD_DETAIL_DATA_EQUAL_OP_FAILURE, \ BOOST_PP_IIF \ ( \ BOOST_PP_EQUAL_D(d,result,1), \ BOOST_VMD_DETAIL_DATA_EQUAL_OP_SUCCESS, \ BOOST_VMD_DETAIL_DATA_EQUAL_STATE_COMP_PUSH \ ) \ ) \ (d,state) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_TYPE(emf,ems,vtype) \ BOOST_PP_BITAND \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE \ ( \ BOOST_VMD_GET_TYPE(emf), \ vtype \ ), \ BOOST_VMD_DETAIL_EQUAL_TYPE \ ( \ BOOST_VMD_GET_TYPE(ems), \ vtype \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_DATA_EQUAL_TYPE_D(d,emf,ems,vtype) \ BOOST_PP_BITAND \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ BOOST_VMD_GET_TYPE(emf), \ vtype \ ), \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ BOOST_VMD_GET_TYPE(ems), \ vtype \ ) \ ) \ /**/ #endif /* BOOST_VMD_DETAIL_DATA_EQUAL_COMMON_HPP */