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

 


stl_vector.h

Включает:

Введение

Это - внутренний заголовочный файл, включенный другими заголовками библиотеки. Вы не должны пытаться использовать его непосредственно.



Структуры и объединения


_Vector_base


template<typename _Tp, typename _Alloc> struct _Vector_base { 
    struct _Vector_impl : public _Alloc { 
        _Tp* _M_start; 
        _Tp* _M_finish; 
        _Tp* _M_end_of_storage; 
        _Vector_impl(
            _Alloc const& __a) : _Alloc(
            __a), _M_start(0), _M_finish(0), _M_end_of_storage(0) {
                } 
        };  
    public: typedef _Alloc allocator_type;  
    allocator_type get_allocator() const {
        return *static_cast<const _Alloc*>(
            &this->_M_impl);
        }  _Vector_base(
        const allocator_type& __a) : _M_impl(__a) {
        }  _Vector_base(
        size_t __n,
        const allocator_type& __a) : _M_impl(__a) { 
        this->_M_impl._M_start = this->_M_allocate(
            __n); 
        this->_M_impl._M_finish = this->_M_impl._M_start; 
        this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; 
        }  ~_Vector_base() {
        _M_deallocate(
            this->_M_impl._M_start,
            this->_M_impl._M_end_of_storage - this->_M_impl._M_start);
        }  public: _Vector_impl _M_impl;  
    _Tp* _M_allocate(size_t __n) {
        return _M_impl.allocate(
            __n);
        }  void _M_deallocate(_Tp* __p, size_t __n) { 
        if (
            __p) _M_impl.deallocate(
            __p,
            __n); 
        } 
};  
Обсуждение

@if maint Видят _Deque_base bits/stl_deque.h для объяснения. @endif

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