mirror of
https://github.com/boostorg/algorithm.git
synced 2025-07-10 11:16:35 +02:00
bcc32 patch from Russell Hind applied
[SVN r28811]
This commit is contained in:
@ -64,7 +64,11 @@ namespace boost {
|
|||||||
template< typename T1, typename T2 >
|
template< typename T1, typename T2 >
|
||||||
bool operator ()( const T1& Arg1, const T2& Arg2 ) const
|
bool operator ()( const T1& Arg1, const T2& Arg2 ) const
|
||||||
{
|
{
|
||||||
|
#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);
|
return std::toupper(Arg1,m_Loc)==std::toupper(Arg2,m_Loc);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -17,11 +17,7 @@
|
|||||||
# error "macro already defined!"
|
# error "macro already defined!"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
|
||||||
#define BOOST_STRING_TYPENAME
|
|
||||||
#else
|
|
||||||
#define BOOST_STRING_TYPENAME BOOST_DEDUCED_TYPENAME
|
#define BOOST_STRING_TYPENAME BOOST_DEDUCED_TYPENAME
|
||||||
#endif
|
|
||||||
|
|
||||||
// Metrowerks workaround
|
// Metrowerks workaround
|
||||||
#if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x
|
#if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x
|
||||||
|
@ -30,7 +30,11 @@ namespace boost {
|
|||||||
// Operation
|
// Operation
|
||||||
CharT operator ()( CharT Ch ) const
|
CharT operator ()( CharT Ch ) const
|
||||||
{
|
{
|
||||||
|
#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
|
||||||
|
return std::tolower( Ch);
|
||||||
|
#else
|
||||||
return std::tolower( Ch, m_Loc );
|
return std::tolower( Ch, m_Loc );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
const std::locale& m_Loc;
|
const std::locale& m_Loc;
|
||||||
@ -46,7 +50,11 @@ namespace boost {
|
|||||||
// Operation
|
// Operation
|
||||||
CharT operator ()( CharT Ch ) const
|
CharT operator ()( CharT Ch ) const
|
||||||
{
|
{
|
||||||
|
#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
|
||||||
|
return std::toupper( Ch);
|
||||||
|
#else
|
||||||
return std::toupper( Ch, m_Loc );
|
return std::toupper( Ch, m_Loc );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
const std::locale& m_Loc;
|
const std::locale& m_Loc;
|
||||||
|
@ -46,6 +46,14 @@ namespace boost {
|
|||||||
return std::use_facet< std::ctype<CharT> >(m_Locale).is( m_Type, Ch );
|
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:
|
private:
|
||||||
const std::ctype_base::mask m_Type;
|
const std::ctype_base::mask m_Type;
|
||||||
const std::locale m_Locale;
|
const std::locale m_Locale;
|
||||||
|
@ -101,7 +101,7 @@ namespace boost {
|
|||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
#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_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
#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_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
#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_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||||
|
|
||||||
typedef mpl::bool_<value> type;
|
typedef mpl::bool_<has_const_time_erase<T>::value> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace algorithm
|
} // namespace algorithm
|
||||||
|
@ -46,7 +46,7 @@ namespace boost {
|
|||||||
#else
|
#else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=true);
|
BOOST_STATIC_CONSTANT(bool, value=true);
|
||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
typedef mpl::bool_<value> type;
|
typedef mpl::bool_<has_stable_iterators<T>::value> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
// const time insert trait
|
// const time insert trait
|
||||||
@ -59,7 +59,7 @@ namespace boost {
|
|||||||
#else
|
#else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=true);
|
BOOST_STATIC_CONSTANT(bool, value=true);
|
||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
typedef mpl::bool_<value> type;
|
typedef mpl::bool_<has_const_time_insert<T>::value> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
// const time erase trait
|
// const time erase trait
|
||||||
@ -72,7 +72,7 @@ namespace boost {
|
|||||||
#else
|
#else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=true);
|
BOOST_STATIC_CONSTANT(bool, value=true);
|
||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
typedef mpl::bool_<value> type;
|
typedef mpl::bool_<has_const_time_erase<T>::value> type;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ namespace boost {
|
|||||||
#else
|
#else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=true);
|
BOOST_STATIC_CONSTANT(bool, value=true);
|
||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
typedef mpl::bool_<value> type;
|
typedef mpl::bool_<has_stable_iterators<T>::value> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
// const time insert trait
|
// const time insert trait
|
||||||
@ -59,7 +59,7 @@ namespace boost {
|
|||||||
#else
|
#else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=true);
|
BOOST_STATIC_CONSTANT(bool, value=true);
|
||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
typedef mpl::bool_<value> type;
|
typedef mpl::bool_<has_const_time_insert<T>::value> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
// const time erase trait
|
// const time erase trait
|
||||||
@ -72,7 +72,7 @@ namespace boost {
|
|||||||
#else
|
#else
|
||||||
BOOST_STATIC_CONSTANT(bool, value=true);
|
BOOST_STATIC_CONSTANT(bool, value=true);
|
||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
typedef mpl::bool_<value> type;
|
typedef mpl::bool_<has_const_time_erase<T>::value> type;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ namespace boost {
|
|||||||
BOOST_STATIC_CONSTANT(bool, value=true);
|
BOOST_STATIC_CONSTANT(bool, value=true);
|
||||||
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
|
||||||
|
|
||||||
typedef mpl::bool_<value> type;
|
typedef mpl::bool_<has_native_replace<T>::value> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user