__gnu_debug_def::deque(3)
NAME
__gnu_debug_def::deque
SYNOPSIS
Inherits std::deque< Type, Allocator >, and __gnu_debug::Safe_sequence< Sequence >< __gnu_debug_def::deque<
Type, Allocator > >
- Public Types
- typedef Allocator::reference reference
typedef Allocator::const_reference const_reference typedef __gnu_debug::Safe_iterator< typename
Base::iterator
typedef __gnu_debug::Safe_iterator< typename
Base::const_iterator
- typedef Base::size_type size_type
typedef Base::difference_type difference_type
typedef Type value_type
typedef Allocator allocator_type
typedef Allocator::pointer pointer
typedef Allocator::const_pointer const_pointer typedef std::reverse_iterator< iterator > reverse_iterator typedef std::reverse_iterator< const_iterator > - const_reverse_iterator
- Public Member Functions
- deque (const Allocator &a=Allocator())
deque (size_type n, const Type &value=Type(), const Allo - cator &a=Allocator())
template<class InputIterator> deque (InputIterator first, - InputIterator last, const Allocator &a=Allocator())
deque (const deque< Type, Allocator > &x)
deque (const Base &x)
~deque ()
deque< Type, Allocator > & operator= (const deque< Type, - Allocator > &x)
template<class InputIterator> void assign (InputIterator - first, InputIterator last)
Assigns a range to a deque.
- void assign (size_type n, const Type &__t)
Assigns a given value to a deque.
- iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin () const_reverse_iterator rbegin () const reverse_iterator rend ()
const_reverse_iterator rend () const void resize (size_type sz, Type c=Type()) reference operator[] (size_type n)Subscript access to the data contained in the deque. - const_reference operator[] (size_type n) const
Subscript access to the data contained in the deque.
- reference front ()
const_reference front () const reference back ()
const_reference back () const
void push_front (const Type &x)Add data to the front of the deque. - void push_back (const Type &x)
Add data to the end of the deque.
- iterator insert (iterator position, const Type &x) void insert (iterator position, size_type n, const Type
- &x)
template<class InputIterator> void insert (iterator posi - tion, InputIterator first, InputIterator last)
void pop_front ()Removes first element. - void pop_back ()
Removes last element.
- iterator erase (iterator position)
iterator erase (iterator first, iterator last)
void swap (deque< Type, Allocator > &x)
void clear ()
Base & M_base ()
const Base & M_base () const
allocator_type get_allocator () constGet a copy of the memory allocation object. - size_type size () const
size_type max_size () const
void resize (size_type new_size, const value_type &x)Resizes the deque to the specified number of elements. - void resize (size_type new_size)
Resizes the deque to the specified number of elements.
- bool empty () const
reference at (size_type n)Provides access to the data contained in the deque. - const_reference at (size_type n) const
Provides access to the data contained in the deque.
- iterator insert (iterator position, const value_type &x)
Inserts given value into deque before specifiediterator.
- void insert (iterator position, size_type n, const
- value_type &x)
Inserts a number of copies of given data into thedeque.
- void insert (iterator position, InputIterator first, In
- putIterator last)
Inserts a range into the deque.
- iterator erase (iterator position)
Remove element at given position.
- iterator erase (iterator first, iterator last)
Remove a range of elements.
- void swap (deque &x)
Swaps data with another deque.
- template<typename Predicate> void M_invalidate_if (Predi
- cate pred)
template<typename Iterator> void M_transfer_iter (const - Safe_iterator< Iterator, Sequence > &x)
void M_invalidate_all () const - Public Attributes
- Safe_iterator_base * M_iterators
The list of mutable iterators that reference thiscontainer.
- Safe_iterator_base * M_const_iterators
The list of constant iterators that reference thiscontainer.
- unsigned int M_version
The container version number. This number may never be0.
- Protected Types
- typedef pointer * Map_pointer
enum
typedef Allocator::template rebind< Type * >::other
Map_alloc_type
- Protected Member Functions
- void M_range_check (size_type n) const void M_initialize_dispatch (Integer n, Integer x,
- __true_type)
void M_initialize_dispatch (InputIterator first, InputIt - erator last, __false_type)
void M_assign_dispatch (Integer n, Integer __val, - __true_type)
void M_assign_dispatch (InputIterator first, InputIterator - last, __false_type)
void M_assign_aux (ForwardIterator first, ForwardIterator - last, forward_iterator_tag)
void M_fill_assign (size_type n, const value_type &__val) void M_insert_dispatch (iterator position, Integer n, In - teger x, __true_type)
void M_insert_dispatch (iterator position, InputIterator - first, InputIterator last, __false_type)
iterator M_reserve_elements_at_front (size_type n) iterator M_reserve_elements_at_back (size_type n) void M_reserve_map_at_back (size_type nodes_to_add=1) void M_reserve_map_at_front (size_type nodes_to_add=1) Map_alloc_type M_get_map_allocator () const Type * M_allocate_node ()
void M_deallocate_node (Type *__p)
Type ** M_allocate_map (size_t n)
void M_deallocate_map (Type **__p, size_t n) void M_detach_all ()
void M_detach_singular ()
void M_revalidate_singular () void M_swap (Safe_sequence_base &x) - Static Protected Member Functions
- static size_t S_buffer_size ()
- Protected Attributes
- Deque_impl M_impl
- Private Types
- typedef std::deque< Type, Allocator > Base typedef __gnu_debug::Safe_sequence< deque > Safe_base
Detailed Description
- template<typename Type, typename Allocator =
- std::allocator<Type>> class __gnu_debug_def::deque< Type,
Allocator >
Definition at line 41 of file debug/deque.
Constructor & Destructor Documentation
- template<typename Type, typename Allocator =
- std::allocator<Type>> __gnu_debug_def::deque< Type, Allocator
- >::~deque () [inline]
- The dtor only erases the elements, and note that if the
- elements themselves are pointers, the pointed-to memory is not
- touched in any way. Managing the pointer is the user's responsi
- bilty.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 85 of file debug/deque.
Member Function Documentation
- template<typename Type, typename Allocator =
- std::allocator<Type>> template<class InputIterator> void
- __gnu_debug_def::deque< Type, Allocator >::assign (InputIterator
- first, InputIterator last) [inline]
- Assigns a range to a deque.
- Parameters:
first An input iterator.
last An input iterator. - This function fills a deque with copies of the elements in
- the range [first,last).
- Note that the assignment completely changes the deque and
- that the resulting deque's size is the same as the number of ele
- ments assigned. Old data may be lost.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 97 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> void __gnu_debug_def::deque< Type,
Allocator >::assign (size_type n, const Type & __t) [inline]
Assigns a given value to a deque.
- Parameters:
- n Number of elements to be assigned.
val Value to be assigned. - This function fills a deque with n copies of the given
- value. Note that the assignment completely changes the deque and
- that the resulting deque's size is the same as the number of ele
- ments assigned. Old data may be lost.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 105 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> iterator __gnu_debug_def::deque< Type,
Allocator >::begin () [inline]
- Returns a read/write iterator that points to the first el
- ement in the deque. Iteration is done in ordinary element order.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 115 of file debug/deque.
- Referenced by __gnu_debug_def::deque< Type, Allocator
- >::erase(), __gnu_debug_def::deque< Type, Allocator
- >::pop_front(), __gnu_debug_def::deque< Type, Allocator
- >::rend(), and __gnu_debug_def::deque< Type, Allocator >::re
- size().
- template<typename Type, typename Allocator =
- std::allocator<Type>> const_iterator __gnu_debug_def::deque<
Type, Allocator >::begin () const [inline]
- Returns a read-only (constant) iterator that points to the
- first element in the deque. Iteration is done in ordinary element
- order.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 119 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> iterator __gnu_debug_def::deque< Type,
Allocator >::end () [inline]
- Returns a read/write iterator that points one past the
- last element in the deque. Iteration is done in ordinary element
- order.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 123 of file debug/deque.
- Referenced by __gnu_debug_def::deque< Type, Allocator
- >::erase(), __gnu_debug_def::deque< Type, Allocator
- >::pop_back(), and __gnu_debug_def::deque< Type, Allocator
- >::rbegin().
- template<typename Type, typename Allocator =
- std::allocator<Type>> const_iterator __gnu_debug_def::deque<
Type, Allocator >::end () const [inline]
- Returns a read-only (constant) iterator that points one
- past the last element in the deque. Iteration is done in ordinary
- element order.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 127 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> reverse_iterator __gnu_debug_def::deque<
Type, Allocator >::rbegin () [inline]
- Returns a read/write reverse iterator that points to the
- last element in the deque. Iteration is done in reverse element
- order.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 131 of file debug/deque.
- References __gnu_debug_def::deque< Type, Allocator
- >::end().
- template<typename Type, typename Allocator =
- std::allocator<Type>> const_reverse_iterator
- __gnu_debug_def::deque< Type, Allocator >::rbegin () const
- [inline]
- Returns a read-only (constant) reverse iterator that
- points to the last element in the deque. Iteration is done in re
- verse element order.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 135 of file debug/deque.
- References __gnu_debug_def::deque< Type, Allocator
- >::end().
- template<typename Type, typename Allocator =
- std::allocator<Type>> reverse_iterator __gnu_debug_def::deque<
Type, Allocator >::rend () [inline]
- Returns a read/write reverse iterator that points to one
- before the first element in the deque. Iteration is done in re
- verse element order.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 139 of file debug/deque.
- References __gnu_debug_def::deque< Type, Allocator >::be
- gin().
- template<typename Type, typename Allocator =
- std::allocator<Type>> const_reverse_iterator
- __gnu_debug_def::deque< Type, Allocator >::rend () const [inline]
- Returns a read-only (constant) reverse iterator that
- points to one before the first element in the deque. Iteration is
- done in reverse element order.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 143 of file debug/deque.
- References __gnu_debug_def::deque< Type, Allocator >::be
- gin().
- template<typename Type, typename Allocator =
- std::allocator<Type>> reference __gnu_debug_def::deque< Type,
Allocator >::operator[] (size_type n) [inline]
Subscript access to the data contained in the deque.
- Parameters:
- n The index of the element for which data should be
- accessed.
- Returns:
- Read/write reference to data.
- This operator allows for easy, array-style, data access.
- Note that data access with this operator is unchecked and
- out_of_range lookups are not defined. (For checked lookups see
- at().)
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 170 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> const_reference __gnu_debug_def::deque<
Type, Allocator >::operator[] (size_type n) const [inline]
Subscript access to the data contained in the deque.
- Parameters:
- n The index of the element for which data should be
- accessed.
- Returns:
- Read-only (constant) reference to data.
- This operator allows for easy, array-style, data access.
- Note that data access with this operator is unchecked and
- out_of_range lookups are not defined. (For checked lookups see
- at().)
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 177 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> reference __gnu_debug_def::deque< Type,
Allocator >::front () [inline]
- Returns a read/write reference to the data at the first
- element of the deque.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 186 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> const_reference __gnu_debug_def::deque<
Type, Allocator >::front () const [inline]
- Returns a read-only (constant) reference to the data at
- the first element of the deque.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 193 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> reference __gnu_debug_def::deque< Type,
Allocator >::back () [inline]
- Returns a read/write reference to the data at the last el
- ement of the deque.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 200 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> const_reference __gnu_debug_def::deque<
Type, Allocator >::back () const [inline]
- Returns a read-only (constant) reference to the data at
- the last element of the deque.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 207 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> void __gnu_debug_def::deque< Type,
Allocator >::push_front (const Type & x) [inline]
Add data to the front of the deque.
- Parameters:
- x Data to be added.
- This is a typical stack operation. The function creates an
- element at the front of the deque and assigns the given data to
- it. Due to the nature of a deque this operation can be done in
- constant time.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 215 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> void __gnu_debug_def::deque< Type,
Allocator >::push_back (const Type & x) [inline]
Add data to the end of the deque.
- Parameters:
- x Data to be added.
- This is a typical stack operation. The function creates an
- element at the end of the deque and assigns the given data to it.
- Due to the nature of a deque this operation can be done in con
- stant time.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 222 of file debug/deque.
- template<typename Type, typename Allocator =
- std::allocator<Type>> void __gnu_debug_def::deque< Type,
Allocator >::pop_front () [inline]
Removes first element.
- This is a typical stack operation. It shrinks the deque by
- one.
- Note that no data is returned, and if the first element's
- data is needed, it should be retrieved before pop_front() is
- called.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 256 of file debug/deque.
- References __gnu_debug_def::deque< Type, Allocator >::be
- gin().
- template<typename Type, typename Allocator =
- std::allocator<Type>> void __gnu_debug_def::deque< Type,
Allocator >::pop_back () [inline]
Removes last element.
- This is a typical stack operation. It shrinks the deque by
- one.
- Note that no data is returned, and if the last element's
- data is needed, it should be retrieved before pop_back() is
- called.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 265 of file debug/deque.
- References __gnu_debug_def::deque< Type, Allocator
- >::end().
- template<typename Type, typename Allocator =
- std::allocator<Type>> void __gnu_debug_def::deque< Type,
Allocator >::clear () [inline]
- Erases all the elements. Note that this function only
- erases the elements, and that if the elements themselves are
- pointers, the pointed-to memory is not touched in any way. Manag
- ing the pointer is the user's responsibilty.
- Reimplemented from std::deque< Type, Allocator >.
- Definition at line 333 of file debug/deque.
- allocator_type std::deque< Type , Allocator >::get_allocator
- () const [inline, inherited]
- Get a copy of the memory allocation object.
- Reimplemented from std::Deque_base< Type, Allocator >.
- Definition at line 751 of file stl_deque.h.
- size_type std::deque< Type , Allocator >::size () const
- [inline, inherited]
- Returns the number of elements in the deque.
- Definition at line 824 of file stl_deque.h.
- Referenced by __gnu_debug_def::deque< Type, Allocator
- >::resize().
- size_type std::deque< Type , Allocator >::max_size (void)
- const [inline, inherited]
- Returns the size() of the largest possible deque.
- Definition at line 829 of file stl_deque.h.
- void std::deque< Type , Allocator >::resize (size_type
- new_size, const value_type & x) [inline, inherited]
- Resizes the deque to the specified number of elements.
- Parameters:
new_size Number of elements the deque should contain. x Data with which new elements should be populated.
- This function will resize the deque to the specified num
- ber of elements. If the number is smaller than the deque's cur
- rent size the deque is truncated, otherwise the deque is extended
- and new elements are populated with given data.
- Definition at line 843 of file stl_deque.h.
- References std::deque< Type, Alloc >::erase(), std::deque<
- Type, Alloc >::insert(), and std::deque< Type, Alloc >::size().
- void std::deque< Type , Allocator >::resize (size_type
- new_size) [inline, inherited]
- Resizes the deque to the specified number of elements.
- Parameters:
new_size Number of elements the deque should contain.
- This function will resize the deque to the specified num
- ber of elements. If the number is smaller than the deque's cur
- rent size the deque is truncated, otherwise the deque is extended
- and new elements are default-constructed.
- Definition at line 862 of file stl_deque.h.
- References std::deque< Type, Alloc >::resize().
- bool std::deque< Type , Allocator >::empty () const [inline,
- inherited]
- Returns true if the deque is empty. (Thus begin() would
- equal end().)
- Definition at line 869 of file stl_deque.h.
- reference std::deque< Type , Allocator >::at (size_type n)
- [inline, inherited]
- Provides access to the data contained in the deque.
- Parameters:
n The index of the element for which data should beaccessed.
- Returns:
Read/write reference to data.
- Exceptions:
std::out_of_range If n is an invalid index.
- This function provides for safer data access. The parame
- ter is first checked that it is in the range of the deque. The
- function throws out_of_range if the check fails.
- Definition at line 920 of file stl_deque.h.
- const_reference std::deque< Type , Allocator >::at (size_type
- n) const [inline, inherited]
- Provides access to the data contained in the deque.
- Parameters:
n The index of the element for which data should beaccessed.
- Returns:
Read-only (constant) reference to data.
- Exceptions:
std::out_of_range If n is an invalid index.
- This function provides for safer data access. The parame
- ter is first checked that it is in the range of the deque. The
- function throws out_of_range if the check fails.
- Definition at line 934 of file stl_deque.h.
- iterator std::deque< Type , Allocator >::insert (iterator
- position, const value_type & x) [inherited]
- Inserts given value into deque before specified iterator.
- Parameters:
position An iterator into the deque.
x Data to be inserted. - Returns:
An iterator that points to the inserted data.
- This function will insert a copy of the given value before
- the specified location.
- void std::deque< Type , Allocator >::insert (iterator
- position, size_type n, const value_type & x) [inline, inherited]
- Inserts a number of copies of given data into the deque.
- Parameters:
position An iterator into the deque.
n Number of elements to be inserted.
x Data to be inserted. - This function will insert a specified number of copies of
- the given data before the location specified by position.
- Definition at line 1083 of file stl_deque.h.
- void std::deque< Type , Allocator >::insert (iterator
- position, InputIterator first, InputIterator last) [inline,
- inherited]
- Inserts a range into the deque.
- Parameters:
position An iterator into the deque.
first An input iterator.
last An input iterator. - This function will insert copies of the data in the range
- [first,last) into the deque before the location specified by pos.
- This is known as 'range insert.'
- Definition at line 1098 of file stl_deque.h.
- iterator std::deque< Type , Allocator >::erase (iterator
- position) [inherited]
- Remove element at given position.
- Parameters:
position Iterator pointing to element to be erased.
- Returns:
An iterator pointing to the next element (or end()).
- This function will erase the element at the given position
- and thus shorten the deque by one.
- The user is cautioned that this function only erases the
- element, and that if the element is itself a pointer, the point
- ed-to memory is not touched in any way. Managing the pointer is
- the user's responsibilty.
- iterator std::deque< Type , Allocator >::erase (iterator
- first, iterator last) [inherited]
- Remove a range of elements.
- Parameters:
first Iterator pointing to the first element to beerased.
last Iterator pointing to one past the last element tobe erased. - Returns:
An iterator pointing to the element pointed to by lastprior to erasing (or end()).
- This function will erase the elements in the range
- [first,last) and shorten the deque accordingly.
- The user is cautioned that this function only erases the
- elements, and that if the elements themselves are pointers, the
- pointed-to memory is not touched in any way. Managing the pointer
- is the user's responsibilty.
- void std::deque< Type , Allocator >::swap (deque< Type,
Allocator > & x) [inline, inherited]
Swaps data with another deque.
- Parameters:
- x A deque of the same element and allocator types.
- This exchanges the elements between two deques in constant
- time. (Four pointers, so it should be quite fast.) Note that the
- global std::swap() function is specialized such that
- std::swap(d1,d2) will feed to this function.
- Definition at line 1151 of file stl_deque.h.
- References std::swap().
- template<typename Sequence> template<typename Predicate> void
- __gnu_debug::Safe_sequence< Sequence >::M_invalidate_if
- (Predicate pred) [inherited]
- Invalidates all iterators x that reference this sequence,
- are not singular, and for which pred(x) returns true. The user of
- this routine should be careful not to make copies of the itera
- tors passed to pred, as the copies may interfere with the invali
- dation.
- Definition at line 120 of file safe_sequence.h.
- template<typename Sequence> template<typename Iterator> void
- __gnu_debug::Safe_sequence< Sequence >::M_transfer_iter (const
Safe_iterator< Iterator, Sequence > & x) [inherited]
- Transfers all iterators that reference this memory loca
- tion to this sequence from whatever sequence they are attached
- to.
- Definition at line 152 of file safe_sequence.h.
- void __gnu_debug::Safe_sequence_base::M_detach_all ()
- [protected, inherited]
- Detach all iterators, leaving them singular.
- Definition at line 114 of file debug.cc.
- void __gnu_debug::Safe_sequence_base::M_detach_singular ()
- [protected, inherited]
- Detach all singular iterators.
- Postcondition:
for all iterators i attached to this sequence,i->M_version == M_version.
- Definition at line 133 of file debug.cc.
- void __gnu_debug::Safe_sequence_base::M_revalidate_singular ()
- [protected, inherited]
- Revalidates all attached singular iterators. This method
- may be used to validate iterators that were invalidated before
- (but for some reasion, such as an exception, need to become valid
- again).
- Definition at line 154 of file debug.cc.
- void __gnu_debug::Safe_sequence_base::M_swap
- (Safe_sequence_base & x) [protected, inherited]
- Swap this sequence with the given sequence. This operation
- also swaps ownership of the iterators, so that when the operation
- is complete all iterators that originally referenced one contain
- er now reference the other container.
- Definition at line 172 of file debug.cc.
- References __gnu_debug::swap().
- void __gnu_debug::Safe_sequence_base::M_invalidate_all ()
- const [inline, inherited]
- Invalidates all iterators.
- Definition at line 202 of file safe_base.h.
Member Data Documentation
- Safe_iterator_base*
- __gnu_debug::Safe_sequence_base::M_iterators [inherited]
- The list of mutable iterators that reference this contain
- er.
- Definition at line 153 of file safe_base.h.
- Safe_iterator_base*
- __gnu_debug::Safe_sequence_base::M_const_iterators [inherited]
- The list of constant iterators that reference this con
- tainer.
- Definition at line 156 of file safe_base.h.
- unsigned int __gnu_debug::Safe_sequence_base::M_version
- [mutable, inherited]
- The container version number. This number may never be 0.
- Definition at line 159 of file safe_base.h.
Author
- Generated automatically by Doxygen for libstdc++-v3 Source
- from the source code.
- libstdc++-v3 Source 1 Jan 2007 __gnu_de