ReactOS 0.4.16-dev-297-gc569aee
_rope.h File Reference
#include <stl/_algobase.h>
#include <stl/_iosfwd.h>
#include <stl/_alloc.h>
#include <stl/_iterator.h>
#include <stl/_algo.h>
#include <stl/_function_base.h>
#include <stl/_numeric.h>
#include <stl/_hash_fun.h>
#include <stl/char_traits.h>
#include <stl/_threads.h>
#include <stl/_string_npos.h>
#include <stl/_rope.c>
Include dependency graph for _rope.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _BasicCharType< _CharT >
 
struct  _BasicCharType< char >
 
struct  _Rope_Concat_fn< _CharT, _Alloc >
 
class  char_producer< _CharT >
 
class  sequence_buffer< _Sequence, _Buf_sz >
 
class  _Rope_char_consumer< _CharT >
 
struct  _Rope_RopeRep< _CharT, _Alloc >
 
struct  _Rope_RopeLeaf< _CharT, _Alloc >
 
struct  _Rope_RopeConcatenation< _CharT, _Alloc >
 
struct  _Rope_RopeFunction< _CharT, _Alloc >
 
struct  _Rope_RopeSubstring< _CharT, _Alloc >
 
struct  _Rope_self_destruct_ptr< _CharT, _Alloc >
 
class  _Rope_char_ref_proxy< _CharT, _Alloc >
 
class  _Rope_char_ptr_proxy< _CharT, _Alloc >
 
class  _Rope_iterator_base< _CharT, _Alloc >
 
class  _Rope_const_iterator< _CharT, _Alloc >
 
class  _Rope_iterator< _CharT, _Alloc >
 
class  rope< _CharT, _Alloc >
 
struct  hash< crope >
 

Macros

#define _STLP_CREATE_ALLOCATOR(__atype, __a, _Tp)   (_Alloc_traits<_Tp,__atype>::create_allocator(__a))
 
#define __ROPE_MAX_DEPTH   45
 
#define __ROPE_DEPTH_SIZE   46
 
#define _ROPE_SWAP_SPECIALIZATION(_CharT, __Alloc)
 
#define __exponentiate_threshold   size_t(32)
 

Typedefs

typedef rope< char, allocator< char > > crope
 

Functions

template<class _CharT , class _Alloc >
rope< _CharT, _Alloc__identity_element (_Rope_Concat_fn< _CharT, _Alloc >)
 
template<class _CharT >
_STLP_MOVE_TO_STD_NAMESPACE void _S_construct_null_aux (_CharT *__p, const __true_type &)
 
template<class _CharT >
void _S_construct_null_aux (_CharT *__p, const __false_type &)
 
template<class _CharT >
void _S_construct_null (_CharT *__p)
 
template<class _CharT , class _Alloc , class _CharConsumer >
bool _S_apply_to_pieces (_CharConsumer &__c, _Rope_RopeRep< _CharT, _Alloc > *__r, size_t __begin, size_t __end)
 
