1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/mpl/integral_c.hpp Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,51 @@
1.4 +
1.5 +#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
1.6 +#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
1.7 +
1.8 +// Copyright Aleksey Gurtovoy 2000-2006
1.9 +//
1.10 +// Distributed under the Boost Software License, Version 1.0.
1.11 +// (See accompanying file LICENSE_1_0.txt or copy at
1.12 +// http://www.boost.org/LICENSE_1_0.txt)
1.13 +//
1.14 +// See http://www.boost.org/libs/mpl for documentation.
1.15 +
1.16 +// $Source: /cvsroot/boost/boost/boost/mpl/integral_c.hpp,v $
1.17 +// $Date: 2006/11/08 21:44:27 $
1.18 +// $Revision: 1.22.6.1 $
1.19 +
1.20 +#include <boost/mpl/integral_c_fwd.hpp>
1.21 +#include <boost/mpl/aux_/config/ctps.hpp>
1.22 +#include <boost/mpl/aux_/config/static_constant.hpp>
1.23 +#include <boost/mpl/aux_/config/workaround.hpp>
1.24 +
1.25 +#if BOOST_WORKAROUND(__HP_aCC, <= 53800)
1.26 +// the type of non-type template arguments may not depend on template arguments
1.27 +# define AUX_WRAPPER_PARAMS(N) typename T, long N
1.28 +#else
1.29 +# define AUX_WRAPPER_PARAMS(N) typename T, T N
1.30 +#endif
1.31 +
1.32 +#define AUX_WRAPPER_NAME integral_c
1.33 +#define AUX_WRAPPER_VALUE_TYPE T
1.34 +#define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value >
1.35 +#include <boost/mpl/aux_/integral_wrapper.hpp>
1.36 +
1.37 +
1.38 +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
1.39 + && !BOOST_WORKAROUND(__BORLANDC__, <= 0x551)
1.40 +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
1.41 +// 'bool' constant doesn't have 'next'/'prior' members
1.42 +template< bool C >
1.43 +struct integral_c<bool, C>
1.44 +{
1.45 + BOOST_STATIC_CONSTANT(bool, value = C);
1.46 + typedef integral_c_tag tag;
1.47 + typedef integral_c type;
1.48 + typedef bool value_type;
1.49 + operator bool() const { return this->value; }
1.50 +};
1.51 +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
1.52 +#endif
1.53 +
1.54 +#endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED