src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/converter.hpp in passenger-5.3.3 vs src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/converter.hpp in passenger-5.3.4

- old
+ new

@@ -448,17 +448,14 @@ // // Trivial Converter : used when (cv-unqualified) T == (cv-unqualified) S // template<class Traits> - struct trivial_converter_impl : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type - ,BOOST_DEDUCED_TYPENAME Traits::result_type - > - ,public dummy_range_checker<Traits> + struct trivial_converter_impl : public dummy_range_checker<Traits> { typedef Traits traits ; - + typedef typename Traits::source_type source_type ; typedef typename Traits::argument_type argument_type ; typedef typename Traits::result_type result_type ; static result_type low_level_convert ( argument_type s ) { return s ; } @@ -469,14 +466,11 @@ // // Rounding Converter : used for float to integral conversions. // template<class Traits,class RangeChecker,class RawConverter,class Float2IntRounder> - struct rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type - ,BOOST_DEDUCED_TYPENAME Traits::result_type - > - ,public RangeChecker + struct rounding_converter : public RangeChecker ,public Float2IntRounder ,public RawConverter { typedef RangeChecker RangeCheckerBase ; typedef Float2IntRounder Float2IntRounderBase ; @@ -499,13 +493,10 @@ // // Non-Rounding Converter : used for all other conversions. // template<class Traits,class RangeChecker,class RawConverter> - struct non_rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type - ,BOOST_DEDUCED_TYPENAME Traits::result_type - > - ,public RangeChecker + struct non_rounding_converter : public RangeChecker ,public RawConverter { typedef RangeChecker RangeCheckerBase ; typedef RawConverter RawConverterBase ;