template<class _CharT , class _Alloc >
bool operator== (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
 
template<class _CharT , class _Alloc >
bool operator< (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
 
template<class _CharT , class _Alloc >
ptrdiff_t operator- (const _Rope_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
 
template<class _CharT , class _Alloc >
_Rope_const_iterator< _CharT, _Allocoperator- (const _Rope_const_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
 
template<class _CharT , class _Alloc >
_Rope_const_iterator< _CharT, _Allocoperator+ (const _Rope_const_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
 
template<class _CharT , class _Alloc >
_Rope_const_iterator< _CharT, _Allocoperator+ (ptrdiff_t __n, const _Rope_const_iterator< _CharT, _Alloc > &__x)
 
template<class _CharT , class _Alloc >
bool operator== (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
 
template<class _CharT , class _Alloc >
bool operator< (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
 
template<class _CharT , class _Alloc >
ptrdiff_t operator- (const _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator< _CharT, _Alloc > &__y)
 
template<class _CharT , class _Alloc >
_Rope_iterator< _CharT, _Allocoperator- (const _Rope_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
 
template<class _CharT , class _Alloc >
_Rope_iterator< _CharT, _Allocoperator+ (const _Rope_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
 
template<class _CharT , class _Alloc >
_Rope_iterator< _CharT, _Allocoperator+ (ptrdiff_t __n, const _Rope_iterator< _CharT, _Alloc > &__x)
 
template<class _CharT , class _Alloc >
rope< _CharT, _Allocoperator+ (const rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
 
template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > & operator+= (rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
 
template<class _CharT , class _Alloc >
rope< _CharT, _Allocoperator+ (const rope< _CharT, _Alloc > &__left, const _CharT *__right)
 
template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > & operator+= (rope< _CharT, _Alloc > &__left, const _CharT *__right)
 
template<class _CharT , class _Alloc >
rope< _CharT, _Allocoperator+ (const rope< _CharT, _Alloc > &__left, _CharT __right)
 
template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > & operator+= (rope< _CharT, _Alloc > &__left, _CharT __right)
 
template<class _CharT , class _Alloc >
bool operator< (const rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
 
template<class _CharT , class _Alloc >
bool operator== (const rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
 
template<class _CharT , class _Alloc >
bool operator== (const _Rope_char_ptr_proxy< _CharT, _Alloc > &__x, const _Rope_char_ptr_proxy< _CharT, _Alloc > &__y)
 
template<class _CharT , class _Traits , class _Alloc >
basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__o, const rope< _CharT, _Alloc > &__r)
 
crope::reference __mutable_reference_at (crope &__c, size_t __i)
 
void swap (crope &__x, crope &__y)
 
template<class _CharT , class _Alloc >
void _Rope_rotate (_Rope_iterator< _CharT, _Alloc > __first, _Rope_iterator< _CharT, _Alloc > __middle, _Rope_iterator< _CharT, _Alloc > __last)
 
void rotate (_Rope_iterator< char, allocator< char > > __first, _Rope_iterator< char, allocator< char > > __middle, _Rope_iterator< char, allocator< char > > __last)
 

Macro Definition Documentation

◆ __exponentiate_threshold

#define __exponentiate_threshold   size_t(32)

◆ __ROPE_DEPTH_SIZE

#define __ROPE_DEPTH_SIZE   46

Definition at line 343 of file _rope.h.

◆ __ROPE_MAX_DEPTH

#define __ROPE_MAX_DEPTH   45

Definition at line 342 of file _rope.h.

◆ _ROPE_SWAP_SPECIALIZATION

#define _ROPE_SWAP_SPECIALIZATION (   _CharT,
  __Alloc 
)
Value:
inline void swap(_Rope_char_ref_proxy <_CharT, __Alloc > __a, \
_Rope_char_ref_proxy <_CharT, __Alloc > __b) { \
_CharT __tmp = __a; \
__a = __b; \
__b = __tmp; \
}
#define swap(a, b)
Definition: qsort.c:63

Definition at line 697 of file _rope.h.

◆ _STLP_CREATE_ALLOCATOR

#define _STLP_CREATE_ALLOCATOR (   __atype,
  __a,
  _Tp 
)    (_Alloc_traits<_Tp,__atype>::create_allocator(__a))

Definition at line 81 of file _rope.h.

Typedef Documentation

◆ crope

typedef rope<char, allocator<char> > crope

Definition at line 2297 of file _rope.h.

Function Documentation

◆ __identity_element()

template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > __identity_element ( _Rope_Concat_fn< _CharT, _Alloc )
inline

Definition at line 133 of file _rope.h.

134{ return rope<_CharT,_Alloc>(); }
Definition: _rope.h:1087

◆ __mutable_reference_at()

crope::reference __mutable_reference_at ( crope __c,
size_t  __i 
)
inline

Definition at line 2302 of file _rope.h.

2303{ return __c.mutable_reference_at(__i); }
#define __c
Definition: schilyio.h:209

◆ _Rope_rotate()

template<class _CharT , class _Alloc >
void _Rope_rotate ( _Rope_iterator< _CharT, _Alloc __first,
_Rope_iterator< _CharT, _Alloc __middle,
_Rope_iterator< _CharT, _Alloc __last 
)

Definition at line 1358 of file _rope.c.

1360 {
1361 _STLP_ASSERT(__first.container() == __middle.container() &&
1362 __middle.container() == __last.container())
1363 rope<_CharT,_Alloc>& __r(__first.container());
1364 rope<_CharT,_Alloc> __prefix = __r.substr(0, __first.index());
1365 rope<_CharT,_Alloc> __suffix =
1366 __r.substr(__last.index(), __r.size() - __last.index());
1367 rope<_CharT,_Alloc> __part1 =
1368 __r.substr(__middle.index(), __last.index() - __middle.index());
1369 rope<_CharT,_Alloc> __part2 =
1370 __r.substr(__first.index(), __middle.index() - __first.index());
1371 __r = __prefix;
1372 __r += __part1;
1373 __r += __part2;
1374 __r += __suffix;
1375}
_STLP_INLINE_LOOP _InputIter __last
Definition: _algo.h:68
#define _Alloc
Definition: _bvector.h:330
#define _STLP_ASSERT(expr)
Definition: _debug.h:165
rope< _CharT, _Alloc > & container()
Definition: _rope.h:994
GLsizeiptr size
Definition: glext.h:5919
GLuint index
Definition: glext.h:6031
static substr_t substr(const WCHAR *str, size_t len)
Definition: internet.h:203

Referenced by rotate().

◆ _S_apply_to_pieces()

template<class _CharT , class _Alloc , class _CharConsumer >
bool _S_apply_to_pieces ( _CharConsumer &  __c,
_Rope_RopeRep< _CharT, _Alloc > *  __r,
size_t  __begin,
size_t  __end 
)

Definition at line 785 of file _rope.c.

787 {
788 typedef _Rope_RopeRep<_CharT, _Alloc> _RopeRep;
789 typedef _Rope_RopeConcatenation<_CharT,_Alloc> _RopeConcatenation;
790 typedef _Rope_RopeLeaf<_CharT,_Alloc> _RopeLeaf;
791 typedef _Rope_RopeFunction<_CharT,_Alloc> _RopeFunction;
792
793 if (0 == __r) return true;
794 switch(__r->_M_tag) {
795 case _RopeRep::_S_concat:
796 {
797 _RopeConcatenation* __conc = __STATIC_CAST(_RopeConcatenation*, __r);
798 _RopeRep* __left = __conc->_M_left;
799 size_t __left_len = __left->_M_size._M_data;
800 if (__begin < __left_len) {
801 size_t __left_end = (min) (__left_len, __end);
802 if (!_S_apply_to_pieces(__c, __left, __begin, __left_end))
803 return false;
804 }
805 if (__end > __left_len) {
806 _RopeRep* __right = __conc->_M_right;
807 size_t __right_start = (max)(__left_len, __begin);
808 if (!_S_apply_to_pieces(__c, __right,
809 __right_start - __left_len,
810 __end - __left_len)) {
811 return false;
812 }
813 }
814 }
815 return true;
816 case _RopeRep::_S_leaf:
817 {
818 _RopeLeaf* __l = __STATIC_CAST(_RopeLeaf*, __r);
819 return __c(__l->_M_data + __begin, __end - __begin);
820 }
821 case _RopeRep::_S_function:
822 case _RopeRep::_S_substringfn:
823 {
824 _RopeFunction* __f = __STATIC_CAST(_RopeFunction*, __r);
825 size_t __len = __end - __begin;
826 bool __result;
827 _CharT* __buffer = __r->get_allocator().allocate(__len);
828 _STLP_TRY {
829 (*(__f->_M_fn))(__begin, __len, __buffer);
830 __result = __c(__buffer, __len);
831 __r->get_allocator().deallocate(__buffer, __len);
832 }
833 _STLP_UNWIND((__r->get_allocator().deallocate(__buffer, __len)))
834 return __result;
835 }
836 default:
837 _STLP_ASSERT(false)
838 /*NOTREACHED*/
840 }
841}
bool _S_apply_to_pieces(_CharConsumer &__c, _Rope_RopeRep< _CharT, _Alloc > *__r, size_t __begin, size_t __end)
Definition: _rope.c:785
return
Definition: dirsup.c:529
#define _STLP_UNWIND(action)
Definition: features.h:824
#define __STATIC_CAST(__x, __y)
Definition: features.h:585
#define _STLP_TRY
Definition: features.h:817
#define min(a, b)
Definition: monoChain.cc:55
#define false
Definition: stdbool.h:37
_Tag _M_tag
Definition: _rope.h:352
allocator_type get_allocator() const
Definition: _rope.h:358
#define max(a, b)
Definition: svc.c:63

Referenced by _S_apply_to_pieces(), rope< _CharT, _Alloc >::_S_flatten(), rope< _CharT, _Alloc >::apply_to_pieces(), and rope< _CharT, _Alloc >::find().

◆ _S_construct_null()

template<class _CharT >
void _S_construct_null ( _CharT *  __p)
inline

Definition at line 148 of file _rope.h.

148 {
149 typedef typename _IsIntegral<_CharT>::_Ret _Char_Is_Integral;
150 _S_construct_null_aux(__p, _Char_Is_Integral());
151}
_STLP_MOVE_TO_STD_NAMESPACE void _S_construct_null_aux(_CharT *__p, const __true_type &)
Definition: _rope.h:140

Referenced by rope< _CharT, _Alloc >::_S_leaf_concat_char_iter(), rope< _CharT, _Alloc >::_S_RopeLeaf_from_unowned_char_ptr(), rope< _CharT, _Alloc >::_S_substring(), _Terminate_RopeLeaf(), rope< _CharT, _Alloc >::c_str(), rope< _CharT, _Alloc >::replace_with_c_str(), and rope< _CharT, _Alloc >::rope().

◆ _S_construct_null_aux() [1/2]

template<class _CharT >
void _S_construct_null_aux ( _CharT *  __p,
const __false_type  
)
inline

Definition at line 144 of file _rope.h.

145{ _STLP_STD::_Construct(__p); }

◆ _S_construct_null_aux() [2/2]

template<class _CharT >
_STLP_MOVE_TO_STD_NAMESPACE void _S_construct_null_aux ( _CharT *  __p,
const __true_type  
)
inline

Definition at line 140 of file _rope.h.

141{ *__p = 0; }

Referenced by _S_construct_null().

◆ operator+() [1/7]

template<class _CharT , class _Alloc >
_Rope_const_iterator< _CharT, _Alloc > operator+ ( const _Rope_const_iterator< _CharT, _Alloc > &  __x,
ptrdiff_t  __n 
)
inline

Definition at line 2122 of file _rope.h.

return __n
Definition: _algo.h:75
size_t _M_current_pos
Definition: _rope.h:764
_RopeRep * _M_root
Definition: _rope.h:766

◆ operator+() [2/7]

template<class _CharT , class _Alloc >
_Rope_iterator< _CharT, _Alloc > operator+ ( const _Rope_iterator< _CharT, _Alloc > &  __x,
ptrdiff_t  __n 
)
inline

Definition at line 2180 of file _rope.h.

2181 {
2183}
rope< _CharT, _Alloc > * _M_root_rope
Definition: _rope.h:972

◆ operator+() [3/7]

template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > operator+ ( const rope< _CharT, _Alloc > &  __left,
_CharT  __right 
)
inline

Definition at line 2226 of file _rope.h.

2226 {
2228}
_STLP_PRIV _STLP_alloc_proxy< _RopeRep *, _CharT, allocator_type > _M_tree_ptr
Definition: _rope.h:1128

◆ operator+() [4/7]

template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > operator+ ( const rope< _CharT, _Alloc > &  __left,
const _CharT *  __right 
)
inline

Definition at line 2210 of file _rope.h.

2211 {
2212 size_t __rlen = rope<_CharT,_Alloc>::_S_char_ptr_len(__right);
2213 return rope<_CharT,_Alloc>(rope<_CharT,_Alloc>::_S_concat_char_iter(__left._M_tree_ptr._M_data, __right, __rlen));
2214}
static size_t _S_char_ptr_len(const _CharT *__s)
Definition: _rope.h:1278

◆ operator+() [5/7]

template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > operator+ ( const rope< _CharT, _Alloc > &  __left,
const rope< _CharT, _Alloc > &  __right 
)
inline

Definition at line 2193 of file _rope.h.

2194 {
2195 _STLP_ASSERT(__left.get_allocator() == __right.get_allocator())
2196 return rope<_CharT,_Alloc>(rope<_CharT,_Alloc>::_S_concat_rep(__left._M_tree_ptr._M_data, __right._M_tree_ptr._M_data));
2197 // Inlining this should make it possible to keep __left and __right in registers.
2198}
allocator_type get_allocator() const
Definition: _rope.h:1131

◆ operator+() [6/7]

template<class _CharT , class _Alloc >
_Rope_const_iterator< _CharT, _Alloc > operator+ ( ptrdiff_t  __n,
const _Rope_const_iterator< _CharT, _Alloc > &  __x 
)
inline

Definition at line 2127 of file _rope.h.

◆ operator+() [7/7]

template<class _CharT , class _Alloc >
_Rope_iterator< _CharT, _Alloc > operator+ ( ptrdiff_t  __n,
const _Rope_iterator< _CharT, _Alloc > &  __x 
)
inline

Definition at line 2187 of file _rope.h.

2187 {
2189}

◆ operator+=() [1/3]

template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > & operator+= ( rope< _CharT, _Alloc > &  __left,
_CharT  __right 
)
inline

Definition at line 2232 of file _rope.h.

2232 {
2233 __left.append(__right);
2234 return __left;
2235}
_Self & append(const _CharT *__iter, size_t __n)
Definition: _rope.h:1659

◆ operator+=() [2/3]

template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > & operator+= ( rope< _CharT, _Alloc > &  __left,
const _CharT *  __right 
)
inline

Definition at line 2218 of file _rope.h.

2219 {
2220 __left.append(__right);
2221 return __left;
2222}

◆ operator+=() [3/3]

template<class _CharT , class _Alloc >
rope< _CharT, _Alloc > & operator+= ( rope< _CharT, _Alloc > &  __left,
const rope< _CharT, _Alloc > &  __right 
)
inline

Definition at line 2202 of file _rope.h.

2203 {
2204 __left.append(__right);
2205 return __left;
2206}

◆ operator-() [1/4]

template<class _CharT , class _Alloc >
ptrdiff_t operator- ( const _Rope_const_iterator< _CharT, _Alloc > &  __x,
const _Rope_const_iterator< _CharT, _Alloc > &  __y 
)
inline

Definition at line 2109 of file _rope.h.

2111{ return (ptrdiff_t)__x._M_current_pos - (ptrdiff_t)__y._M_current_pos; }
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247

◆ operator-() [2/4]

template<class _CharT , class _Alloc >
_Rope_const_iterator< _CharT, _Alloc > operator- ( const _Rope_const_iterator< _CharT, _Alloc > &  __x,
ptrdiff_t  __n 
)
inline

Definition at line 2116 of file _rope.h.

◆ operator-() [3/4]

template<class _CharT , class _Alloc >
ptrdiff_t operator- ( const _Rope_iterator< _CharT, _Alloc > &  __x,
const _Rope_iterator< _CharT, _Alloc > &  __y 
)
inline

Definition at line 2165 of file _rope.h.

2167{ return (ptrdiff_t)__x._M_current_pos - (ptrdiff_t)__y._M_current_pos; }

◆ operator-() [4/4]

template<class _CharT , class _Alloc >
_Rope_iterator< _CharT, _Alloc > operator- ( const _Rope_iterator< _CharT, _Alloc > &  __x,
ptrdiff_t  __n 
)
inline

Definition at line 2172 of file _rope.h.

2173 {
2175}

◆ operator<() [1/3]

template<class _CharT , class _Alloc >
bool operator< ( const _Rope_const_iterator< _CharT, _Alloc > &  __x,
const _Rope_const_iterator< _CharT, _Alloc > &  __y 
)
inline

Definition at line 2080 of file _rope.h.

2082{ return (__x._M_current_pos < __y._M_current_pos); }

◆ operator<() [2/3]

template<class _CharT , class _Alloc >
bool operator< ( const _Rope_iterator< _CharT, _Alloc > &  __x,
const _Rope_iterator< _CharT, _Alloc > &  __y 
)
inline

Definition at line 2138 of file _rope.h.

2140{ return (__x._M_current_pos < __y._M_current_pos); }

◆ operator<() [3/3]

template<class _CharT , class _Alloc >
bool operator< ( const rope< _CharT, _Alloc > &  __left,
const rope< _CharT, _Alloc > &  __right 
)
inline

Definition at line 2238 of file _rope.h.

2240 {
2241 return __left.compare(__right) < 0;
2242}
int compare(const _Self &__y) const
Definition: _rope.h:1359

◆ operator<<()

template<class _CharT , class _Traits , class _Alloc >
basic_ostream< _CharT, _Traits > & operator<< ( basic_ostream< _CharT, _Traits > &  __o,
const rope< _CharT, _Alloc > &  __r 
)

Definition at line 873 of file _rope.c.

890 {
891 typedef typename _IsIntegral<_CharT>::_Ret _Char_Is_Integral;
892 return _S_io_get(__o, __r, _Char_Is_Integral());
893}
basic_ostream< _CharT, _Traits > & _S_io_get(basic_ostream< _CharT, _Traits > &__o, const rope< _CharT, _Alloc > &__r, const __true_type &)
Definition: _rope.c:851

◆ operator==() [1/4]

template<class _CharT , class _Alloc >
bool operator== ( const _Rope_char_ptr_proxy< _CharT, _Alloc > &  __x,
const _Rope_char_ptr_proxy< _CharT, _Alloc > &  __y 
)
inline

Definition at line 2286 of file _rope.h.

2287 {
2288 return (__x._M_pos == __y._M_pos && __x._M_root == __y._M_root);
2289}
rope< _CharT, _Alloc > * _M_root
Definition: _rope.h:720

◆ operator==() [2/4]

template<class _CharT , class _Alloc >
bool operator== ( const _Rope_const_iterator< _CharT, _Alloc > &  __x,
const _Rope_const_iterator< _CharT, _Alloc > &  __y 
)
inline

Definition at line 2073 of file _rope.h.

2074 {
2075 return (__x._M_current_pos == __y._M_current_pos &&
2076 __x._M_root == __y._M_root);
2077}

◆ operator==() [3/4]

template<class _CharT , class _Alloc >
bool operator== ( const _Rope_iterator< _CharT, _Alloc > &  __x,
const _Rope_iterator< _CharT, _Alloc > &  __y 
)
inline

Definition at line 2131 of file _rope.h.

2132 {
2133 return (__x._M_current_pos == __y._M_current_pos &&
2134 __x._M_root_rope == __y._M_root_rope);
2135}

◆ operator==() [4/4]

template<class _CharT , class _Alloc >
bool operator== ( const rope< _CharT, _Alloc > &  __left,
const rope< _CharT, _Alloc > &  __right 
)
inline

Definition at line 2246 of file _rope.h.

2247 {
2248 return __left.compare(__right) == 0;
2249}

◆ rotate()

void rotate ( _Rope_iterator< char, allocator< char > >  __first,
_Rope_iterator< char, allocator< char > >  __middle,
_Rope_iterator< char, allocator< char > >  __last 
)
inline

Definition at line 2355 of file _rope.h.

2358{ _Rope_rotate(__first, __middle, __last); }
void _Rope_rotate(_Rope_iterator< _CharT, _Alloc > __first, _Rope_iterator< _CharT, _Alloc > __middle, _Rope_iterator< _CharT, _Alloc > __last)
Definition: _rope.c:1358

◆ swap()

void swap ( crope __x,
crope __y 
)
inline

Definition at line 2316 of file _rope.h.

2316{ __x.swap(__y); }
void swap(_Self &__b)
Definition: _rope.h:1701