File indexing completed on 2025-01-18 09:28:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef BOOST_STRING_STD_ROPE_TRAITS_HPP
0012 #define BOOST_STRING_STD_ROPE_TRAITS_HPP
0013
0014 #include <boost/algorithm/string/yes_no_type.hpp>
0015 #include <rope>
0016 #include <boost/algorithm/string/sequence_traits.hpp>
0017
0018 namespace boost {
0019 namespace algorithm {
0020
0021
0022
0023
0024
0025 template<typename T, typename TraitsT, typename AllocT>
0026 class has_native_replace< std::rope<T,TraitsT,AllocT> >
0027 {
0028 public:
0029 #if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0030 enum { value = true };
0031 #else
0032 BOOST_STATIC_CONSTANT(bool, value=true);
0033 #endif
0034 typedef mpl::bool_<value> type;
0035 };
0036
0037
0038 template<typename T, typename TraitsT, typename AllocT>
0039 class has_stable_iterators< std::rope<T,TraitsT,AllocT> >
0040 {
0041 public:
0042 #if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0043 enum { value = true };
0044 #else
0045 BOOST_STATIC_CONSTANT(bool, value=true);
0046 #endif
0047 typedef mpl::bool_<value> type;
0048 };
0049
0050
0051 template<typename T, typename TraitsT, typename AllocT>
0052 class has_const_time_insert< std::rope<T,TraitsT,AllocT> >
0053 {
0054 public:
0055 #if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0056 enum { value = true };
0057 #else
0058 BOOST_STATIC_CONSTANT(bool, value=true);
0059 #endif
0060 typedef mpl::bool_<value> type;
0061 };
0062
0063
0064 template<typename T, typename TraitsT, typename AllocT>
0065 class has_const_time_erase< std::rope<T,TraitsT,AllocT> >
0066 {
0067 public:
0068 #if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
0069 enum { value = true };
0070 #else
0071 BOOST_STATIC_CONSTANT(bool, value=true);
0072 #endif
0073 typedef mpl::bool_<value> type;
0074 };
0075
0076
0077 }
0078 }
0079
0080
0081 #endif