1 // Boost string_algo library string_traits.hpp header file ---------------------------// 2 3 // Copyright Pavol Droba 2002-2003. 4 // 5 // Distributed under the Boost Software License, Version 1.0. 6 // (See accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt) 8 9 // See http://www.boost.org/ for updates, documentation, and revision history. 10 11 #ifndef BOOST_STRING_STD_STRING_TRAITS_HPP 12 #define BOOST_STRING_STD_STRING_TRAITS_HPP 13 14 #include <boost/algorithm/string/yes_no_type.hpp> 15 #include <string> 16 #include <boost/algorithm/string/sequence_traits.hpp> 17 18 namespace boost { 19 namespace algorithm { 20 21 // std::basic_string<> traits -----------------------------------------------// 22 23 24 // native replace trait 25 template<typename T, typename TraitsT, typename AllocT> 26 class has_native_replace< std::basic_string<T, TraitsT, AllocT> > 27 { 28 public: 29 #if BOOST_WORKAROUND( __IBMCPP__, <= 600 ) 30 enum { value = true } ; 31 #else 32 BOOST_STATIC_CONSTANT(bool, value=true); 33 #endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 ) 34 35 typedef mpl::bool_<has_native_replace<T>::value> type; 36 }; 37 38 39 40 } // namespace algorithm 41 } // namespace boost 42 43 44 #endif // BOOST_STRING_LIST_TRAITS_HPP 45