epoc32/include/stdapis/boost/mpl/integral_c.hpp
branchSymbian2
changeset 2 2fe1408b6811
     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