#include <IList.h>
Public Types | |
typedef Node | value_type |
typedef Node::pointer | pointer |
typedef Node::const_pointer | const_pointer |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef size_t | size_type |
typedef ptrdiff_t | difference_type |
typedef Iterator< value_type > | iterator |
typedef Iterator< const value_type > | const_iterator |
Public Member Functions | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
bool | empty () const |
size_type | size () const |
void | swap (IList &x) |
iterator | insert (iterator i, const pointer &p) |
void | erase (iterator i) |
void | erase (iterator i, iterator j) |
void | clear () |
reference | front () |
const_reference | front () const |
void | push_front (const pointer &p) |
void | pop_front () |
iterator | last () |
Iterator to the last element in the list. | |
const_iterator | last () const |
reference | back () |
const_reference | back () const |
void | push_back (const pointer &p) |
void | pop_back () |
Provides bidirectional iterator and constant time insertion at front and back.
The list itself performs no memory management. Use a smart pointer as the pointer type (e.g. intrusive_ptr, shared_ptr) for automated memory management.
Unlike standard containers insert(), push_front() and push_back() take const pointer& rather than const value_type&.
Iterators can be converted to the pointer type.
Noncopyable - intrusively linked nodes cannot be shared between lists. Does provide swap()
Node | value type for the list, must derive from ISListNode<>. |
iterator qpid::IList< Node >::last | ( | ) | [inline] |
Iterator to the last element in the list.