emlabcpp
modern opinionated embedded C++ library
emlabcpp::linked_list_node< T, Base > Class Template Reference

#include <linked_list.h>

+ Inheritance diagram for emlabcpp::linked_list_node< T, Base >:
+ Collaboration diagram for emlabcpp::linked_list_node< T, Base >:

Public Member Functions

 linked_list_node ()=default
 
template<typename... Args>
 linked_list_node (Args &&... args)
 
T & get ()
 
T const & get () const
 
Base & operator* () override
 
Base const & operator* () const override
 
Base * operator-> () override
 
Base const * operator-> () const override
 
 linked_list_node (linked_list_node &&other) noexcept=default
 
linked_list_nodeoperator= (linked_list_node &&other) noexcept=default
 
- Public Member Functions inherited from emlabcpp::linked_list_node_base< Base >
 linked_list_node_base ()=default
 
 linked_list_node_base (linked_list_node_base const &)=delete
 
linked_list_node_baseoperator= (linked_list_node_base const &)=delete
 
 linked_list_node_base (linked_list_node_base &&other) noexcept
 
linked_list_node_baseoperator= (linked_list_node_base &&other) noexcept
 
void link_as_next (linked_list_node_base< Base > &node)
 
linked_list_node_baseget_next ()
 
linked_list_node_baseget_next (std::size_t id)
 
std::size_t count_next () const
 
linked_list_node_baseget_prev ()
 
linked_list_node_baseget_prev (std::size_t const id)
 
virtual ~linked_list_node_base ()
 

Constructor & Destructor Documentation

◆ linked_list_node() [1/3]

template<typename T , typename Base >
emlabcpp::linked_list_node< T, Base >::linked_list_node ( )
default

◆ linked_list_node() [2/3]

template<typename T , typename Base >
template<typename... Args>
emlabcpp::linked_list_node< T, Base >::linked_list_node ( Args &&...  args)
inlineexplicit

◆ linked_list_node() [3/3]

template<typename T , typename Base >
emlabcpp::linked_list_node< T, Base >::linked_list_node ( linked_list_node< T, Base > &&  other)
defaultnoexcept

Member Function Documentation

◆ get() [1/2]

template<typename T , typename Base >
T& emlabcpp::linked_list_node< T, Base >::get ( )
inline

◆ get() [2/2]

template<typename T , typename Base >
T const& emlabcpp::linked_list_node< T, Base >::get ( ) const
inline

◆ operator*() [1/2]

template<typename T , typename Base >
Base const& emlabcpp::linked_list_node< T, Base >::operator* ( ) const
inlineoverridevirtual

◆ operator*() [2/2]

template<typename T , typename Base >
Base& emlabcpp::linked_list_node< T, Base >::operator* ( )
inlineoverridevirtual

◆ operator->() [1/2]

template<typename T , typename Base >
Base const* emlabcpp::linked_list_node< T, Base >::operator-> ( ) const
inlineoverridevirtual

◆ operator->() [2/2]

template<typename T , typename Base >
Base* emlabcpp::linked_list_node< T, Base >::operator-> ( )
inlineoverridevirtual

◆ operator=()

template<typename T , typename Base >
linked_list_node& emlabcpp::linked_list_node< T, Base >::operator= ( linked_list_node< T, Base > &&  other)
defaultnoexcept

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