# stl_rope.h File Reference

`#include <bits/stl_threads.h>`
`#include <ext/memory>`
`#include <ext/ropeimpl.h>`

Include dependency graph for stl_rope.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Namespaces

namespace | __gnu_cxx

## Detailed Description

This file is a GNU extension to the Standard C++ Library (possibly containing extensions from the HP/SGI STL subset). You should only include this header if you are using GCC 3 or later.

Definition in file stl_rope.h.

## Define Documentation

#define __ROPE_DEFINE_ALLOC | ( | _Tp,
|  | __name |  | ) |

Value:

    typedef typename \
              _Alloc_traits<_Tp,_Allocator>::_Alloc_type __name##Alloc; \
            typedef typename \
              _Alloc_traits<_Tp,_Allocator>::allocator_type __name##Allocator; \
            static _Tp* __name##_allocate(size_t __n) \
              { return __name##Alloc::allocate(__n); } \
            static void __name##_deallocate(_Tp *__p, size_t __n) \
              { __name##Alloc::deallocate(__p, __n); }

Definition at line 1211 of file stl_rope.h.

#define __ROPE_DEFINE_ALLOC | ( | _Tp,
|  | __name |  | ) |

Value:

    typedef typename \
              _Alloc_traits<_Tp,_Allocator>::allocator_type __name##Allocator; \
            _Tp* __name##_allocate(size_t __n) const \
              { return __name##Allocator(_M_data_allocator).allocate(__n); } \
            void __name##_deallocate(_Tp *__p, size_t __n) const \
                    { __name##Allocator(_M_data_allocator).deallocate(__p, __n); }

Definition at line 1211 of file stl_rope.h.

#define __ROPE_DEFINE_ALLOC | ( | _Tp,
|  | __name |  | ) |

Value:

    typedef typename \
              _Alloc_traits<_Tp,_Allocator>::_Alloc_type __name##Alloc; \
            typedef typename \
              _Alloc_traits<_Tp,_Allocator>::allocator_type __name##Allocator; \
            static _Tp* __name##_allocate(size_t __n) \
                    { return __name##Alloc::allocate(__n); } \
            void __name##_deallocate(_Tp *__p, size_t __n) \
                    { __name##Alloc::deallocate(__p, __n); }

Definition at line 1211 of file stl_rope.h.

#define __ROPE_DEFINE_ALLOC | ( | _Tp,
|  | __name |  | ) |

Value:

    typedef typename \
              _Alloc_traits<_Tp,_Allocator>::allocator_type __name##Allocator; \
              _Tp * __name##_allocate(size_t __n) \
              { return __name##Allocator(_M_data_allocator).allocate(__n); } \
            void __name##_deallocate(_Tp* __p, size_t __n) \
              { __name##Allocator(_M_data_allocator).deallocate(__p, __n); }

Definition at line 1211 of file stl_rope.h.

#define __ROPE_DEFINE_ALLOCS | ( | __a |  | ) |

Value:

    __ROPE_DEFINE_ALLOC(_CharT,_Data)   \
            typedef _Rope_RopeConcatenation<_CharT,__a> __C; \
            __ROPE_DEFINE_ALLOC(__C,_C) \
            typedef _Rope_RopeLeaf<_CharT,__a> __L; \
            __ROPE_DEFINE_ALLOC(__L,_L) \
            typedef _Rope_RopeFunction<_CharT,__a> __F; \
            __ROPE_DEFINE_ALLOC(__F,_F) \
            typedef _Rope_RopeSubstring<_CharT,__a> __S; \
            __ROPE_DEFINE_ALLOC(__S,_S)

Definition at line 382 of file stl_rope.h.