blocxx
|
This class is a wrapper around std::list<> and adds COW capabilities. More...
#include <List.hpp>
Public Types | |
typedef L::value_type | value_type |
typedef L::pointer | pointer |
typedef L::const_pointer | const_pointer |
typedef L::reference | reference |
typedef L::const_reference | const_reference |
typedef L::size_type | size_type |
typedef L::difference_type | difference_type |
typedef L::iterator | iterator |
typedef L::const_iterator | const_iterator |
typedef L::reverse_iterator | reverse_iterator |
typedef L::const_reverse_iterator | const_reverse_iterator |
Public Member Functions | |
List () | |
Default Constructor. | |
List (L *toWrap) | |
Constructor. | |
template<class InputIterator> | |
List (InputIterator first, InputIterator last) | |
Construct a List from a range specified with InputIterators. | |
List (size_type n, const T &value) | |
Construct a List that consist of a specified number of elements that are copies of a given object. | |
List (int n, const T &value) | |
Construct a List that consist of a specified number of elements that are copies of a given object. | |
List (long n, const T &value) | |
Construct a List that consist of a specified number of elements that are copies of a given object. | |
List (size_type n) | |
Construct a List that consist of a specified number of elements that have be constructed using the default constructor of class T. | |
L * | getImpl () |
@doctodo | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
bool | empty () const |
size_type | size () const |
size_type | max_size () const |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
void | swap (List< T > &x) |
Exchanges the elements of the current list with those of another. | |
iterator | insert (iterator position, const T &x) |
Insert an element to the List before the element specified by the iterator. | |
iterator | insert (iterator position) |
Insert an default-constructed element to the List before the element specified by the iterator. | |
template<class InputIterator> | |
void | insert (iterator position, InputIterator first, InputIterator last) |
Insert a range of elements before a given position in the List. | |
void | insert (iterator pos, size_type n, const T &x) |
Insert a specified number of elements that are copies of a given object before the given position in the List. | |
void | insert (iterator pos, int n, const T &x) |
Insert a specified number of elements that are copies of a given object before the given position in the List. | |
void | insert (iterator pos, long n, const T &x) |
Insert a specified number of elements that are copies of a given object before the given position in the List. | |
void | push_front (const T &x) |
Prepend the specified element at the front of the List. | |
void | push_back (const T &x) |
Append the specified element to the end of the List. | |
iterator | erase (iterator position) |
Remove an element from the List specified with an iterator. | |
iterator | erase (iterator first, iterator last) |
Remove elements from the List specified by a beginning and ending iterator. | |
void | resize (size_type new_size, const T &x) |
Ensure the List has a given size. | |
void | resize (size_type new_size) |
Ensure the List has a given size appending a default-constructed object to the end of the List if it is enlarged. | |
void | clear () |
Remove all items from the List. | |
const_iterator | find (const T &x, const_iterator first, const_iterator last) const |
Find element x in the list range specified by the first and last iterators. | |
const_iterator | find (const T &x) const |
Find element x in the list. | |
iterator | find (const T &x, iterator first, iterator last) |
Find element x in the list range specified by the first and last iterators. | |
iterator | find (const T &x) |
Find element x in the list. | |
bool | contains (const T &x, const_iterator first, const_iterator last) const |
Determine if element x is contained in the list range specified by the first and last iterators. | |
bool | contains (const T &x) const |
Determine if element x is contained in the list. | |
void | pop_front () |
Remove the first element in the List. | |
void | pop_back () |
Remove the last element in the List. | |
void | splice (iterator position, List &x) |
@doctodo Move the specified list into the current list at the given position. | |
void | splice (iterator position, List &x, iterator i) |
@doctodo Move the specified element from list x pointed to by iterator i into the current list at the given position. | |
void | splice (iterator position, List &x, iterator first, iterator last) |
@doctodo Move the elements from list x specified by first and last iterators into the current list at the given position. | |
void | remove (const T &value) |
Remove the specified element from the List. | |
void | unique () |
Remove all duplicate elements from the List. | |
void | merge (List &x) |
Merge the current and specified lists, producing a combined list that is ordered with respect to the < operator. | |
void | reverse () |
Reverse the order of elements in the list. | |
void | sort () |
Sort the list using the < operator to compare elements. | |
template<class Predicate> | |
void | remove_if (Predicate p) |
Removes all elements from the list for which the unary predicate p is true. | |
template<class BinaryPredicate> | |
void | unique (BinaryPredicate bp) |
Remove all elements from the List for which the binary predicate bp is true. | |
template<class StrictWeakOrdering> | |
void | merge (List &x, StrictWeakOrdering swo) |
Merge the current and specified list, producing a combined list that is ordered with respect to the specified comparisation class. | |
template<class StrictWeakOrdering> | |
void | sort (StrictWeakOrdering swo) |
Sort the list using the specified comparisation class. | |
Private Types | |
typedef std::list< T > | L |
Private Attributes | |
COWReference< L > | m_impl |
Friends | |
bool | operator== (const List< T > &x, const List< T > &y) |
Determine equality of two Lists comparing the size of both lists and all elements in the same position using the elements "==" operator. | |
bool | operator< (const List< T > &x, const List< T > &y) |
Determine if one Lists is less than another comparing the size of both lists and all their elements. | |
This class is a wrapper around std::list<> and adds COW capabilities.
typedef L::const_iterator BLOCXX_NAMESPACE::List< T >::const_iterator |
typedef L::const_pointer BLOCXX_NAMESPACE::List< T >::const_pointer |
typedef L::const_reference BLOCXX_NAMESPACE::List< T >::const_reference |
typedef L::const_reverse_iterator BLOCXX_NAMESPACE::List< T >::const_reverse_iterator |
typedef L::difference_type BLOCXX_NAMESPACE::List< T >::difference_type |
typedef L::iterator BLOCXX_NAMESPACE::List< T >::iterator |
|
private |
typedef L::pointer BLOCXX_NAMESPACE::List< T >::pointer |
typedef L::reference BLOCXX_NAMESPACE::List< T >::reference |
typedef L::reverse_iterator BLOCXX_NAMESPACE::List< T >::reverse_iterator |
typedef L::size_type BLOCXX_NAMESPACE::List< T >::size_type |
typedef L::value_type BLOCXX_NAMESPACE::List< T >::value_type |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Determine if element x is contained in the list range specified by the first and last iterators.
x | The element to seach for. |
first | The first position iterator; begin of the range. |
last | The last position iterator; end of the range. |
|
inline |
|
inline |
Definition at line 168 of file List.hpp.
References m_impl.
Referenced by contains(), contains(), find(), find(), find(), and find().
|
inline |
|
inline |
Remove elements from the List specified by a beginning and ending iterator.
first | An iterator that specifies the first element to remove. |
last | An iterator that specifies the last element to remove. |
Definition at line 386 of file List.hpp.
References m_impl.
|
inline |
|
inline |
|
inline |
|
inline |
Find element x in the list range specified by the first and last iterators.
x | The element to seach for. |
first | The first position iterator; begin of the range. |
last | The last position iterator; end of the range. |
Definition at line 427 of file List.hpp.
References end().
Referenced by contains(), contains(), find(), and find().
|
inline |
Find element x in the list range specified by the first and last iterators.
x | The element to seach for. |
first | The first position iterator; begin of the range. |
last | The last position iterator; end of the range. |
Definition at line 458 of file List.hpp.
References end().
|
inline |
|
inline |
|
inline |
|
inline |
Insert a specified number of elements that are copies of a given object before the given position in the List.
pos | The position to insert the elements before. |
n | Number of elements to insert. |
x | The value every newly inserted element of the List will be initialized to. |
Definition at line 331 of file List.hpp.
References m_impl.
|
inline |
Insert a specified number of elements that are copies of a given object before the given position in the List.
pos | The position to insert the elements before. |
n | Number of elements to insert. |
x | The value every newly inserted element of the List will be initialized to. |
Definition at line 344 of file List.hpp.
References m_impl.
|
inline |
Insert a specified number of elements that are copies of a given object before the given position in the List.
pos | The position to insert the elements before. |
n | Number of elements to insert. |
x | The value every newly inserted element of the List will be initialized to. |
Definition at line 318 of file List.hpp.
References m_impl.
|
inline |
Insert an default-constructed element to the List before the element specified by the iterator.
position | An iterator that points to the insertion point. The element will be inserted before this point. |
Definition at line 293 of file List.hpp.
References m_impl.
|
inline |
Insert an element to the List before the element specified by the iterator.
position | An iterator that points to the insertion point. The element will be inserted before this point. |
x | The element to insert into the List. |
Definition at line 282 of file List.hpp.
References m_impl.
|
inline |
Insert a range of elements before a given position in the List.
position | The position to insert the elements at. The insertion will be done before this position. |
first | The beginning of the range of elements to insert. |
last | The end of the range of elements to insert. |
Definition at line 305 of file List.hpp.
References m_impl.
|
inline |
|
inline |
|
inline |
Merge the current and specified list, producing a combined list that is ordered with respect to the specified comparisation class.
swo | The comparisation functor class. |
Definition at line 612 of file List.hpp.
References List(), m_impl, and BLOCXX_NAMESPACE::StrictWeakOrdering().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sort the list using the specified comparisation class.
swo | The comparisation functor class. |
Definition at line 620 of file List.hpp.
References m_impl, and BLOCXX_NAMESPACE::StrictWeakOrdering().
|
inline |
|
inline |
@doctodo Move the elements from list x specified by first and last iterators into the current list at the given position.
position | The iterator pointing to the insert position. |
x | The list to insert element from. |
first | The first element in List x to move. |
last | The last element in List x to move. |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
Definition at line 64 of file List.hpp.
Referenced by back(), back(), begin(), begin(), clear(), empty(), end(), end(), erase(), erase(), front(), front(), getImpl(), insert(), insert(), insert(), insert(), insert(), insert(), List(), List(), List(), List(), List(), List(), List(), max_size(), merge(), merge(), operator<, operator==, pop_back(), pop_front(), push_back(), push_front(), rbegin(), rbegin(), remove(), remove_if(), rend(), rend(), resize(), resize(), reverse(), size(), sort(), sort(), splice(), splice(), splice(), swap(), unique(), and unique().