#include <ISList.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 (ISList &x) |
iterator | insert (iterator i, const pointer &p) |
Unlike standard containers, insert takes a const pointer&, not a const value_type&. | |
void | erase (iterator i) |
void | erase (iterator i, iterator j) |
void | clear () |
reference | front () |
const_reference | front () const |
void | pop_front () |
void | push_front (pointer x) |
void | push_back (pointer x) |
Provides forward iterator, constant time insertion and constant time pop_front (but not pop_back) so makes a good queue implementation.
Unlike standard containers insert(), push_front() and push_back() take const pointer& rather than const value_type&.
Iterators can be converted to pointers.
Noncopyable - intrusively linked nodes cannot be shared.
Node | value type for the list, must derive from ISListNode<T>. |
iterator qpid::ISList< Node >::insert | ( | iterator | i, | |
const pointer & | p | |||
) | [inline] |
Unlike standard containers, insert takes a const pointer&, not a const value_type&.
The value is not copied, only linked into the list.