1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/mpl/aux_/comparison_op.hpp Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,83 @@
1.4 +
1.5 +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
1.6 +
1.7 +// Copyright Aleksey Gurtovoy 2000-2004
1.8 +//
1.9 +// Distributed under the Boost Software License, Version 1.0.
1.10 +// (See accompanying file LICENSE_1_0.txt or copy at
1.11 +// http://www.boost.org/LICENSE_1_0.txt)
1.12 +//
1.13 +// See http://www.boost.org/libs/mpl for documentation.
1.14 +
1.15 +// $Source: /cvsroot/boost/boost/boost/mpl/aux_/comparison_op.hpp,v $
1.16 +// $Date: 2004/09/07 08:51:32 $
1.17 +// $Revision: 1.4 $
1.18 +
1.19 +#if !defined(BOOST_MPL_PREPROCESSING_MODE)
1.20 +# include <boost/mpl/bool.hpp>
1.21 +# include <boost/mpl/aux_/value_wknd.hpp>
1.22 +#endif
1.23 +
1.24 +#if !defined(AUX778076_OP_PREFIX)
1.25 +# define AUX778076_OP_PREFIX AUX778076_OP_NAME
1.26 +#endif
1.27 +
1.28 +#define AUX778076_OP_ARITY 2
1.29 +
1.30 +#include <boost/mpl/aux_/numeric_op.hpp>
1.31 +#include <boost/mpl/aux_/config/static_constant.hpp>
1.32 +#include <boost/mpl/aux_/config/use_preprocessed.hpp>
1.33 +
1.34 +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
1.35 + && !defined(BOOST_MPL_PREPROCESSING_MODE)
1.36 +
1.37 +# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
1.38 +# include <boost/mpl/aux_/include_preprocessed.hpp>
1.39 +
1.40 +#else
1.41 +
1.42 +# include <boost/mpl/aux_/config/integral.hpp>
1.43 +# include <boost/preprocessor/cat.hpp>
1.44 +
1.45 +namespace boost { namespace mpl {
1.46 +
1.47 +// MSVC workaround: implement less in terms of greater
1.48 +#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0)
1.49 +# define AUX778076_OP(N1, N2) \
1.50 + ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \
1.51 +/**/
1.52 +#else
1.53 +# define AUX778076_OP(N1, N2) \
1.54 + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value \
1.55 + AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value \
1.56 + ) \
1.57 +/**/
1.58 +#endif
1.59 +
1.60 +template<>
1.61 +struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
1.62 +{
1.63 + template< typename N1, typename N2 > struct apply
1.64 +#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
1.65 + : bool_< AUX778076_OP(N1, N2) >
1.66 + {
1.67 +#else
1.68 + {
1.69 + BOOST_STATIC_CONSTANT(bool, value = AUX778076_OP(N1, N2));
1.70 + typedef bool_<value> type;
1.71 +#endif
1.72 + };
1.73 +};
1.74 +
1.75 +#undef AUX778076_OP
1.76 +
1.77 +}}
1.78 +
1.79 +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
1.80 +
1.81 +#undef AUX778076_OP_TAG_NAME
1.82 +#undef AUX778076_OP_IMPL_NAME
1.83 +#undef AUX778076_OP_ARITY
1.84 +#undef AUX778076_OP_PREFIX
1.85 +#undef AUX778076_OP_NAME
1.86 +#undef AUX778076_OP_TOKEN