epoc32/include/stdapis/boost/mpl/find_if.hpp
branchSymbian2
changeset 2 2fe1408b6811
equal deleted inserted replaced
1:666f914201fb 2:2fe1408b6811
       
     1 
       
     2 #ifndef BOOST_MPL_FIND_IF_HPP_INCLUDED
       
     3 #define BOOST_MPL_FIND_IF_HPP_INCLUDED
       
     4 
       
     5 // Copyright Aleksey Gurtovoy 2000-2004
       
     6 //
       
     7 // Distributed under the Boost Software License, Version 1.0. 
       
     8 // (See accompanying file LICENSE_1_0.txt or copy at 
       
     9 // http://www.boost.org/LICENSE_1_0.txt)
       
    10 //
       
    11 // See http://www.boost.org/libs/mpl for documentation.
       
    12 
       
    13 // $Source: /cvsroot/boost/boost/boost/mpl/find_if.hpp,v $
       
    14 // $Date: 2004/09/02 15:40:41 $
       
    15 // $Revision: 1.10 $
       
    16 
       
    17 #include <boost/mpl/aux_/find_if_pred.hpp>
       
    18 #include <boost/mpl/arg.hpp>
       
    19 #include <boost/mpl/iter_fold_if.hpp>
       
    20 #include <boost/mpl/aux_/common_name_wknd.hpp>
       
    21 #include <boost/mpl/aux_/na_spec.hpp>
       
    22 #include <boost/mpl/aux_/lambda_support.hpp>
       
    23 
       
    24 namespace boost { namespace mpl {
       
    25 
       
    26 BOOST_MPL_AUX_COMMON_NAME_WKND(find_if)
       
    27 
       
    28 template<
       
    29       typename BOOST_MPL_AUX_NA_PARAM(Sequence)
       
    30     , typename BOOST_MPL_AUX_NA_PARAM(Predicate)
       
    31     >
       
    32 struct find_if
       
    33 {
       
    34     typedef typename iter_fold_if<
       
    35           Sequence
       
    36         , void
       
    37         , arg<1> // ignore
       
    38         , protect< aux::find_if_pred<Predicate> >
       
    39         >::type result_;
       
    40 
       
    41     typedef typename second<result_>::type type;
       
    42 
       
    43     BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate))
       
    44 };
       
    45 
       
    46 BOOST_MPL_AUX_NA_SPEC(2,find_if)
       
    47 
       
    48 }}
       
    49 
       
    50 #endif // BOOST_MPL_FIND_IF_HPP_INCLUDED