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.
bool contains_node (const link_type &search_link) const
bool contains_node (const link_type *search_link) const

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 (const link_type *search_link) const
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.

◆ contains_node() [1/2]

template<typename TLink>
bool etl::intrusive_forward_list_base< TLink >::contains_node ( const link_type & search_link) const
inline

Detects existence of specified node in list.

Parameters
search_linkThe node to find in list

◆ contains_node() [2/2]

template<typename TLink>
bool etl::intrusive_forward_list_base< TLink >::contains_node ( const link_type * search_link) const
inline

Detects existence of specified node in list.

Parameters
search_linkThe node to find in list

◆ is_link_in_list()

template<typename TLink>
link_type * etl::intrusive_forward_list_base< TLink >::is_link_in_list ( const link_type * search_link) const
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: