New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
rope_traits.hpp in vendors/XIOS/current/extern/boost/include/boost/algorithm/string/std – NEMO

source: vendors/XIOS/current/extern/boost/include/boost/algorithm/string/std/rope_traits.hpp @ 3408

Last change on this file since 3408 was 3408, checked in by rblod, 12 years ago

importing initial XIOS vendor drop

  • Property svn:keywords set to Id
File size: 3.3 KB
Line 
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_ROPE_TRAITS_HPP
12#define BOOST_STRING_STD_ROPE_TRAITS_HPP
13
14#include <boost/algorithm/string/yes_no_type.hpp>
15#include <rope>
16#include <boost/algorithm/string/sequence_traits.hpp>
17
18namespace boost {
19    namespace algorithm {
20
21//  SGI's std::rope<> traits  -----------------------------------------------//
22
23#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
24
25        // native replace tester
26        template<typename T, typename TraitsT, typename AllocT>
27        yes_type has_native_replace_tester( const std::rope<T, TraitsT, AllocT>* );
28
29        // stable iterators tester
30        template<typename T, typename TraitsT, typename AllocT>
31        yes_type has_stable_iterators_tester( const std::rope<T, TraitsT, AllocT>* );
32
33        // const time insert tester
34        template<typename T, typename TraitsT, typename AllocT>
35        yes_type has_const_time_insert_tester( const std::rope<T, TraitsT, AllocT>* );
36
37        // const time erase tester
38        template<typename T, typename TraitsT, typename AllocT>
39        yes_type has_const_time_erase_tester( const std::rope<T, TraitsT, AllocT>* );
40
41#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
42   
43    // native replace trait
44        template<typename T, typename TraitsT, typename AllocT>
45        class has_native_replace< std::rope<T,TraitsT,AllocT> >
46        {
47        public:
48#if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
49            enum { value = true };
50#else
51            BOOST_STATIC_CONSTANT(bool, value=true);
52#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
53            typedef mpl::bool_<value> type;     
54        };
55
56    // stable iterators trait
57        template<typename T, typename TraitsT, typename AllocT>
58        class has_stable_iterators< std::rope<T,TraitsT,AllocT> >
59        {
60        public:
61#if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
62            enum { value = true };
63#else
64            BOOST_STATIC_CONSTANT(bool, value=true);
65#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
66            typedef mpl::bool_<value> type;     
67        };
68
69    // const time insert trait
70        template<typename T, typename TraitsT, typename AllocT>
71        class has_const_time_insert< std::rope<T,TraitsT,AllocT> >
72        {
73        public:
74#if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
75            enum { value = true };
76#else
77            BOOST_STATIC_CONSTANT(bool, value=true);
78#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
79            typedef mpl::bool_<value> type;     
80        };
81
82    // const time erase trait
83        template<typename T, typename TraitsT, typename AllocT>
84        class has_const_time_erase< std::rope<T,TraitsT,AllocT> >
85        {
86        public:
87#if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
88            enum { value = true };
89#else
90            BOOST_STATIC_CONSTANT(bool, value=true);
91#endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
92            typedef mpl::bool_<value> type;     
93        };
94#endif
95
96
97    } // namespace algorithm
98} // namespace boost
99
100
101#endif  // BOOST_STRING_ROPE_TRAITS_HPP
Note: See TracBrowser for help on using the repository browser.