#ifndef BOOST_MPL_DENOMINATOR_HPP_INCLUDED #define BOOST_MPL_DENOMINATOR_HPP_INCLUDED #include #include #include #include #include #include namespace boost { namespace mpl { template struct denominator_impl; template<> struct denominator_impl { template struct apply #if !defined BOOST_MPL_CFG_NO_NESTED_FORWARDING : integral_c{ #else { typedef integral_c< typename R::value_type, R::denominator::value > type ; #endif }; }; template<> struct denominator_impl { template struct apply #if !defined BOOST_MPL_CFG_NO_NESTED_FORWARDING : integral_c< typename I::value_type, static_cast(1) >{ #else { typedef integral_c< typename I::value_type, static_cast(1) > type; #endif }; }; template struct denominator #if !defined BOOST_MPL_CFG_NO_NESTED_FORWARDING : denominator_impl::template apply{ #else { typedef BOOST_DEDUCED_TYPENAME denominator_impl::template apply::type type; #endif BOOST_MPL_AUX_LAMBDA_SUPPORT( 1 , denominator , (T) ) }; }}//boost::mpl #endif