Index: third_party/boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp |
diff --git a/third_party/boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp b/third_party/boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..695179584d3e74922048ac3afbb8541e337f7919 |
--- /dev/null |
+++ b/third_party/boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp |
@@ -0,0 +1,133 @@ |
+ |
+// Copyright Aleksey Gurtovoy 2001-2004 |
+// Copyright David Abrahams 2001-2002 |
+// |
+// 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) |
+// |
+ |
+// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header |
+// -- DO NOT modify by hand! |
+ |
+namespace boost { namespace mpl { namespace aux { |
+ |
+template< typename Iterator, typename State > |
+struct iter_fold_if_null_step |
+{ |
+ typedef State state; |
+ typedef Iterator iterator; |
+}; |
+ |
+template< bool > |
+struct iter_fold_if_step_impl |
+{ |
+ template< |
+ typename Iterator |
+ , typename State |
+ , typename StateOp |
+ , typename IteratorOp |
+ > |
+ struct result_ |
+ { |
+ typedef typename apply2< StateOp,State,Iterator >::type state; |
+ typedef typename IteratorOp::type iterator; |
+ }; |
+}; |
+ |
+template<> |
+struct iter_fold_if_step_impl<false> |
+{ |
+ template< |
+ typename Iterator |
+ , typename State |
+ , typename StateOp |
+ , typename IteratorOp |
+ > |
+ struct result_ |
+ { |
+ typedef State state; |
+ typedef Iterator iterator; |
+ }; |
+}; |
+ |
+template< |
+ typename Iterator |
+ , typename State |
+ , typename ForwardOp |
+ , typename Predicate |
+ > |
+struct iter_fold_if_forward_step |
+{ |
+ typedef typename apply2< Predicate,State,Iterator >::type not_last; |
+ typedef typename iter_fold_if_step_impl< |
+ BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value |
+ >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_; |
+ |
+ typedef typename impl_::state state; |
+ typedef typename impl_::iterator iterator; |
+}; |
+ |
+template< |
+ typename Iterator |
+ , typename State |
+ , typename BackwardOp |
+ , typename Predicate |
+ > |
+struct iter_fold_if_backward_step |
+{ |
+ typedef typename apply2< Predicate,State,Iterator >::type not_last; |
+ typedef typename iter_fold_if_step_impl< |
+ BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value |
+ >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_; |
+ |
+ typedef typename impl_::state state; |
+ typedef typename impl_::iterator iterator; |
+}; |
+ |
+template< |
+ typename Iterator |
+ , typename State |
+ , typename ForwardOp |
+ , typename ForwardPredicate |
+ , typename BackwardOp |
+ , typename BackwardPredicate |
+ > |
+struct iter_fold_if_impl |
+{ |
+ private: |
+ typedef iter_fold_if_null_step< Iterator,State > forward_step0; |
+ typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; |
+ typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; |
+ typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; |
+ typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; |
+ |
+ |
+ typedef typename if_< |
+ typename forward_step4::not_last |
+ , iter_fold_if_impl< |
+ typename forward_step4::iterator |
+ , typename forward_step4::state |
+ , ForwardOp |
+ , ForwardPredicate |
+ , BackwardOp |
+ , BackwardPredicate |
+ > |
+ , iter_fold_if_null_step< |
+ typename forward_step4::iterator |
+ , typename forward_step4::state |
+ > |
+ >::type backward_step4; |
+ |
+ typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; |
+ typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; |
+ typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; |
+ typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; |
+ |
+ |
+ public: |
+ typedef typename backward_step0::state state; |
+ typedef typename backward_step4::iterator iterator; |
+}; |
+ |
+}}} |