1 // numeric_cast.hpp 2 // 3 // (C) Copyright 2011 Vicente J. Botet Escriba 4 // Use, modification and distribution are subject to the Boost Software License, 5 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt). 7 // 8 9 #ifndef BOOST_RATIO_MPL_NUMERIC_CAST_HPP 10 #define BOOST_RATIO_MPL_NUMERIC_CAST_HPP 11 12 #include <boost/ratio/ratio.hpp> 13 #include <boost/mpl/integral_c.hpp> 14 #include <boost/ratio/mpl/rational_c_tag.hpp> 15 #include <boost/mpl/numeric_cast.hpp> 16 17 namespace boost { 18 namespace mpl { 19 20 template<> struct numeric_cast< integral_c_tag,rational_c_tag > 21 { 22 template< typename N > struct apply 23 : ratio< N::value, 1 > 24 { 25 }; 26 }; 27 28 } 29 } 30 31 #endif // BOOST_RATIO_MPL_NUMERIC_CAST_HPP 32