vc6 workaround: help the compiler to distinguish overloads

[SVN r35566]
This commit is contained in:
Dave Abrahams
2006-10-12 06:39:14 +00:00
parent 115ad05af5
commit 04de824ead

View File

@@ -23,6 +23,10 @@
#define BOOST_DETAIL_LCAST_ASSERT(cond) BOOST_STATIC_ASSERT(cond) #define BOOST_DETAIL_LCAST_ASSERT(cond) BOOST_STATIC_ASSERT(cond)
// Remember, static_cast is evaluated even inside dead branches. // Remember, static_cast is evaluated even inside dead branches.
#endif #endif
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
# include <boost/type_traits/is_same.hpp>
# include <boost/mpl/bool.hpp>
#endif
namespace boost { namespace detail { namespace boost { namespace detail {
@@ -88,13 +92,21 @@ inline std::streamsize lcast_get_precision()
} }
template<class T> template<class T>
inline void lcast_set_precision(std::ios_base& stream) inline void lcast_set_precision(std::ios_base& stream
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
, short = 0
#endif
)
{ {
stream.precision(lcast_get_precision<T>()); stream.precision(lcast_get_precision<T>());
} }
template<class Source, class Target> template<class Source, class Target>
inline void lcast_set_precision(std::ios_base& stream) inline void lcast_set_precision(std::ios_base& stream
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
, long = 0
#endif
)
{ {
std::streamsize const s = lcast_get_precision<Source>(); std::streamsize const s = lcast_get_precision<Source>();
std::streamsize const t = lcast_get_precision<Target>(); std::streamsize const t = lcast_get_precision<Target>();