A template class representing an STL-conforming (doubly linked) std::list<T> More...
#include "List.hpp"
Classes | |
class | Iterator |
A bidirectional iterator class for List. 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 | |
List & | operator= (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 () |
A template class representing an STL-conforming (doubly linked) std::list<T>
T | the 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.