List< T > Class Template Reference

A template class representing an STL-conforming (doubly linked) std::list<T> More...

#include "List.hpp"

Classes

class  Iterator
 }@ More...

Public Types

typedef T value_type
typedef T * pointer
typedef T & reference
typedef T const & const_reference
typedef std::size_t size_type
typedef std::ptrdiff_t difference_type
typedef Iterator< false, true > iterator
typedef Iterator< true,true > const_iterator
typedef Iterator< false, false > reverse_iterator
typedef Iterator< true,false > const_reverse_iterator

Public Member Functions

construction / destruction
 List ()
 List (size_type n)
 List (size_type n, const T &val)
 List (const List &other)
 List (iterator beg, iterator end)
 List (const_iterator beg, const_iterator end)
 List (reverse_iterator beg, reverse_iterator end)
 List (const_reverse_iterator beg, const_reverse_iterator end)
 ~List ()
assignment, swapping

}@

Listoperator= (const List &other)
void swap (List &other)
iterator traversal

}@

forward/reverse, const/non-const

iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
reverse_iterator rbegin ()
reverse_iterator rend ()
const_reverse_iterator rbegin () const
const_reverse_iterator rend () const
direct data access

}@

reference front ()
reference back ()
const_reference front () const
const_reference back () const
size

}@

size_type size () const
size_type max_size () const
bool empty () const
void clear ()
void resize (size_type n, T val=T())
insertion

}@

void push_front (const T &val)
void push_back (const T &val)
iterator insert (iterator pos, const T &val)
void insert (iterator pos, size_type n, const T &val)
void insert (iterator pos, iterator beg, iterator end)
void insert (iterator pos, const_iterator beg, const_iterator end)
void insert (iterator pos, reverse_iterator beg, reverse_iterator end)
void insert (iterator pos, const_reverse_iterator beg, const_reverse_iterator end)
removal

}@

void pop_front ()
void pop_back ()
iterator erase (iterator pos)
iterator erase (iterator beg, iterator end)
transfer nodes from another list

}@

void splice (iterator before, List &from)
void splice (iterator before, List &from, iterator at)
void splice (iterator before, List &from, iterator beg, iterator end)
remove, unique

}@

void remove (const T &val)
void unique ()
merge, reverse, sort

}@

void merge (List &from)
void reverse ()
void sort ()

Detailed Description

template<class T>
class opals::List< T >

A template class representing an STL-conforming (doubly linked) std::list<T>

Template Parameters
Tthe element type

Symbols for List are exported to opals DLLs as required by their modules' interfaces, meaning that DLL users are able to instantiate List only with the corresponding template arguments. The interface of opals::List differs slightly from std::list: no template constructors, no template functions are provided, but these are represented as non-template overloads for List::iterator, List::const_iterator, List::reverse_iterator, and List::const_reverse_iterator.

Author
wk
Date
02.02.2011