distortos  v0.7.0
object-oriented C++ RTOS for microcontrollers
estd::SortedIntrusiveForwardList< Compare, T, NodePointer, U >::Implementation Struct Reference

Implementation struct is used primarily for "Empty Base Optimization" with Compare type. More...

Inheritance diagram for estd::SortedIntrusiveForwardList< Compare, T, NodePointer, U >::Implementation:
[legend]
Collaboration diagram for estd::SortedIntrusiveForwardList< Compare, T, NodePointer, U >::Implementation:
[legend]

Public Member Functions

constexpr Implementation (const Compare &comparee)
 Implementation's constructor. More...
 
iterator findInsertPositionBefore (const_reference newElement)
 Finds insert position "before" the position that satisfies sorting criteria. More...
 
void swap (Implementation &other)
 Swaps contents with another instance. More...
 
 Implementation (const Implementation &)=delete
 
 Implementation (Implementation &&)=default
 
const Implementationoperator= (const Implementation &)=delete
 
Implementationoperator= (Implementation &&)=delete
 

Public Attributes

UnsortedIntrusiveForwardList intrusiveForwardList
 internal unsorted IntrusiveForwardList More...
 

Detailed Description

template<typename Compare, typename T, IntrusiveForwardListNode T::* NodePointer, typename U = T>
struct estd::SortedIntrusiveForwardList< Compare, T, NodePointer, U >::Implementation

Implementation struct is used primarily for "Empty Base Optimization" with Compare type.

Constructor & Destructor Documentation

◆ Implementation()

template<typename Compare, typename T, IntrusiveForwardListNode T::* NodePointer, typename U = T>
constexpr estd::SortedIntrusiveForwardList< Compare, T, NodePointer, U >::Implementation::Implementation ( const Compare &  comparee)
inlineexplicit

Implementation's constructor.

Parameters
[in]compareeis a reference to Compare object used to copy-construct internal comparison functor

Member Function Documentation

◆ findInsertPositionBefore()

template<typename Compare, typename T, IntrusiveForwardListNode T::* NodePointer, typename U = T>
iterator estd::SortedIntrusiveForwardList< Compare, T, NodePointer, U >::Implementation::findInsertPositionBefore ( const_reference  newElement)
inline

Finds insert position "before" the position that satisfies sorting criteria.

Parameters
[in]newElementis a const reference to new element that is going to be inserted/spliced
Returns
iterator for which Compare's function call operator of next value and newElement returns true.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ swap()

template<typename Compare, typename T, IntrusiveForwardListNode T::* NodePointer, typename U = T>
void estd::SortedIntrusiveForwardList< Compare, T, NodePointer, U >::Implementation::swap ( Implementation other)
inline

Swaps contents with another instance.

Parameters
[in]otheris a reference to Implementation with which contents of this instance will be swapped
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ intrusiveForwardList

template<typename Compare, typename T, IntrusiveForwardListNode T::* NodePointer, typename U = T>
UnsortedIntrusiveForwardList estd::SortedIntrusiveForwardList< Compare, T, NodePointer, U >::Implementation::intrusiveForwardList

internal unsorted IntrusiveForwardList


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