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 | |