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