1.1 --- a/epoc32/include/stdapis/boost/mpl/not.hpp Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/stdapis/boost/mpl/not.hpp Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,30 +1,51 @@
1.4 -# /* Copyright (C) 2001
1.5 -# * Housemarque Oy
1.6 -# * http://www.housemarque.com
1.7 -# *
1.8 -# * Distributed under the Boost Software License, Version 1.0. (See
1.9 -# * accompanying file LICENSE_1_0.txt or copy at
1.10 -# * http://www.boost.org/LICENSE_1_0.txt)
1.11 -# */
1.12 -#
1.13 -# /* Revised by Paul Mensonides (2002) */
1.14 -#
1.15 -# /* See http://www.boost.org for most recent version. */
1.16 -#
1.17 -# ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
1.18 -# define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
1.19 -#
1.20 -# include <boost/preprocessor/config/config.hpp>
1.21 -# include <boost/preprocessor/logical/bool.hpp>
1.22 -# include <boost/preprocessor/logical/compl.hpp>
1.23 -#
1.24 -# /* BOOST_PP_NOT */
1.25 -#
1.26 -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
1.27 -# define BOOST_PP_NOT(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))
1.28 -# else
1.29 -# define BOOST_PP_NOT(x) BOOST_PP_NOT_I(x)
1.30 -# define BOOST_PP_NOT_I(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))
1.31 -# endif
1.32 -#
1.33 -# endif
1.34 +
1.35 +#ifndef BOOST_MPL_NOT_HPP_INCLUDED
1.36 +#define BOOST_MPL_NOT_HPP_INCLUDED
1.37 +
1.38 +// Copyright Aleksey Gurtovoy 2000-2004
1.39 +//
1.40 +// Distributed under the Boost Software License, Version 1.0.
1.41 +// (See accompanying file LICENSE_1_0.txt or copy at
1.42 +// http://www.boost.org/LICENSE_1_0.txt)
1.43 +//
1.44 +// See http://www.boost.org/libs/mpl for documentation.
1.45 +
1.46 +// $Source: /cvsroot/boost/boost/boost/mpl/not.hpp,v $
1.47 +// $Date: 2004/09/02 15:40:41 $
1.48 +// $Revision: 1.3 $
1.49 +
1.50 +#include <boost/mpl/bool.hpp>
1.51 +#include <boost/mpl/aux_/nttp_decl.hpp>
1.52 +#include <boost/mpl/aux_/nested_type_wknd.hpp>
1.53 +#include <boost/mpl/aux_/na_spec.hpp>
1.54 +#include <boost/mpl/aux_/lambda_support.hpp>
1.55 +
1.56 +namespace boost { namespace mpl {
1.57 +
1.58 +namespace aux {
1.59 +
1.60 +template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here
1.61 +struct not_impl
1.62 + : bool_<!C_>
1.63 +{
1.64 +};
1.65 +
1.66 +} // namespace aux
1.67 +
1.68 +
1.69 +template<
1.70 + typename BOOST_MPL_AUX_NA_PARAM(T)
1.71 + >
1.72 +struct not_
1.73 + : aux::not_impl<
1.74 + BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value
1.75 + >
1.76 +{
1.77 + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T))
1.78 +};
1.79 +
1.80 +BOOST_MPL_AUX_NA_SPEC(1,not_)
1.81 +
1.82 +}}
1.83 +
1.84 +#endif // BOOST_MPL_NOT_HPP_INCLUDED