Chris@16: // Boost string_algo library string_traits.hpp header file ---------------------------// Chris@16: Chris@16: // Copyright Pavol Droba 2002-2003. Chris@16: // Chris@16: // Distributed under the Boost Software License, Version 1.0. Chris@16: // (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: // See http://www.boost.org/ for updates, documentation, and revision history. Chris@16: Chris@16: #ifndef BOOST_STRING_STD_ROPE_TRAITS_HPP Chris@16: #define BOOST_STRING_STD_ROPE_TRAITS_HPP Chris@16: Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: Chris@16: namespace boost { Chris@16: namespace algorithm { Chris@16: Chris@16: // SGI's std::rope<> traits -----------------------------------------------// Chris@16: Chris@16: Chris@16: // native replace trait Chris@16: template Chris@16: class has_native_replace< std::rope > Chris@16: { Chris@16: public: Chris@16: #if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) Chris@16: enum { value = true }; Chris@16: #else Chris@16: BOOST_STATIC_CONSTANT(bool, value=true); Chris@16: #endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) Chris@16: typedef mpl::bool_ type; Chris@16: }; Chris@16: Chris@16: // stable iterators trait Chris@16: template Chris@16: class has_stable_iterators< std::rope > Chris@16: { Chris@16: public: Chris@16: #if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) Chris@16: enum { value = true }; Chris@16: #else Chris@16: BOOST_STATIC_CONSTANT(bool, value=true); Chris@16: #endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) Chris@16: typedef mpl::bool_ type; Chris@16: }; Chris@16: Chris@16: // const time insert trait Chris@16: template Chris@16: class has_const_time_insert< std::rope > Chris@16: { Chris@16: public: Chris@16: #if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) Chris@16: enum { value = true }; Chris@16: #else Chris@16: BOOST_STATIC_CONSTANT(bool, value=true); Chris@16: #endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) Chris@16: typedef mpl::bool_ type; Chris@16: }; Chris@16: Chris@16: // const time erase trait Chris@16: template Chris@16: class has_const_time_erase< std::rope > Chris@16: { Chris@16: public: Chris@16: #if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) Chris@16: enum { value = true }; Chris@16: #else Chris@16: BOOST_STATIC_CONSTANT(bool, value=true); Chris@16: #endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) Chris@16: typedef mpl::bool_ type; Chris@16: }; Chris@16: Chris@16: Chris@16: } // namespace algorithm Chris@16: } // namespace boost Chris@16: Chris@16: Chris@16: #endif // BOOST_STRING_ROPE_TRAITS_HPP