forked from boostorg/conversion
vc6 workaround: help the compiler to distinguish overloads
[SVN r35566]
This commit is contained in:
@@ -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>();
|
||||||
|
Reference in New Issue
Block a user