/
usr
/
include
/
boost
/
vmd
/
detail
/
/usr/include/boost/vmd/detail
mkdir
upload
Name
Size
Mode
Actions
recurse/
-
0755
rm
adjust_tuple_type.hpp
2811
0644
edit
dl
rm
array.hpp
4930
0644
edit
dl
rm
assert.hpp
1901
0644
edit
dl
rm
data_equal.hpp
6084
0644
edit
dl
rm
data_equal_common.hpp
11938
0644
edit
dl
rm
empty_result.hpp
422
0644
edit
dl
rm
equal.hpp
17151
0644
edit
dl
rm
equal_common.hpp
4567
0644
edit
dl
rm
equal_type.hpp
713
0644
edit
dl
rm
identifier.hpp
12035
0644
edit
dl
rm
identifier_concat.hpp
648
0644
edit
dl
rm
identifier_type.hpp
3159
0644
edit
dl
rm
idprefix.hpp
602
0644
edit
dl
rm
is_array.hpp
1133
0644
edit
dl
rm
is_array_common.hpp
8306
0644
edit
dl
rm
is_empty.hpp
1582
0644
edit
dl
rm
is_empty_array.hpp
612
0644
edit
dl
rm
is_empty_tuple.hpp
2098
0644
edit
dl
rm
is_entire.hpp
759
0644
edit
dl
rm
is_identifier.hpp
2903
0644
edit
dl
rm
is_list.hpp
5395
0644
edit
dl
rm
is_number.hpp
1148
0644
edit
dl
rm
is_seq.hpp
731
0644
edit
dl
rm
is_tuple.hpp
603
0644
edit
dl
rm
is_type.hpp
1617
0644
edit
dl
rm
is_type_type.hpp
699
0644
edit
dl
rm
list.hpp
5451
0644
edit
dl
rm
match_identifier.hpp
4479
0644
edit
dl
rm
match_identifier_common.hpp
1079
0644
edit
dl
rm
match_single_identifier.hpp
588
0644
edit
dl
rm
modifiers.hpp
4383
0644
edit
dl
rm
mods.hpp
23490
0644
edit
dl
rm
nil_registration.hpp
493
0644
edit
dl
rm
not_empty.hpp
575
0644
edit
dl
rm
number_registration.hpp
34956
0644
edit
dl
rm
only_after.hpp
1097
0644
edit
dl
rm
parens.hpp
1637
0644
edit
dl
rm
parens_common.hpp
1017
0644
edit
dl
rm
parens_split.hpp
796
0644
edit
dl
rm
seq.hpp
6333
0644
edit
dl
rm
sequence_arity.hpp
1988
0644
edit
dl
rm
sequence_common.hpp
23633
0644
edit
dl
rm
sequence_elem.hpp
27810
0644
edit
dl
rm
sequence_enum.hpp
1163
0644
edit
dl
rm
sequence_size.hpp
723
0644
edit
dl
rm
sequence_to_array.hpp
1614
0644
edit
dl
rm
sequence_to_list.hpp
1619
0644
edit
dl
rm
sequence_to_seq.hpp
1579
0644
edit
dl
rm
sequence_to_tuple.hpp
1593
0644
edit
dl
rm
sequence_type.hpp
8622
0644
edit
dl
rm
setup.hpp
1160
0644
edit
dl
rm
tuple.hpp
5224
0644
edit
dl
rm
type_registration.hpp
2813
0644
edit
dl
rm
variadic_pop_front.hpp
768
0644
edit
dl
rm
Edit:
/usr/include/boost/vmd/detail/seq.hpp
(6333B)
// (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_SEQ_HPP) #define BOOST_VMD_DETAIL_SEQ_HPP #include <boost/preprocessor/comparison/equal.hpp> #include <boost/preprocessor/control/iif.hpp> #include <boost/preprocessor/control/while.hpp> #include <boost/preprocessor/facilities/empty.hpp> #include <boost/preprocessor/seq/push_back.hpp> #include <boost/preprocessor/tuple/elem.hpp> #include <boost/preprocessor/tuple/push_back.hpp> #include <boost/preprocessor/tuple/size.hpp> #include <boost/preprocessor/variadic/elem.hpp> #include <boost/vmd/is_empty.hpp> #include <boost/vmd/detail/empty_result.hpp> #include <boost/vmd/detail/mods.hpp> #include <boost/vmd/detail/not_empty.hpp> #include <boost/vmd/detail/parens.hpp> #define BOOST_VMD_DETAIL_SEQ_STATE_INIT(seq) \ BOOST_PP_TUPLE_PUSH_BACK \ ( \ BOOST_PP_TUPLE_PUSH_BACK \ ( \ BOOST_VMD_DETAIL_PARENS(seq,BOOST_VMD_RETURN_AFTER), \ BOOST_PP_EMPTY() \ ), \ BOOST_PP_EMPTY() \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_INIT_D(d,seq) \ BOOST_PP_TUPLE_PUSH_BACK \ ( \ BOOST_PP_TUPLE_PUSH_BACK \ ( \ BOOST_VMD_DETAIL_PARENS_D(d,seq,BOOST_VMD_RETURN_AFTER), \ BOOST_PP_EMPTY() \ ), \ BOOST_PP_EMPTY() \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_PRED(d,state) \ BOOST_VMD_DETAIL_NOT_EMPTY \ ( \ BOOST_PP_TUPLE_ELEM(0,state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_FAILURE(d,state) \ ( \ BOOST_PP_EMPTY(), \ BOOST_PP_EMPTY(), \ BOOST_PP_TUPLE_ELEM(2,state), \ BOOST_PP_TUPLE_ELEM(3,state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_OP_MAKE_SEQ(d,state) \ BOOST_PP_TUPLE_ELEM(0,state) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_OP_UPGRADE_SEQ(d,state) \ BOOST_PP_SEQ_PUSH_BACK \ ( \ BOOST_PP_TUPLE_ELEM(2,state), \ BOOST_PP_TUPLE_ELEM \ ( \ 0, \ BOOST_PP_TUPLE_ELEM(0,state) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_SUCCESS(d,state) \ ( \ BOOST_PP_EMPTY(), \ BOOST_PP_EMPTY(), \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY \ ( \ BOOST_PP_TUPLE_ELEM(2,state) \ ), \ BOOST_VMD_DETAIL_SEQ_STATE_OP_MAKE_SEQ, \ BOOST_VMD_DETAIL_SEQ_STATE_OP_UPGRADE_SEQ \ ) \ (d,state), \ BOOST_PP_EMPTY() \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_CONTINUE(d,state) \ BOOST_PP_TUPLE_PUSH_BACK \ ( \ BOOST_PP_TUPLE_PUSH_BACK \ ( \ BOOST_VMD_DETAIL_PARENS_D(d,BOOST_PP_TUPLE_ELEM(1,state),BOOST_VMD_RETURN_AFTER), \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY \ ( \ BOOST_PP_TUPLE_ELEM(2,state) \ ), \ BOOST_VMD_DETAIL_SEQ_STATE_OP_MAKE_SEQ, \ BOOST_VMD_DETAIL_SEQ_STATE_OP_UPGRADE_SEQ \ ) \ (d,state) \ ), \ BOOST_PP_TUPLE_ELEM(1,state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_OP_CHECK_REST(d,state) \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY \ ( \ BOOST_PP_TUPLE_ELEM(1,state) \ ), \ BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_SUCCESS, \ BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_CONTINUE \ ) \ (d,state) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_OP(d,state) \ BOOST_PP_IIF \ ( \ BOOST_PP_EQUAL_D \ ( \ d, \ 1, \ BOOST_PP_TUPLE_SIZE \ ( \ BOOST_PP_TUPLE_ELEM(0,state) \ ) \ ), \ BOOST_VMD_DETAIL_SEQ_STATE_OP_CHECK_REST, \ BOOST_VMD_DETAIL_SEQ_STATE_OP_SET_FAILURE \ ) \ (d,state) \ /**/ #define BOOST_VMD_DETAIL_SEQ_STATE_RESULT(state) \ ( \ BOOST_PP_TUPLE_ELEM(2,state), \ BOOST_PP_TUPLE_ELEM(3,state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_PROCESS(seq) \ BOOST_VMD_DETAIL_SEQ_STATE_RESULT \ ( \ BOOST_PP_WHILE \ ( \ BOOST_VMD_DETAIL_SEQ_STATE_PRED, \ BOOST_VMD_DETAIL_SEQ_STATE_OP, \ BOOST_VMD_DETAIL_SEQ_STATE_INIT(seq) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_SPLIT(seq) \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY(seq), \ BOOST_VMD_DETAIL_EMPTY_RESULT, \ BOOST_VMD_DETAIL_SEQ_PROCESS \ ) \ (seq) \ /**/ #define BOOST_VMD_DETAIL_SEQ_BEGIN(seq) \ BOOST_PP_TUPLE_ELEM(0,BOOST_VMD_DETAIL_SEQ_SPLIT(seq)) \ /**/ #define BOOST_VMD_DETAIL_SEQ_PROCESS_D(d,seq) \ BOOST_VMD_DETAIL_SEQ_STATE_RESULT \ ( \ BOOST_PP_WHILE_ ## d \ ( \ BOOST_VMD_DETAIL_SEQ_STATE_PRED, \ BOOST_VMD_DETAIL_SEQ_STATE_OP, \ BOOST_VMD_DETAIL_SEQ_STATE_INIT_D(d,seq) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQ_SPLIT_D(d,seq) \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY(seq), \ BOOST_VMD_DETAIL_EMPTY_RESULT, \ BOOST_VMD_DETAIL_SEQ_PROCESS_D \ ) \ (d,seq) \ /**/ #define BOOST_VMD_DETAIL_SEQ_BEGIN_D(d,seq) \ BOOST_PP_TUPLE_ELEM(0,BOOST_VMD_DETAIL_SEQ_SPLIT_D(d,seq)) \ /**/ #define BOOST_VMD_DETAIL_SEQ_D(d,...) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ ( \ BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ ), \ BOOST_VMD_DETAIL_SEQ_SPLIT_D, \ BOOST_VMD_DETAIL_SEQ_BEGIN_D \ ) \ (d,BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ /**/ #define BOOST_VMD_DETAIL_SEQ(...) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_MODS_IS_RESULT_AFTER \ ( \ BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_AFTER,__VA_ARGS__) \ ), \ BOOST_VMD_DETAIL_SEQ_SPLIT, \ BOOST_VMD_DETAIL_SEQ_BEGIN \ ) \ (BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__)) \ /**/ #endif /* BOOST_VMD_DETAIL_SEQ_HPP */
Save
cmd:
run