annotate DEPENDENCIES/generic/include/boost/mpl/stable_partition.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents c530137014c0
children
rev   line source
Chris@16 1
Chris@16 2 #ifndef BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED
Chris@16 3 #define BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED
Chris@16 4
Chris@16 5 // Copyright Eric Friedman 2002-2003
Chris@16 6 // Copyright Aleksey Gurtovoy 2004
Chris@16 7 //
Chris@16 8 // Distributed under the Boost Software License, Version 1.0.
Chris@16 9 // (See accompanying file LICENSE_1_0.txt or copy at
Chris@16 10 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 11 //
Chris@16 12 // See http://www.boost.org/libs/mpl for documentation.
Chris@16 13
Chris@101 14 // $Id$
Chris@101 15 // $Date$
Chris@101 16 // $Revision$
Chris@16 17
Chris@16 18 #include <boost/mpl/fold.hpp>
Chris@16 19 #include <boost/mpl/reverse_fold.hpp>
Chris@16 20 #include <boost/mpl/protect.hpp>
Chris@16 21 #include <boost/mpl/aux_/partition_op.hpp>
Chris@16 22 #include <boost/mpl/aux_/inserter_algorithm.hpp>
Chris@16 23 #include <boost/mpl/aux_/na.hpp>
Chris@16 24
Chris@16 25 namespace boost { namespace mpl {
Chris@16 26
Chris@16 27 namespace aux {
Chris@16 28
Chris@16 29 template <
Chris@16 30 typename Sequence
Chris@16 31 , typename Pred
Chris@16 32 , typename In
Chris@16 33 , typename In2
Chris@16 34 , typename In1 = typename if_na<In,In2>::type
Chris@16 35 >
Chris@16 36 struct stable_partition_impl
Chris@16 37 : fold<
Chris@16 38 Sequence
Chris@16 39 , pair< typename In1::state, typename In2::state >
Chris@16 40 , protect< partition_op<
Chris@16 41 Pred
Chris@16 42 , typename In1::operation
Chris@16 43 , typename In2::operation
Chris@16 44 > >
Chris@16 45 >
Chris@16 46 {
Chris@16 47 };
Chris@16 48
Chris@16 49 template <
Chris@16 50 typename Sequence
Chris@16 51 , typename Pred
Chris@16 52 , typename In
Chris@16 53 , typename In2
Chris@16 54 , typename In1 = typename if_na<In,In2>::type
Chris@16 55 >
Chris@16 56 struct reverse_stable_partition_impl
Chris@16 57 : reverse_fold<
Chris@16 58 Sequence
Chris@16 59 , pair< typename In1::state, typename In2::state >
Chris@16 60 , protect< partition_op<
Chris@16 61 Pred
Chris@16 62 , typename In1::operation
Chris@16 63 , typename In2::operation
Chris@16 64 > >
Chris@16 65 >
Chris@16 66 {
Chris@16 67 };
Chris@16 68
Chris@16 69 } // namespace aux
Chris@16 70
Chris@16 71 BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, stable_partition)
Chris@16 72
Chris@16 73 }}
Chris@16 74
Chris@16 75 #endif // BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED