bcc32 patch from Russell Hind applied

[SVN r28811]
This commit is contained in:
Pavol Droba
2005-05-11 09:17:14 +00:00
parent 5419d39b2e
commit e00fd7f159
8 changed files with 82 additions and 66 deletions

View File

@ -64,7 +64,11 @@ namespace boost {
template< typename T1, typename T2 >
bool operator ()( const T1& Arg1, const T2& Arg2 ) const
{
return std::toupper(Arg1,m_Loc)==std::toupper(Arg2,m_Loc);
#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
return std::toupper(Arg1)==std::toupper(Arg2);
#else
return std::toupper(Arg1,m_Loc)==std::toupper(Arg2,m_Loc);
#endif
}
private:

View File

@ -17,11 +17,7 @@
# error "macro already defined!"
#endif
#ifdef __BORLANDC__
#define BOOST_STRING_TYPENAME
#else
#define BOOST_STRING_TYPENAME BOOST_DEDUCED_TYPENAME
#endif
// Metrowerks workaround
#if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x

View File

@ -30,7 +30,11 @@ namespace boost {
// Operation
CharT operator ()( CharT Ch ) const
{
return std::tolower( Ch, m_Loc );
#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
return std::tolower( Ch);
#else
return std::tolower( Ch, m_Loc );
#endif
}
private:
const std::locale& m_Loc;
@ -46,7 +50,11 @@ namespace boost {
// Operation
CharT operator ()( CharT Ch ) const
{
return std::toupper( Ch, m_Loc );
#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
return std::toupper( Ch);
#else
return std::toupper( Ch, m_Loc );
#endif
}
private:
const std::locale& m_Loc;

View File

@ -46,6 +46,14 @@ namespace boost {
return std::use_facet< std::ctype<CharT> >(m_Locale).is( m_Type, Ch );
}
#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
template<>
bool operator()( char const Ch ) const
{
return std::use_facet< std::ctype<char> >(m_Locale).is( m_Type, Ch );
}
#endif
private:
const std::ctype_base::mask m_Type;
const std::locale m_Locale;

View File

@ -101,7 +101,7 @@ namespace boost {
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_native_replace<T>::value> type;
};
@ -128,7 +128,7 @@ namespace boost {
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_stable_iterators<T>::value> type;
};
@ -155,7 +155,7 @@ namespace boost {
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_const_time_insert<T>::value> type;
};
@ -182,7 +182,7 @@ namespace boost {
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_const_time_erase<T>::value> type;
};
} // namespace algorithm

View File

@ -46,7 +46,7 @@ namespace boost {
#else
BOOST_STATIC_CONSTANT(bool, value=true);
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_stable_iterators<T>::value> type;
};
// const time insert trait
@ -59,7 +59,7 @@ namespace boost {
#else
BOOST_STATIC_CONSTANT(bool, value=true);
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_const_time_insert<T>::value> type;
};
// const time erase trait
@ -72,7 +72,7 @@ namespace boost {
#else
BOOST_STATIC_CONSTANT(bool, value=true);
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_const_time_erase<T>::value> type;
};
#endif

View File

@ -46,7 +46,7 @@ namespace boost {
#else
BOOST_STATIC_CONSTANT(bool, value=true);
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_stable_iterators<T>::value> type;
};
// const time insert trait
@ -59,7 +59,7 @@ namespace boost {
#else
BOOST_STATIC_CONSTANT(bool, value=true);
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_const_time_insert<T>::value> type;
};
// const time erase trait
@ -72,7 +72,7 @@ namespace boost {
#else
BOOST_STATIC_CONSTANT(bool, value=true);
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_const_time_erase<T>::value> type;
};
#endif

View File

@ -38,7 +38,7 @@ namespace boost {
BOOST_STATIC_CONSTANT(bool, value=true);
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_native_replace<T>::value> type;
};