Stefan Scholz / ETL
Embed: (wiki syntax)

« Back to documentation index

intrusive_list_base< TLink > Class Template Reference

intrusive_list_base< TLink > Class Template Reference

Base for intrusive list. More...

#include <intrusive_list.h>

Inherited by intrusive_list< TValue, TLink >.

Public Member Functions

template<typename TIterator >
void assign (TIterator first, TIterator last)
 Assigns a range of values to the intrusive_list.
void push_front (link_type &value)
 Pushes a value to the front of the intrusive_list.
void pop_front ()
 Removes a value from the front of the intrusive_list.
void push_back (link_type &value)
 Pushes a value to the back of the intrusive_list.
void pop_back ()
 Removes a value from the back of the intrusive_list.
void clear ()
 Clears the intrusive_list.
void reverse ()
 Reverses the list.
bool empty () const
 Returns true if the list has no elements.
size_t size () const
 Returns the number of elements.

Protected Member Functions

bool is_trivial_list () const
 Is the intrusive_list a trivial length?
void insert_link (link_type &previous, link_type &new_link)
 Insert a link.
void insert_link (link_type *previous, link_type &new_link)
 Insert a link.
void insert_link (link_type &previous, link_type *new_link)
 Insert a link.
void insert_link (link_type *previous, link_type *new_link)
 Insert a link.
void remove_link (link_type &link)
 Remove a link.
void remove_link (link_type *link)
 Remove a link.
link_type * get_head ()
 Get the head link.
const link_type * get_head () const
 Get the head link.
link_type * get_tail ()
 Get the tail link.
const link_type * get_tail () const
 Get the tail link.
void initialise ()
 Initialise the intrusive_list.

Protected Attributes

link_type terminal_link
 The link that acts as the intrusive_list start & end.
size_t current_size
 Counts the number of elements in the list.

Detailed Description

template<typename TLink>
class etl::intrusive_list_base< TLink >

Base for intrusive list.

Definition at line 120 of file intrusive_list.h.


Member Function Documentation

void assign ( TIterator  first,
TIterator  last 
)

Assigns a range of values to the intrusive_list.

If ETL_THROW_EXCEPTIONS & ETL_DEBUG are defined emits a intrusive_list_iterator_exception if the iterators are reversed.

Definition at line 133 of file intrusive_list.h.

void clear (  )

Clears the intrusive_list.

Definition at line 195 of file intrusive_list.h.

bool empty (  ) const

Returns true if the list has no elements.

Definition at line 225 of file intrusive_list.h.

link_type* get_head (  ) [protected]

Get the head link.

Definition at line 314 of file intrusive_list.h.

const link_type* get_head (  ) const [protected]

Get the head link.

Definition at line 322 of file intrusive_list.h.

link_type* get_tail (  ) [protected]

Get the tail link.

Definition at line 330 of file intrusive_list.h.

const link_type* get_tail (  ) const [protected]

Get the tail link.

Definition at line 338 of file intrusive_list.h.

void initialise (  ) [protected]

Initialise the intrusive_list.

Definition at line 346 of file intrusive_list.h.

void insert_link ( link_type &  previous,
link_type &  new_link 
) [protected]

Insert a link.

Definition at line 256 of file intrusive_list.h.

void insert_link ( link_type *  previous,
link_type &  new_link 
) [protected]

Insert a link.

Definition at line 266 of file intrusive_list.h.

void insert_link ( link_type &  previous,
link_type *  new_link 
) [protected]

Insert a link.

Definition at line 276 of file intrusive_list.h.

void insert_link ( link_type *  previous,
link_type *  new_link 
) [protected]

Insert a link.

Definition at line 286 of file intrusive_list.h.

bool is_trivial_list (  ) const [protected]

Is the intrusive_list a trivial length?

Definition at line 248 of file intrusive_list.h.

void pop_back (  )

Removes a value from the back of the intrusive_list.

Definition at line 184 of file intrusive_list.h.

void pop_front (  )

Removes a value from the front of the intrusive_list.

Definition at line 165 of file intrusive_list.h.

void push_back ( link_type &  value )

Pushes a value to the back of the intrusive_list.

Definition at line 176 of file intrusive_list.h.

void push_front ( link_type &  value )

Pushes a value to the front of the intrusive_list.

Definition at line 157 of file intrusive_list.h.

void remove_link ( link_type &  link ) [protected]

Remove a link.

Definition at line 296 of file intrusive_list.h.

void remove_link ( link_type *  link ) [protected]

Remove a link.

Definition at line 305 of file intrusive_list.h.

void reverse (  )

Reverses the list.

Definition at line 203 of file intrusive_list.h.

size_t size (  ) const

Returns the number of elements.

Definition at line 233 of file intrusive_list.h.


Field Documentation

size_t current_size [protected]

Counts the number of elements in the list.

Definition at line 243 of file intrusive_list.h.

link_type terminal_link [protected]

The link that acts as the intrusive_list start & end.

Definition at line 241 of file intrusive_list.h.