std::Deque_iterator< Type, Ref, Ptr > Struct Template Reference

A deque::iterator. More...

#include <stl_deque.h>

List of all members.

Public Types

typedef Deque_iterator< Type,
Type &, Type * > 
iterator
typedef Deque_iterator< Type,
const Type &, const Type * > 
const_iterator
typedef random_access_iterator_tag iterator_category
typedef Type value_type
typedef Ptr pointer
typedef Ref reference
typedef size_t size_type
typedef ptrdiff_t difference_type
typedef Type ** Map_pointer
typedef Deque_iterator Self

Public Member Functions

 Deque_iterator (Type *x, Map_pointer y)
 Deque_iterator ()
 Deque_iterator (const iterator &x)
reference operator * () const
pointer operator-> () const
Selfoperator++ ()
Self operator++ (int)
Selfoperator-- ()
Self operator-- (int)
Selfoperator+= (difference_type n)
Self operator+ (difference_type n) const
Selfoperator-= (difference_type n)
Self operator- (difference_type n) const
reference operator[] (difference_type n) const
void M_set_node (Map_pointer new_node)

Static Public Member Functions

static size_t S_buffer_size ()

Public Attributes

Type * M_cur
Type * M_first
Type * M_last
Map_pointer M_node


Detailed Description

template<typename Type, typename Ref, typename Ptr>
struct std::Deque_iterator< Type, Ref, Ptr >

A deque::iterator.

Quite a bit of intelligence here. Much of the functionality of deque is actually passed off to this class. A deque holds two of these internally, marking its valid range. Access to elements is done as offsets of either of those two, relying on operator overloading in this class.

Definition at line 100 of file stl_deque.h.


The documentation for this struct was generated from the following file:
Generated on Tue Jan 2 16:59:53 2007 for libstdc++-v3 Source by  doxygen 1.5.1