ReactOS  0.4.14-dev-297-g23e575c
_Rope_RopeLeaf< _CharT, _Alloc > Struct Template Reference

#include <_rope.h>

Inheritance diagram for _Rope_RopeLeaf< _CharT, _Alloc >:
Collaboration diagram for _Rope_RopeLeaf< _CharT, _Alloc >:

Public Types

typedef _RopeRep::allocator_type allocator_type
 
- Public Types inherited from _Rope_RopeRep< _CharT, _Alloc >
enum  { _S_max_rope_depth = __ROPE_MAX_DEPTH }
 
enum  _Tag { _S_leaf, _S_concat, _S_substringfn, _S_function }
 
enum  { _S_alloc_granularity = 8 }
 
typedef _Rope_RopeRep< _CharT, _Alloc_Self
 
typedef _Alloc allocator_type
 
typedef _STLP_TYPENAME _STLP_PRIV _BasicCharType< _CharT >::_Ret _IsBasicCharType
 

Public Member Functions

 _Rope_RopeLeaf (_CharT *__d, size_t _p_size, allocator_type __a)
 
 ~_Rope_RopeLeaf ()
 
- Public Member Functions inherited from _Rope_RopeRep< _CharT, _Alloc >
allocator_type get_allocator () const
 
 _Rope_RopeRep (_Tag __t, unsigned char __d, bool __b, size_t _p_size, allocator_type __a)
 
void _M_free_c_string ()
 
void _M_free_tree ()
 
void _M_unref_nonnil ()
 
void _M_ref_nonnil ()
 
- Public Member Functions inherited from _Refcount_Base
 _Refcount_Base (__stl_atomic_t __n)
 
__stl_atomic_t _M_incr ()
 
__stl_atomic_t _M_decr ()
 

Public Attributes

_CharT * _M_data
 
- Public Attributes inherited from _Rope_RopeRep< _CharT, _Alloc >
_Tag _M_tag:8
 
bool _M_is_balanced:8
 
unsigned char _M_depth
 
_CharT *_STLP_VOLATILE _M_c_string
 
_STLP_PRIV _STLP_alloc_proxy< size_t, _CharT, allocator_type_M_size
 

Private Types

typedef _Rope_RopeRep< _CharT, _Alloc_RopeRep
 
typedef _RopeRep::_IsBasicCharType _IsBasicCharType
 

Private Member Functions

void _M_init (__true_type const &)
 
void _M_init (__false_type const &)
 

Additional Inherited Members

- Static Public Member Functions inherited from _Rope_RopeRep< _CharT, _Alloc >
static size_t _S_rounded_up_size (size_t __n)
 
static void _S_free_string (_CharT *__s, size_t __len, allocator_type __a)
 
static void _S_unref (_Self *__t)
 
static void _S_ref (_Self *__t)
 

Detailed Description

template<class _CharT, class _Alloc>
struct _Rope_RopeLeaf< _CharT, _Alloc >

Definition at line 94 of file _rope.h.

Member Typedef Documentation

◆ _IsBasicCharType

template<class _CharT, class _Alloc>
typedef _RopeRep::_IsBasicCharType _Rope_RopeLeaf< _CharT, _Alloc >::_IsBasicCharType
private

Definition at line 460 of file _rope.h.

◆ _RopeRep

template<class _CharT, class _Alloc>
typedef _Rope_RopeRep<_CharT,_Alloc> _Rope_RopeLeaf< _CharT, _Alloc >::_RopeRep
private

Definition at line 459 of file _rope.h.

◆ allocator_type

template<class _CharT, class _Alloc>
typedef _RopeRep::allocator_type _Rope_RopeLeaf< _CharT, _Alloc >::allocator_type

Definition at line 468 of file _rope.h.

Constructor & Destructor Documentation

◆ _Rope_RopeLeaf()

template<class _CharT, class _Alloc>
_Rope_RopeLeaf< _CharT, _Alloc >::_Rope_RopeLeaf ( _CharT *  __d,
size_t  _p_size,
allocator_type  __a 
)
inline

Definition at line 470 of file _rope.h.

471  : _Rope_RopeRep<_CharT,_Alloc>(_RopeRep::_S_leaf, 0, true, _p_size, __a),
472  _M_data(__d) {
473  _STLP_ASSERT(_p_size > 0)
475  }
void _M_init(__true_type const &)
Definition: _rope.h:461
_CharT * _M_data
Definition: _rope.h:453
#define _STLP_ASSERT(expr)
Definition: _debug.h:165
_RopeRep::_IsBasicCharType _IsBasicCharType
Definition: _rope.h:460

◆ ~_Rope_RopeLeaf()

template<class _CharT, class _Alloc>
_Rope_RopeLeaf< _CharT, _Alloc >::~_Rope_RopeLeaf ( )
inline

Definition at line 485 of file _rope.h.

485  {
486  if (_M_data != this->_M_c_string) {
487  this->_M_free_c_string();
488  }
489  _RopeRep::_S_free_string(_M_data, this->_M_size._M_data, this->get_allocator());
490  }
_CharT *_STLP_VOLATILE _M_c_string
Definition: _rope.h:361
_Value _M_data
Definition: _alloc.h:478
_CharT * _M_data
Definition: _rope.h:453
void _M_free_c_string()
Definition: _rope.c:76
static void _S_free_string(_CharT *__s, size_t __len, allocator_type __a)
Definition: _rope.h:411
_STLP_PRIV _STLP_alloc_proxy< size_t, _CharT, allocator_type > _M_size
Definition: _rope.h:362

Member Function Documentation

◆ _M_init() [1/2]

template<class _CharT, class _Alloc>
void _Rope_RopeLeaf< _CharT, _Alloc >::_M_init ( __true_type const )
inlineprivate

Definition at line 461 of file _rope.h.

461  {
462  this->_M_c_string = _M_data;
463  }
_CharT *_STLP_VOLATILE _M_c_string
Definition: _rope.h:361
_CharT * _M_data
Definition: _rope.h:453

Referenced by _Rope_RopeLeaf< _CharT, _Alloc >::_Rope_RopeLeaf().

◆ _M_init() [2/2]

template<class _CharT, class _Alloc>
void _Rope_RopeLeaf< _CharT, _Alloc >::_M_init ( __false_type const )
inlineprivate

Definition at line 464 of file _rope.h.

464 {}

Member Data Documentation

◆ _M_data


The documentation for this struct was generated from the following file: