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

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

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

Public Member Functions

constexpr Implementation (const Compare &comparee)
 Implementation's constructor. More...
 
iterator findInsertPosition (const_reference newElement)
 Finds insert 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

UnsortedIntrusiveList intrusiveList
 internal unsorted IntrusiveList More...
 

Detailed Description

template<typename Compare, typename T, IntrusiveListNode T::* NodePointer, typename U = T>
struct estd::SortedIntrusiveList< 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, IntrusiveListNode T::* NodePointer, typename U = T>
constexpr estd::SortedIntrusiveList< 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
Here is the caller graph for this function:

Member Function Documentation

◆ findInsertPosition()

template<typename Compare, typename T, IntrusiveListNode T::* NodePointer, typename U = T>
iterator estd::SortedIntrusiveList< Compare, T, NodePointer, U >::Implementation::findInsertPosition ( const_reference  newElement)
inline

Finds insert 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 dereferenced 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, IntrusiveListNode T::* NodePointer, typename U = T>
void estd::SortedIntrusiveList< 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

◆ intrusiveList

template<typename Compare, typename T, IntrusiveListNode T::* NodePointer, typename U = T>
UnsortedIntrusiveList estd::SortedIntrusiveList< Compare, T, NodePointer, U >::Implementation::intrusiveList

internal unsorted IntrusiveList


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