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
size_t | current_size
| Counts the number of elements in the list.

## Static Protected Attributes

static link_type | 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_link | The 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_link | The 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

inline protected

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 | ) |

inline protected

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

## Member Data Documentation

## start

template<typename TLink>

link_type etl::intrusive_forward_list_base< TLink >::start

protected

The link pointer that acts as the intrusive_forward_list start.

## terminator

template<typename TLink>

TLink etl::intrusive_forward_list_base< TLink >::terminator

static protected

The link that acts as the intrusive_forward_list terminator.

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

- include/etl/intrusive_forward_list.h