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

@ -24,7 +24,7 @@
Due to a language restriction, it is not currently possible to define specializations for
stl containers without including the corresponding header. To decrease the overhead
needed by this inclusion, user can selectively include a specialization
needed by this inclusion, user can selectively include a specialization
header for a specific container. They are located in boost/algorithm/string/stl
directory. Alternatively she can include boost/algorithm/string/std_collection_traits.hpp
header which contains specializations for all stl containers.
@ -39,7 +39,7 @@ namespace boost {
//! Native replace tester
/*!
Declare an override of this tester function with return
Declare an override of this tester function with return
type boost::string_algo::yes_type for a sequence with this property.
\return yes_type if the container has basic_string like native replace
@ -49,31 +49,31 @@ namespace boost {
//! Stable iterators tester
/*!
Declare an override of this tester function with return
Declare an override of this tester function with return
type boost::string_algo::yes_type for a sequence with this property.
\return yes_type if the sequence's insert/replace/erase methods do not invalidate
existing iterators.
*/
no_type has_stable_iterators_tester(...);
no_type has_stable_iterators_tester(...);
//! const time insert tester
/*!
Declare an override of this tester function with return
Declare an override of this tester function with return
type boost::string_algo::yes_type for a sequence with this property.
\return yes_type if the sequence's insert method is working in constant time
*/
no_type has_const_time_insert_tester(...);
no_type has_const_time_insert_tester(...);
//! const time erase tester
/*!
Declare an override of this tester function with return
Declare an override of this tester function with return
type boost::string_algo::yes_type for a sequence with this property.
\return yes_type if the sequence's erase method is working in constant time
*/
no_type has_const_time_erase_tester(...);
no_type has_const_time_erase_tester(...);
#endif //BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
@ -89,7 +89,7 @@ namespace boost {
private:
static T* t;
public:
BOOST_STATIC_CONSTANT(bool, value=(
BOOST_STATIC_CONSTANT(bool, value=(
sizeof(has_native_replace_tester(t))==sizeof(yes_type) ) );
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
public:
@ -99,9 +99,9 @@ namespace boost {
BOOST_STATIC_CONSTANT(bool, value=false);
# endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
typedef mpl::bool_<value> type;
typedef mpl::bool_<has_native_replace<T>::value> type;
};
@ -117,7 +117,7 @@ namespace boost {
private:
static T* t;
public:
BOOST_STATIC_CONSTANT(bool, value=(
BOOST_STATIC_CONSTANT(bool, value=(
sizeof(has_stable_iterators_tester(t))==sizeof(yes_type) ) );
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
public:
@ -128,13 +128,13 @@ 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;
};
//! Const time insert trait
/*!
This trait specifies that the sequence's insert method has
This trait specifies that the sequence's insert method has
constant time complexity.
*/
template< typename T >
@ -144,7 +144,7 @@ namespace boost {
private:
static T* t;
public:
BOOST_STATIC_CONSTANT(bool, value=(
BOOST_STATIC_CONSTANT(bool, value=(
sizeof(has_const_time_insert_tester(t))==sizeof(yes_type) ) );
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
public:
@ -155,13 +155,13 @@ 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;
};
//! Const time erase trait
/*!
This trait specifies that the sequence's erase method has
This trait specifies that the sequence's erase method has
constant time complexity.
*/
template< typename T >
@ -171,7 +171,7 @@ namespace boost {
private:
static T* t;
public:
BOOST_STATIC_CONSTANT(bool, value=(
BOOST_STATIC_CONSTANT(bool, value=(
sizeof(has_const_time_erase_tester(t))==sizeof(yes_type) ) );
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
public:
@ -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