CppELib 1.7.0
Loading...
Searching...
No Matches
Container::IntrusiveList< T > Class Template Reference

STL-like intrusive doubly linked list. More...

#include <IntrusiveList.h>

Public Types

typedef T value_type
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 
typedef IntrusiveList_iterator< T, T &, T *, IntrusiveListNode * > iterator
 
typedef IntrusiveList_iterator< T, const T &, const T *, const IntrusiveListNode * > const_iterator
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 

Public Member Functions

 IntrusiveList ()
 
bool empty () const
 
size_type size () const
 
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
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
void push_back (T &data)
 
void pop_back ()
 
void push_front (T &data)
 
void pop_front ()
 
iterator insert (iterator pos, T &data)
 
iterator erase (iterator pos)
 
void splice (iterator pos, IntrusiveList &x)
 
void splice (iterator pos, IntrusiveList &x, iterator i)
 
void splice (iterator pos, IntrusiveList &x, iterator first, iterator last)
 
void swap (IntrusiveList &other)
 

Detailed Description

template<typename T>
class Container::IntrusiveList< T >

STL-like intrusive doubly linked list.

Template Parameters
TType of element (that must be derived from IntrusiveListNode)
Note
The caller needs to prepare elements. IntrusiveList does not allocate and release elements.

Member Typedef Documentation

◆ const_iterator

◆ const_pointer

template<typename T >
typedef const value_type* Container::IntrusiveList< T >::const_pointer

◆ const_reference

template<typename T >
typedef const value_type& Container::IntrusiveList< T >::const_reference

◆ const_reverse_iterator

template<typename T >
typedef std::reverse_iterator<const_iterator> Container::IntrusiveList< T >::const_reverse_iterator

◆ difference_type

template<typename T >
typedef std::ptrdiff_t Container::IntrusiveList< T >::difference_type

◆ iterator

◆ pointer

◆ reference

◆ reverse_iterator

template<typename T >
typedef std::reverse_iterator<iterator> Container::IntrusiveList< T >::reverse_iterator

◆ size_type

template<typename T >
typedef std::size_t Container::IntrusiveList< T >::size_type

◆ value_type

template<typename T >
typedef T Container::IntrusiveList< T >::value_type

Constructor & Destructor Documentation

◆ IntrusiveList()

template<typename T >
Container::IntrusiveList< T >::IntrusiveList ( )
inline

Member Function Documentation

◆ back() [1/2]

template<typename T >
reference Container::IntrusiveList< T >::back ( )
inline

◆ back() [2/2]

template<typename T >
const_reference Container::IntrusiveList< T >::back ( ) const
inline

◆ begin() [1/2]

template<typename T >
iterator Container::IntrusiveList< T >::begin ( )
inline

◆ begin() [2/2]

template<typename T >
const_iterator Container::IntrusiveList< T >::begin ( ) const
inline

◆ empty()

template<typename T >
bool Container::IntrusiveList< T >::empty ( ) const
inline

◆ end() [1/2]

template<typename T >
iterator Container::IntrusiveList< T >::end ( )
inline

◆ end() [2/2]

template<typename T >
const_iterator Container::IntrusiveList< T >::end ( ) const
inline

◆ erase()

template<typename T >
iterator Container::IntrusiveList< T >::erase ( iterator  pos)
inline

◆ front() [1/2]

template<typename T >
reference Container::IntrusiveList< T >::front ( )
inline

◆ front() [2/2]

template<typename T >
const_reference Container::IntrusiveList< T >::front ( ) const
inline

◆ insert()

template<typename T >
iterator Container::IntrusiveList< T >::insert ( iterator  pos,
T data 
)
inline

◆ pop_back()

template<typename T >
void Container::IntrusiveList< T >::pop_back ( )
inline

◆ pop_front()

template<typename T >
void Container::IntrusiveList< T >::pop_front ( )
inline

◆ push_back()

template<typename T >
void Container::IntrusiveList< T >::push_back ( T data)
inline

◆ push_front()

template<typename T >
void Container::IntrusiveList< T >::push_front ( T data)
inline

◆ rbegin() [1/2]

template<typename T >
reverse_iterator Container::IntrusiveList< T >::rbegin ( )
inline

◆ rbegin() [2/2]

template<typename T >
const_reverse_iterator Container::IntrusiveList< T >::rbegin ( ) const
inline

◆ rend() [1/2]

template<typename T >
reverse_iterator Container::IntrusiveList< T >::rend ( )
inline

◆ rend() [2/2]

template<typename T >
const_reverse_iterator Container::IntrusiveList< T >::rend ( ) const
inline

◆ size()

template<typename T >
size_type Container::IntrusiveList< T >::size ( ) const
inline

◆ splice() [1/3]

template<typename T >
void Container::IntrusiveList< T >::splice ( iterator  pos,
IntrusiveList< T > &  x 
)
inline

◆ splice() [2/3]

template<typename T >
void Container::IntrusiveList< T >::splice ( iterator  pos,
IntrusiveList< T > &  x,
iterator  first,
iterator  last 
)
inline

◆ splice() [3/3]

template<typename T >
void Container::IntrusiveList< T >::splice ( iterator  pos,
IntrusiveList< T > &  x,
iterator  i 
)
inline

◆ swap()

template<typename T >
void Container::IntrusiveList< T >::swap ( IntrusiveList< T > &  other)
inline

The documentation for this class was generated from the following file: