1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/mpl/aux_/has_key_impl.hpp Wed Mar 31 12:27:01 2010 +0100
1.3 @@ -0,0 +1,60 @@
1.4 +
1.5 +#ifndef BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
1.6 +#define BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED
1.7 +
1.8 +// Copyright Aleksey Gurtovoy 2003-2004
1.9 +// Copyright David Abrahams 2003-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/set/aux_/has_key_impl.hpp,v $
1.18 +// $Date: 2004/10/13 18:23:37 $
1.19 +// $Revision: 1.7 $
1.20 +
1.21 +#include <boost/mpl/set/aux_/tag.hpp>
1.22 +#include <boost/mpl/has_key_fwd.hpp>
1.23 +#include <boost/mpl/bool.hpp>
1.24 +#include <boost/mpl/aux_/overload_names.hpp>
1.25 +#include <boost/mpl/aux_/static_cast.hpp>
1.26 +#include <boost/mpl/aux_/yes_no.hpp>
1.27 +#include <boost/mpl/aux_/type_wrapper.hpp>
1.28 +#include <boost/mpl/aux_/config/workaround.hpp>
1.29 +#include <boost/mpl/aux_/config/static_constant.hpp>
1.30 +
1.31 +namespace boost { namespace mpl {
1.32 +
1.33 +template<>
1.34 +struct has_key_impl< aux::set_tag >
1.35 +{
1.36 + template< typename Set, typename T > struct apply
1.37 +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
1.38 + || BOOST_WORKAROUND(__EDG_VERSION__, <= 245)
1.39 + {
1.40 + BOOST_STATIC_CONSTANT(bool, value =
1.41 + ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
1.42 + Set
1.43 + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)
1.44 + ) ) == sizeof(aux::no_tag) )
1.45 + );
1.46 +
1.47 + typedef bool_<value> type;
1.48 +
1.49 +#else // ISO98 C++
1.50 + : bool_<
1.51 + ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
1.52 + Set
1.53 + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*, 0)
1.54 + ) ) == sizeof(aux::no_tag) )
1.55 + >
1.56 + {
1.57 +#endif
1.58 + };
1.59 +};
1.60 +
1.61 +}}
1.62 +
1.63 +#endif // BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED