1.1 --- a/epoc32/include/stdapis/boost/mpl/set/aux_/set0.hpp Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/stdapis/boost/mpl/set/aux_/set0.hpp Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,6 +1,6 @@
1.4
1.5 -#ifndef BOOST_MPL_SET_SET0_HPP_INCLUDED
1.6 -#define BOOST_MPL_SET_SET0_HPP_INCLUDED
1.7 +#ifndef BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
1.8 +#define BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED
1.9
1.10 // Copyright Aleksey Gurtovoy 2003-2004
1.11 // Copyright David Abrahams 2003-2004
1.12 @@ -11,25 +11,59 @@
1.13 //
1.14 // See http://www.boost.org/libs/mpl for documentation.
1.15
1.16 -// $Source: /cvsroot/boost/boost/boost/mpl/set/set0.hpp,v $
1.17 -// $Date: 2004/09/02 15:41:02 $
1.18 -// $Revision: 1.5 $
1.19 +// $Source: /cvsroot/boost/boost/boost/mpl/set/aux_/set0.hpp,v $
1.20 +// $Date: 2005/06/18 22:03:08 $
1.21 +// $Revision: 1.8 $
1.22
1.23 -#include <boost/mpl/set/aux_/at_impl.hpp>
1.24 -#include <boost/mpl/set/aux_/clear_impl.hpp>
1.25 -//#include <boost/mpl/set/aux_/O1_size.hpp>
1.26 -#include <boost/mpl/set/aux_/size_impl.hpp>
1.27 -#include <boost/mpl/set/aux_/empty_impl.hpp>
1.28 -#include <boost/mpl/set/aux_/insert_impl.hpp>
1.29 -#include <boost/mpl/set/aux_/erase_impl.hpp>
1.30 -#include <boost/mpl/set/aux_/erase_key_impl.hpp>
1.31 -#include <boost/mpl/set/aux_/has_key_impl.hpp>
1.32 -#include <boost/mpl/set/aux_/key_type_impl.hpp>
1.33 -#include <boost/mpl/set/aux_/value_type_impl.hpp>
1.34 -#include <boost/mpl/set/aux_/begin_end_impl.hpp>
1.35 -#include <boost/mpl/set/aux_/iterator.hpp>
1.36 -#include <boost/mpl/set/aux_/item.hpp>
1.37 -#include <boost/mpl/set/aux_/set0.hpp>
1.38 +#include <boost/mpl/long.hpp>
1.39 +#include <boost/mpl/void.hpp>
1.40 +#include <boost/mpl/aux_/na.hpp>
1.41 #include <boost/mpl/set/aux_/tag.hpp>
1.42 +#include <boost/mpl/aux_/yes_no.hpp>
1.43 +#include <boost/mpl/aux_/overload_names.hpp>
1.44 +#include <boost/mpl/aux_/config/operators.hpp>
1.45
1.46 -#endif // BOOST_MPL_SET_SET0_HPP_INCLUDED
1.47 +#include <boost/preprocessor/cat.hpp>
1.48 +
1.49 +namespace boost { namespace mpl {
1.50 +
1.51 +#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING)
1.52 +
1.53 +# define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
1.54 + friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
1.55 +/**/
1.56 +
1.57 +# define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \
1.58 + BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
1.59 +/**/
1.60 +
1.61 +#else
1.62 +
1.63 +# define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \
1.64 + static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
1.65 +/**/
1.66 +
1.67 +# define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \
1.68 + BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T); \
1.69 + using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \
1.70 +/**/
1.71 +
1.72 +#endif
1.73 +
1.74 +template< typename Dummy = na > struct set0
1.75 +{
1.76 + typedef set0<> item_;
1.77 + typedef aux::set_tag tag;
1.78 + typedef void_ last_masked_;
1.79 + typedef void_ item_type_;
1.80 + typedef item_type_ type;
1.81 + typedef long_<0> size;
1.82 + typedef long_<1> order;
1.83 +
1.84 + BOOST_MPL_AUX_SET0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, set0<>, void const volatile* );
1.85 + BOOST_MPL_AUX_SET0_OVERLOAD( aux::yes_tag, IS_MASKED, set0<>, void const volatile* );
1.86 +};
1.87 +
1.88 +}}
1.89 +
1.90 +#endif // BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED