Logo Search packages:      
Sourcecode: ragel version File versions

Deque< T, BlkSize > Class Template Reference
[Deque]

#include <deque.h>

Inheritance diagram for Deque< T, BlkSize >:

DList< DequeBlkHead >

List of all members.


Detailed Description

template<class T, class BlkSize = BlkSizeOneKEls>
class Deque< T, BlkSize >

Double Ended Queue for classes with non-trivial initialization.

Definition at line 51 of file dequecommon.h.


Public Member Functions

void abandon ()
void addAfter (Element *prev_el, DList &dl)
void addAfter (Element *prev_el, Element *new_el)
void addBefore (Element *next_el, DList &dl)
void addBefore (Element *next_el, Element *new_el)
DequeBlkHead * allocBlk ()
void append (DList &dl)
 Append an entire list to the end of the list.
void append (Element *new_el)
 Append a single element to the end of the list.
void append (T *data, long len)
void append (const T &item)
void deepCopy (const DList &other)
 Perform a deep copy of the list.
Element * detach (Element *el)
Element * detachFirst ()
 Detach the head of the list.
Element * detachLast ()
 Detach the tail of the list.
void empty ()
IterFirst first ()
 Return first element.
void freeBlk (DequeBlkHead *block)
IterLast last ()
 Return last element.
long length () const
 The number of elements in the list.
void peekEnd (T *dst, long len) const
void peekFront (T *dst, long len) const
void prepend (DList &dl)
 Prepend an entire list to the beginning of this list.
void prepend (Element *new_el)
 Prepend a single element to the front of the list.
void prepend (T *data, long len)
void prepend (const T &item)
void remove (Element *el)
 Detach and delete an element from the list.
void removeEnd (T *dst, long len)
void removeEnd (long len)
void removeFirst ()
 Detach and delete the first element in the list.
void removeFront (T *dst, long len)
void removeFront (long len)
void removeLast ()
 Detach and delete the last element in the list.
void shallowCopy (const DList &other)
 Shallow copy another list into this list.
long size () const

Public Attributes

long dequeLen
long endPos
long frontPos
Element * head
 Head and tail of the linked list.
long listLen
 The number of element in the list.
Element * tail

Classes

struct  Iter
struct  IterFirst
struct  IterLast
struct  IterNext
struct  IterPrev

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index