--- a/epoc32/include/stdapis/boost/numeric/conversion/bounds.hpp Wed Mar 31 12:27:01 2010 +0100
+++ b/epoc32/include/stdapis/boost/numeric/conversion/bounds.hpp Wed Mar 31 12:33:34 2010 +0100
@@ -7,52 +7,18 @@
//
// Contact the author at: fernando_cacciola@hotmail.com
//
-#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
-
-#include "boost/limits.hpp"
-#include "boost/config.hpp"
-#include "boost/mpl/if.hpp"
+#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
+#define BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
-namespace boost { namespace numeric { namespace boundsdetail
-{
- template<class N>
- class Integral
- {
- typedef std::numeric_limits<N> limits ;
-
- public :
-
- static N lowest () { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); }
- static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); }
- static N smallest() { return static_cast<N>(1); }
- } ;
+#include "boost/numeric/conversion/detail/bounds.hpp"
- template<class N>
- class Float
- {
- typedef std::numeric_limits<N> limits ;
-
- public :
-
- static N lowest () { return static_cast<N>(-limits::max BOOST_PREVENT_MACRO_SUBSTITUTION ()) ; }
- static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); }
- static N smallest() { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); }
- } ;
+namespace boost { namespace numeric
+{
- template<class N>
- struct get_impl
- {
- typedef mpl::bool_< ::std::numeric_limits<N>::is_integer > is_int ;
+template<class N>
+struct bounds : boundsdetail::get_impl<N>::type
+{} ;
- typedef Integral<N> impl_int ;
- typedef Float <N> impl_float ;
-
- typedef typename mpl::if_<is_int,impl_int,impl_float>::type type ;
- } ;
-
-} } } // namespace boost::numeric::boundsdetail.
+} } // namespace boost::numeric
#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////