1 // 2 //! Copyright (c) 2011 3 //! Brandon Kohn 4 // 5 // Distributed under the Boost Software License, Version 1.0. (See 6 // accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt) 8 // 9 #ifndef BOOST_NUMERIC_CAST_TRAITS_HPP 10 #define BOOST_NUMERIC_CAST_TRAITS_HPP 11 12 #include <boost/numeric/conversion/converter_policies.hpp> 13 14 namespace boost { namespace numeric { 15 16 template <typename Target, typename Source, typename EnableIf = void> 17 struct numeric_cast_traits 18 { 19 typedef def_overflow_handler overflow_policy; 20 typedef UseInternalRangeChecker range_checking_policy; 21 typedef Trunc<Source> rounding_policy; 22 }; 23 24 }}//namespace boost::numeric; 25 26 #if !defined( BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS ) 27 #include <boost/cstdint.hpp> 28 #include <boost/numeric/conversion/detail/numeric_cast_traits.hpp> 29 #endif//!defined BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS 30 31 #endif//BOOST_NUMERIC_CAST_TRAITS_HPP 32