Spec-Zone .ru
спецификации, руководства, описания, API
ADC домой > Ссылочная библиотека> Ссылка> Дарвин> Разное пространство пользователя ссылка API

 


ext/array_allocator.h

Включает:
<cstddef>
<новый>
<bits/functexcept.h>
<tr1/array>

Введение

Этот файл является расширением GNU Стандартной Библиотеки C++.



Функции

оператор снова переплетает

оператор снова переплетает


template<typename _Tp, typename _Array = std::tr1::array<_Tp> > class array_allocator : public array_allocator_base<_Tp> { 
        public: typedef size_t size_type; 
        typedef ptrdiff_t difference_type; 
        typedef _Tp* pointer; 
        typedef const _Tp* const_pointer; 
        typedef _Tp& reference; 
        typedef const _Tp& const_reference; 
        typedef _Tp value_type;  
        typedef _Array array_type;  
        array_type* _M_array;  
        template<typename _Tp1, typename _Array1 = _Array> struct rebind {
            typedef array_allocator<_Tp1, _Array1> other;
                };  
        array_allocator(
            array_type* __array = NULL) throw() : _M_array(__array) {
                }  array_allocator(
            const array_allocator& __o) throw() : _M_array(__o._M_array) {
                }  template<typename _Tp1, typename _Array1> array_allocator(
            const array_allocator<_Tp1, _Array1>&) throw() : _M_array(NULL) {
                }  ~array_allocator() throw() {
                }  pointer allocate(size_type __n, const void* = 0) { 
            static size_type __array_used; 
            if (
                _M_array == 0 || __array_used + __n > _M_array->size()) std::__throw_bad_alloc(); 
            pointer __ret = _M_array->begin() + __array_used; 
            __array_used += __n; 
            return __ret; 
                } 
        };  template<typename _Tp, typename _Array> inline bool operator==(
        const array_allocator<_Tp, _Array>&, 
        const array_allocator<_Tp, _Array>&) 
Обсуждение

@brief средство выделения, использующее ранее выделенную память. Эта память может быть внешне, глобально, или иначе выделена.

Последнее обновление: 20.06.2006