Spec-Zone .ru
спецификации, руководства, описания, API
|
ADC домой > Ссылочная библиотека> Ссылка> Дарвин> Разное пространство пользователя ссылка API
|
stl_deque.h |
Включает: |
Это - внутренний заголовочный файл, включенный другими заголовками библиотеки. Вы не должны пытаться использовать его непосредственно.
__ deque_buf_size |
inline size_t __deque_buf_size( size_t __size)
size
Число (не размер байта) элементов на узел.
Эта функция началась как клудж компилятора от SGI, но, кажется, полезная обертка вокруг повторного константного выражения. Эти '512' tuneable (и никакой другой код не должен изменяться), но никакое расследование не было сделано начиная с наследования кода SGI. @endif
@if maint @brief Эта функция управляет размером узлов памяти.
_M_initialize_map |
template<typename _Tp, typename _Alloc> void _Deque_base<_Tp, _Alloc>:: _M_initialize_map( size_t __num_elements)
num_elements
Ничто.
Начальное базовое расположение памяти является немного сложным... @endif
@if maint @brief хранение Расположения.
оператор _Deque_iterator |
template<typename _Tp, typename _Ref, typename _Ptr> struct _Deque_iterator { typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator; typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator; static size_t _S_buffer_size() { return __deque_buf_size( sizeof( _Tp)); } typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef _Ptr pointer; typedef _Ref reference; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp** _Map_pointer; typedef _Deque_iterator _Self; _Tp*_M_cur; _Tp*_M_first; _Tp*_M_last; _Map_pointer _M_node; _Deque_iterator( _Tp* __x, _Map_pointer __y) : _M_cur( __x), _M_first( *__y), _M_last( *__y + _S_buffer_size()), _M_node(__y) { } _Deque_iterator() : _M_cur(0), _M_first(0), _M_last(0), _M_node(0) { } _Deque_iterator( const iterator& __x) : _M_cur( __x._M_cur), _M_first( __x._M_first), _M_last( __x._M_last), _M_node(__x._M_node) { } reference operator*() const ;
@brief двухсторонняя очередь:: итератор.
Довольно мало интеллекта здесь. Большая часть функциональности двухсторонней очереди фактически выдана к этому классу. Двухсторонняя очередь содержит два из них внутренне, отмечая ее допустимый диапазон. Доступ к элементам сделан как смещения любого из тех двух, полагаясь на оператора, перегружающегося в этом классе.
@if maint Все функции являются op перегрузками за исключением _M_set_node. @endif
Последнее обновление: 20.06.2006