Public Types |
typedef size_t | size_type |
| The type used for determining the size of list.
|
Public Member Functions |
| list () |
| Default constructor.
|
| ~list () |
| Destructor.
|
| list (size_t initial_size) |
| Construct from size.
|
| list (size_t initial_size, typename ilist< T >::parameter_t value) |
| Construct from size and value.
|
| list (const list &other) |
| Copy constructor.
|
template<typename TIterator > |
| list (TIterator first, TIterator last) |
| Construct from range.
|
list & | operator= (const list &rhs) |
| Assignment operator.
|
iterator | begin () |
| Gets the beginning of the list.
|
const_iterator | begin () const |
| Gets the beginning of the list.
|
iterator | end () |
| Gets the end of the list.
|
const_iterator | end () const |
| Gets the end of the list.
|
const_iterator | cbegin () const |
| Gets the beginning of the list.
|
const_iterator | cend () const |
| Gets the end of the list.
|
reverse_iterator | rbegin () |
| Gets the reverse beginning of the list.
|
const_reverse_iterator | rbegin () const |
| Gets the reverse beginning of the list.
|
reverse_iterator | rend () |
| Gets the reverse end of the list.
|
const_reverse_iterator | crbegin () const |
| Gets the reverse beginning of the list.
|
const_reverse_iterator | crend () const |
| Gets the reverse end of the list.
|
reference | front () |
| Gets a reference to the first element.
|
const_reference | front () const |
| Gets a const reference to the first element.
|
reference | back () |
| Gets a reference to the last element.
|
const_reference | back () const |
| Gets a reference to the last element.
|
template<typename TIterator > |
void | assign (TIterator first, TIterator last) |
| Assigns a range of values to the list.
|
void | assign (size_t n, parameter_t value) |
| Assigns 'n' copies of a value to the list.
|
void | push_front () |
| Adds a node to the front of the list so a new value can be assigned to front().
|
void | push_front (parameter_t value) |
| Pushes a value to the front of the list.
|
template<typename T1 > |
void | emplace_front (const T1 &value1) |
| Emplaces a value to the front of the list..
|
template<typename T1 , typename T2 > |
void | emplace_front (const T1 &value1, const T2 &value2) |
| Emplaces a value to the front of the list..
|
template<typename T1 , typename T2 , typename T3 > |
void | emplace_front (const T1 &value1, const T2 &value2, const T3 &value3) |
| Emplaces a value to the front of the list..
|
template<typename T1 , typename T2 , typename T3 , typename T4 > |
void | emplace_front (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
| Emplaces a value to the front of the list..
|
void | pop_front () |
| Removes a value from the front of the list.
|
void | push_back () |
| Adds a node to the back of the list so a new value can be assigned to back().
|
void | push_back (parameter_t value) |
| Pushes a value to the back of the list..
|
template<typename T1 > |
void | emplace_back (const T1 &value1) |
| Emplaces a value to the back of the list..
|
template<typename T1 , typename T2 > |
void | emplace_back (const T1 &value1, const T2 &value2) |
| Emplaces a value to the back of the list..
|
template<typename T1 , typename T2 , typename T3 > |
void | emplace_back (const T1 &value1, const T2 &value2, const T3 &value3) |
| Emplaces a value to the back of the list..
|
template<typename T1 , typename T2 , typename T3 , typename T4 > |
void | emplace_back (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
| Emplaces a value to the back of the list..
|
void | pop_back () |
| Removes a value from the back of the list.
|
iterator | insert (iterator position, const value_type &value) |
| Inserts a value to the list at the specified position.
|
void | insert (iterator position, size_t n, const value_type &value) |
| Inserts 'n' copies of a value to the list at the specified position.
|
template<typename TIterator > |
void | insert (iterator position, TIterator first, TIterator last) |
| Inserts a range of values to the list at the specified position.
|
template<typename T1 > |
iterator | emplace (iterator position, const T1 &value1) |
| Emplaces a value to the list at the specified position.
|
template<typename T1 , typename T2 > |
iterator | emplace (iterator position, const T1 &value1, const T2 &value2) |
| Emplaces a value to the list at the specified position.
|
template<typename T1 , typename T2 , typename T3 > |
iterator | emplace (iterator position, const T1 &value1, const T2 &value2, const T3 &value3) |
| Emplaces a value to the list at the specified position.
|
template<typename T1 , typename T2 , typename T3 , typename T4 > |
iterator | emplace (iterator position, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
| Emplaces a value to the list at the specified position.
|
iterator | erase (iterator position) |
| Erases the value at the specified position.
|
iterator | erase (iterator first, iterator last) |
| Erases a range of elements.
|
void | resize (size_t n) |
| Resizes the list.
|
void | resize (size_t n, parameter_t value) |
| Resizes the list.
|
void | clear () |
| Clears the list.
|
template<typename TPredicate > |
void | remove_if (TPredicate predicate) |
| Removes according to a predicate.
|
void | unique () |
| Removes all but the first element from every consecutive group of equal elements in the container.
|
template<typename TIsEqual > |
void | unique (TIsEqual isEqual) |
| Removes all but the first element from every consecutive group of equal elements in the container.
|
void | splice (iterator to, ilist &other) |
| Splices from another list to this.
|
void | splice (iterator to, ilist &other, iterator from) |
| Splices an element from another list to this.
|
void | splice (iterator to, ilist &other, iterator first, iterator last) |
| Splices a range of elements from another list to this.
|
void | merge (ilist &other) |
| Merge another list into this one. Both lists should be sorted.
|
template<typename TCompare > |
void | merge (ilist &other, TCompare compare) |
| Merge another list into this one. Both lists should be sorted.
|
void | sort () |
| Sort using in-place merge sort algorithm.
|
template<typename TCompare > |
void | sort (TCompare compare) |
| Sort using in-place merge sort algorithm.
|
void | reverse () |
| Reverses the list.
|
size_type | max_size () const |
| Gets the maximum possible size of the list.
|
size_type | size () const |
| Gets the size of the list.
|
bool | empty () const |
| Checks to see if the list is empty.
|
bool | full () const |
| Checks to see if the list is full.
|
size_t | available () const |
| Returns the remaining capacity.
|
bool | is_trivial_list () const |
| Is the list a trivial length?
|
Static Public Attributes |
static const size_t | MAX_SIZE = MAX_SIZE_ |
| The maximum size of the list.
|
Protected Member Functions |
void | initialise () |
| Initialise the list.
|
node_t & | get_head () |
| Get the head node.
|
const node_t & | get_head () const |
| Get the head node.
|
node_t & | get_tail () |
| Get the tail node.
|
const node_t & | get_tail () const |
| Get the tail node.
|
void | insert_node (node_t &position, node_t &node) |
| Insert a node before 'position'.
|
void | join (node_t &left, node_t &right) |
| Join two nodes.
|
Protected Attributes |
etl::ipool * | p_node_pool |
| The pool of data nodes used in the list.
|
node_t | terminal_node |
| The node that acts as the list start and end.
|
etl::debug_count | construct_count |
| Internal debugging.
|