1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/mpl/aux_/contains_impl.hpp Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,61 @@
1.4 +
1.5 +#ifndef BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
1.6 +#define BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
1.7 +
1.8 +// Copyright Eric Friedman 2002
1.9 +// Copyright Aleksey Gurtovoy 2004
1.10 +//
1.11 +// Distributed under the Boost Software License, Version 1.0.
1.12 +// (See accompanying file LICENSE_1_0.txt or copy at
1.13 +// http://www.boost.org/LICENSE_1_0.txt)
1.14 +//
1.15 +// See http://www.boost.org/libs/mpl for documentation.
1.16 +
1.17 +// $Source: /cvsroot/boost/boost/boost/mpl/aux_/contains_impl.hpp,v $
1.18 +// $Date: 2004/09/02 15:40:43 $
1.19 +// $Revision: 1.2 $
1.20 +
1.21 +#include <boost/mpl/contains_fwd.hpp>
1.22 +#include <boost/mpl/begin_end.hpp>
1.23 +#include <boost/mpl/find.hpp>
1.24 +#include <boost/mpl/not.hpp>
1.25 +#include <boost/mpl/aux_/traits_lambda_spec.hpp>
1.26 +#include <boost/mpl/aux_/config/forwarding.hpp>
1.27 +#include <boost/mpl/aux_/config/static_constant.hpp>
1.28 +
1.29 +#include <boost/type_traits/is_same.hpp>
1.30 +
1.31 +namespace boost { namespace mpl {
1.32 +
1.33 +template< typename Tag >
1.34 +struct contains_impl
1.35 +{
1.36 + template< typename Sequence, typename T > struct apply
1.37 +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
1.38 + : not_< is_same<
1.39 + typename find<Sequence,T>::type
1.40 + , typename end<Sequence>::type
1.41 + > >
1.42 + {
1.43 +#else
1.44 + {
1.45 + typedef not_< is_same<
1.46 + typename find<Sequence,T>::type
1.47 + , typename end<Sequence>::type
1.48 + > > type;
1.49 +
1.50 + BOOST_STATIC_CONSTANT(bool, value =
1.51 + (not_< is_same<
1.52 + typename find<Sequence,T>::type
1.53 + , typename end<Sequence>::type
1.54 + > >::value)
1.55 + );
1.56 +#endif
1.57 + };
1.58 +};
1.59 +
1.60 +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,contains_impl)
1.61 +
1.62 +}}
1.63 +
1.64 +#endif // BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED