Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::intrusive_forward_list_base< TLink > Class Template Reference

#include <intrusive_forward_list.h>

Public Types

typedef TLink link_type
 

Public Member Functions

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

Protected Member Functions

 intrusive_forward_list_base ()
 Constructor.
 
 ~intrusive_forward_list_base ()
 Destructor.
 
bool is_trivial_list () const
 Is the intrusive_forward_list a trivial length?
 
void insert_link_after (link_type &position, link_type &link)
 Insert a link.
 
void disconnect_link_after (link_type &link)
 Remove a link.
 
link_type * get_head ()
 Get the head link.
 
const link_type * get_head () const
 Get the head link.
 
void initialise ()
 Initialise the intrusive_forward_list.
 
link_type * is_link_in_list (link_type &search_link)
 
link_type * remove_link (link_type &link)
 
link_type * remove_link_range_after (link_type *p_first, link_type *p_last)
 Remove a range of elements.
 

Protected Attributes

link_type start
 The link pointer that acts as the intrusive_forward_list start.
 
size_t current_size
 Counts the number of elements in the list.
 

Static Protected Attributes

static link_type terminator
 The link that acts as the intrusive_forward_list terminator.
 

Detailed Description

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

Base for intrusive forward list.

Member Function Documentation

◆ assign()

template<typename TLink >
template<typename TIterator >
void etl::intrusive_forward_list_base< TLink >::assign ( TIterator  first,
TIterator  last 
)
inline

Assigns a range of values to the intrusive_forward_list. If ETL_THROW_EXCEPTIONS & ETL_DEBUG are defined throws forward_list_iterator if the iterators are reversed.

◆ is_link_in_list()

template<typename TLink >
link_type * etl::intrusive_forward_list_base< TLink >::is_link_in_list ( link_type &  search_link)
inlineprotected

Tests if the link is in this list. Returns the previous link to it, if found, otherwise ETL_NULLPTR.

◆ remove_link()

template<typename TLink >
link_type * etl::intrusive_forward_list_base< TLink >::remove_link ( link_type &  link)
inlineprotected

Remove the specified node from the list. Returns ETL_NULLPTR if the link was not in this list. Returns the next


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