/
usr
/
include
/
boost
/
mpl
/
aux_
/
/usr/include/boost/mpl/aux_
mkdir
upload
Name
Size
Mode
Actions
config/
-
0755
rm
preprocessed/
-
0755
rm
preprocessor/
-
0755
rm
range_c/
-
0755
rm
test/
-
0755
rm
adl_barrier.hpp
1559
0644
edit
dl
rm
advance_backward.hpp
3419
0644
edit
dl
rm
advance_forward.hpp
3338
0644
edit
dl
rm
apply_1st.hpp
731
0644
edit
dl
rm
arg_typedef.hpp
776
0644
edit
dl
rm
arithmetic_op.hpp
2441
0644
edit
dl
rm
arity.hpp
1095
0644
edit
dl
rm
arity_spec.hpp
1832
0644
edit
dl
rm
at_impl.hpp
1091
0644
edit
dl
rm
back_impl.hpp
1121
0644
edit
dl
rm
basic_bind.hpp
550
0644
edit
dl
rm
begin_end_impl.hpp
2643
0644
edit
dl
rm
clear_impl.hpp
827
0644
edit
dl
rm
common_name_wknd.hpp
877
0644
edit
dl
rm
comparison_op.hpp
2153
0644
edit
dl
rm
contains_impl.hpp
1572
0644
edit
dl
rm
count_args.hpp
2937
0644
edit
dl
rm
count_impl.hpp
1175
0644
edit
dl
rm
empty_impl.hpp
1059
0644
edit
dl
rm
erase_impl.hpp
1767
0644
edit
dl
rm
erase_key_impl.hpp
749
0644
edit
dl
rm
filter_iter.hpp
3017
0644
edit
dl
rm
find_if_pred.hpp
756
0644
edit
dl
rm
fold_impl.hpp
1271
0644
edit
dl
rm
fold_impl_body.hpp
8944
0644
edit
dl
rm
fold_op.hpp
822
0644
edit
dl
rm
fold_pred.hpp
764
0644
edit
dl
rm
front_impl.hpp
1032
0644
edit
dl
rm
full_lambda.hpp
8796
0644
edit
dl
rm
has_apply.hpp
767
0644
edit
dl
rm
has_begin.hpp
580
0644
edit
dl
rm
has_key_impl.hpp
856
0644
edit
dl
rm
has_rebind.hpp
2571
0644
edit
dl
rm
has_size.hpp
553
0644
edit
dl
rm
has_tag.hpp
571
0644
edit
dl
rm
has_type.hpp
575
0644
edit
dl
rm
include_preprocessed.hpp
1333
0644
edit
dl
rm
inserter_algorithm.hpp
4816
0644
edit
dl
rm
insert_impl.hpp
1714
0644
edit
dl
rm
insert_range_impl.hpp
2225
0644
edit
dl
rm
integral_wrapper.hpp
3521
0644
edit
dl
rm
is_msvc_eti_arg.hpp
1318
0644
edit
dl
rm
iter_apply.hpp
902
0644
edit
dl
rm
iter_fold_if_impl.hpp
5848
0644
edit
dl
rm
iter_fold_impl.hpp
1240
0644
edit
dl
rm
iter_push_front.hpp
771
0644
edit
dl
rm
joint_iter.hpp
2877
0644
edit
dl
rm
lambda_arity_param.hpp
696
0644
edit
dl
rm
lambda_no_ctps.hpp
4941
0644
edit
dl
rm
lambda_spec.hpp
1214
0644
edit
dl
rm
lambda_support.hpp
5366
0644
edit
dl
rm
largest_int.hpp
1979
0644
edit
dl
rm
logical_op.hpp
4535
0644
edit
dl
rm
msvc_dtw.hpp
1742
0644
edit
dl
rm
msvc_eti_base.hpp
1668
0644
edit
dl
rm
msvc_is_class.hpp
1485
0644
edit
dl
rm
msvc_never_true.hpp
743
0644
edit
dl
rm
msvc_type.hpp
1207
0644
edit
dl
rm
na.hpp
1645
0644
edit
dl
rm
na_assert.hpp
958
0644
edit
dl
rm
na_fwd.hpp
673
0644
edit
dl
rm
na_spec.hpp
4449
0644
edit
dl
rm
nested_type_wknd.hpp
1266
0644
edit
dl
rm
nttp_decl.hpp
844
0644
edit
dl
rm
numeric_cast_utils.hpp
1763
0644
edit
dl
rm
numeric_op.hpp
8489
0644
edit
dl
rm
O1_size_impl.hpp
2104
0644
edit
dl
rm
order_impl.hpp
2044
0644
edit
dl
rm
overload_names.hpp
2029
0644
edit
dl
rm
partition_op.hpp
1390
0644
edit
dl
rm
pop_back_impl.hpp
804
0644
edit
dl
rm
pop_front_impl.hpp
1078
0644
edit
dl
rm
ptr_to_ref.hpp
1095
0644
edit
dl
rm
push_back_impl.hpp
2071
0644
edit
dl
rm
push_front_impl.hpp
2092
0644
edit
dl
rm
reverse_fold_impl.hpp
1384
0644
edit
dl
rm
reverse_fold_impl_body.hpp
10599
0644
edit
dl
rm
reverse_iter_fold_impl.hpp
1356
0644
edit
dl
rm
sequence_wrapper.hpp
8170
0644
edit
dl
rm
shift_op.hpp
2246
0644
edit
dl
rm
single_element_iter.hpp
2789
0644
edit
dl
rm
size_impl.hpp
1324
0644
edit
dl
rm
sort_impl.hpp
2877
0644
edit
dl
rm
static_cast.hpp
770
0644
edit
dl
rm
template_arity.hpp
4735
0644
edit
dl
rm
template_arity_fwd.hpp
563
0644
edit
dl
rm
test.hpp
729
0644
edit
dl
rm
traits_lambda_spec.hpp
1569
0644
edit
dl
rm
transform_iter.hpp
2636
0644
edit
dl
rm
type_wrapper.hpp
1181
0644
edit
dl
rm
unwrap.hpp
929
0644
edit
dl
rm
value_wknd.hpp
2029
0644
edit
dl
rm
yes_no.hpp
1180
0644
edit
dl
rm
Edit:
/usr/include/boost/mpl/aux_/fold_impl_body.hpp
(8944B)
// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION #if !defined(BOOST_PP_IS_ITERATING) // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under 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) // // See http://www.boost.org/libs/mpl for documentation. // $Id$ // $Date$ // $Revision$ # include <boost/mpl/limits/unrolling.hpp> # include <boost/mpl/aux_/preprocessor/repeat.hpp> # include <boost/mpl/aux_/config/workaround.hpp> # include <boost/mpl/aux_/config/ctps.hpp> # include <boost/mpl/aux_/nttp_decl.hpp> # include <boost/mpl/aux_/config/eti.hpp> # include <boost/preprocessor/iterate.hpp> # include <boost/preprocessor/dec.hpp> # include <boost/preprocessor/cat.hpp> // local macros, #undef-ined at the end of the header # define AUX778076_ITER_FOLD_STEP(unused, i, unused2) \ typedef typename apply2< \ ForwardOp \ , BOOST_PP_CAT(state,i) \ , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,i)) \ >::type BOOST_PP_CAT(state,BOOST_PP_INC(i)); \ typedef typename mpl::next<BOOST_PP_CAT(iter,i)>::type \ BOOST_PP_CAT(iter,BOOST_PP_INC(i)); \ /**/ # define AUX778076_FOLD_IMPL_NAME \ BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \ /**/ # define AUX778076_FOLD_CHUNK_NAME \ BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \ /**/ namespace boost { namespace mpl { namespace aux { /// forward declaration template< BOOST_MPL_AUX_NTTP_DECL(int, N) , typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) # if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) # define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/fold_impl_body.hpp>)) # include BOOST_PP_ITERATE() // implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING template< BOOST_MPL_AUX_NTTP_DECL(int, N) , typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME { typedef AUX778076_FOLD_IMPL_NAME< BOOST_MPL_LIMIT_UNROLLING , First , Last , State , ForwardOp > chunk_; typedef AUX778076_FOLD_IMPL_NAME< ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) , typename chunk_::iterator , Last , typename chunk_::state , ForwardOp > res_; typedef typename res_::state state; typedef typename res_::iterator iterator; }; // fallback implementation for sequences of unknown size template< typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,ForwardOp> : AUX778076_FOLD_IMPL_NAME< -1 , typename mpl::next<First>::type , Last , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type , ForwardOp > { }; template< typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,ForwardOp> { typedef State state; typedef Last iterator; }; # else // BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) // Borland have some serious problems with the unrolled version, so // we always use a basic implementation template< BOOST_MPL_AUX_NTTP_DECL(int, N) , typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME { typedef AUX778076_FOLD_IMPL_NAME< -1 , typename mpl::next<First>::type , Last , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type , ForwardOp > res_; typedef typename res_::state state; typedef typename res_::iterator iterator; typedef state type; }; template< BOOST_MPL_AUX_NTTP_DECL(int, N) , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME<N,Last,Last,State,ForwardOp > { typedef State state; typedef Last iterator; typedef state type; }; # endif // BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) #else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct AUX778076_FOLD_CHUNK_NAME; # define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/fold_impl_body.hpp>)) # include BOOST_PP_ITERATE() // implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct AUX778076_FOLD_CHUNK_NAME { template< typename First , typename Last , typename State , typename ForwardOp > struct result_ { typedef AUX778076_FOLD_IMPL_NAME< BOOST_MPL_LIMIT_UNROLLING , First , Last , State , ForwardOp > chunk_; typedef AUX778076_FOLD_IMPL_NAME< ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) , typename chunk_::iterator , Last , typename chunk_::state , ForwardOp > res_; typedef typename res_::state state; typedef typename res_::iterator iterator; }; }; // fallback implementation for sequences of unknown size template< typename First , typename Last , typename State , typename ForwardOp > struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step); template< typename Last , typename State > struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step) { typedef Last iterator; typedef State state; }; template<> struct AUX778076_FOLD_CHUNK_NAME<-1> { template< typename First , typename Last , typename State , typename ForwardOp > struct result_ { typedef typename if_< typename is_same<First,Last>::type , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State> , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,ForwardOp> >::type res_; typedef typename res_::state state; typedef typename res_::iterator iterator; }; #if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) /// ETI workaround template<> struct result_<int,int,int,int> { typedef int state; typedef int iterator; }; #endif }; template< typename First , typename Last , typename State , typename ForwardOp > struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step) { // can't inherit here - it breaks MSVC 7.0 typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_< typename mpl::next<First>::type , Last , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type , ForwardOp > chunk_; typedef typename chunk_::state state; typedef typename chunk_::iterator iterator; }; template< BOOST_MPL_AUX_NTTP_DECL(int, N) , typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME : AUX778076_FOLD_CHUNK_NAME<N> ::template result_<First,Last,State,ForwardOp> { }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION }}} # undef AUX778076_FOLD_IMPL_NAME # undef AUX778076_FOLD_CHUNK_NAME # undef AUX778076_ITER_FOLD_STEP #undef AUX778076_FOLD_IMPL_OP #undef AUX778076_FOLD_IMPL_NAME_PREFIX ///// iteration #else # define n_ BOOST_PP_FRAME_ITERATION(1) #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME<n_,First,Last,State,ForwardOp> { typedef First iter0; typedef State state0; BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused) typedef BOOST_PP_CAT(state,n_) state; typedef BOOST_PP_CAT(iter,n_) iterator; }; #else template<> struct AUX778076_FOLD_CHUNK_NAME<n_> { template< typename First , typename Last , typename State , typename ForwardOp > struct result_ { typedef First iter0; typedef State state0; BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused) typedef BOOST_PP_CAT(state,n_) state; typedef BOOST_PP_CAT(iter,n_) iterator; }; #if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) /// ETI workaround template<> struct result_<int,int,int,int> { typedef int state; typedef int iterator; }; #endif }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # undef n_ #endif // BOOST_PP_IS_ITERATING
Save
cmd:
run