fiber
Loading...
Searching...
No Matches
fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority > Class Template Reference

#include <DualPriorityQueue.hpp>

Public Types

using value_type = DualArrayList<T, N>::value_type
 
using size_type = DualArrayList<T, N>::size_type
 
using reference = DualArrayList<T, N>::reference
 
using const_reference = DualArrayList<T, N>::const_reference
 
using pointer = DualArrayList<T, N>::pointer
 
using const_pointer = DualArrayList<T, N>::const_pointer
 
using stage2_iterator = DualArrayList<T, N>::left_iterator
 
using stage2_const_iterator = DualArrayList<T, N>::left_const_iterator
 
using stage1_iterator = DualArrayList<T, N>::right_iterator
 
using stage1_const_iterator = DualArrayList<T, N>::right_const_iterator
 

Public Member Functions

RightDualArrayListConstRef< T, N > stage1 () const
 
LeftDualArrayListConstRef< T, N > stage2 () const
 
constexpr stage1_iterator stage1_begin ()
 
constexpr stage1_const_iterator stage1_begin () const
 
constexpr stage1_const_iterator stage1_cbegin () const
 
constexpr stage2_iterator stage2_begin ()
 
constexpr stage2_const_iterator stage2_begin () const
 
constexpr stage2_const_iterator stage2_cbegin () const
 
constexpr stage1_iterator stage1_end ()
 
constexpr stage1_const_iterator stage1_end () const
 
constexpr stage1_const_iterator stage1_cend () const
 
constexpr stage2_iterator stage2_end ()
 
constexpr stage2_const_iterator stage2_end () const
 
constexpr stage2_const_iterator stage2_cend () const
 
constexpr size_type size () const
 returns the size/count of live elements in the container
 
constexpr size_type stage1_size () const
 
constexpr size_type stage2_size () const
 
constexpr size_type stage1_capacity () const
 returns the capacity of the container. Since this is a statically allocated container this is also the maximal size.
 
constexpr size_type stage2_capacity () const
 
constexpr size_type max_size () const
 returns the maximal number of elements that can be stored in the container
 
constexpr size_type reserve () const
 returns the reserve - number of elements that can be stored until the container is full
 
constexpr bool empty () const
 returns true if there are not elements in the container, aka. the container is empty.
 
constexpr bool stage1_empty () const
 
constexpr bool stage2_empty () const
 
constexpr bool full () const
 returns true if the container is full and no more elements can be stored in the container
 
constexpr reference stage1_top ()
 returns a reference to the element with the top most priority
 
constexpr const_reference stage1_top () const
 returns a reference to the element with the top most priority
 
constexpr reference stage2_top ()
 returns a reference to the element with the top most priority
 
constexpr const_reference stage2_top () const
 returns a reference to the element with the top most priority
 
void stage1_push (const T &value)
 
void stage1_push (T &&value)
 
void stage2_push (const T &value)
 
void stage2_push (T &&value)
 
void stage2_pop ()
 
void stage1_pop ()
 
stage1_top_pop ()
 
stage2_top_pop ()
 

Member Typedef Documentation

◆ const_pointer

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::const_pointer = DualArrayList<T, N>::const_pointer

◆ const_reference

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::const_reference = DualArrayList<T, N>::const_reference

◆ pointer

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::pointer = DualArrayList<T, N>::pointer

◆ reference

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::reference = DualArrayList<T, N>::reference

◆ size_type

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::size_type = DualArrayList<T, N>::size_type

◆ stage1_const_iterator

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_const_iterator = DualArrayList<T, N>::right_const_iterator

◆ stage1_iterator

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_iterator = DualArrayList<T, N>::right_iterator

◆ stage2_const_iterator

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_const_iterator = DualArrayList<T, N>::left_const_iterator

◆ stage2_iterator

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_iterator = DualArrayList<T, N>::left_iterator

◆ value_type

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
using fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::value_type = DualArrayList<T, N>::value_type

Member Function Documentation

◆ empty()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
bool fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::empty ( ) const
inlineconstexpr

returns true if there are not elements in the container, aka. the container is empty.

◆ full()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
bool fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::full ( ) const
inlineconstexpr

returns true if the container is full and no more elements can be stored in the container

◆ max_size()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
size_type fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::max_size ( ) const
inlineconstexpr

returns the maximal number of elements that can be stored in the container

◆ reserve()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
size_type fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::reserve ( ) const
inlineconstexpr

returns the reserve - number of elements that can be stored until the container is full

◆ size()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
size_type fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::size ( ) const
inlineconstexpr

returns the size/count of live elements in the container

◆ stage1()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
RightDualArrayListConstRef< T, N > fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1 ( ) const
inline

◆ stage1_begin() [1/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage1_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_begin ( )
inlineconstexpr

◆ stage1_begin() [2/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage1_const_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_begin ( ) const
inlineconstexpr

◆ stage1_capacity()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
size_type fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_capacity ( ) const
inlineconstexpr

returns the capacity of the container. Since this is a statically allocated container this is also the maximal size.

◆ stage1_cbegin()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage1_const_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_cbegin ( ) const
inlineconstexpr

◆ stage1_cend()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage1_const_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_cend ( ) const
inlineconstexpr

◆ stage1_empty()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
bool fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_empty ( ) const
inlineconstexpr

◆ stage1_end() [1/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage1_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_end ( )
inlineconstexpr

◆ stage1_end() [2/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage1_const_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_end ( ) const
inlineconstexpr

◆ stage1_pop()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
void fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_pop ( )
inline

◆ stage1_push() [1/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
void fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_push ( const T & value)
inline

◆ stage1_push() [2/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
void fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_push ( T && value)
inline

◆ stage1_size()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
size_type fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_size ( ) const
inlineconstexpr

◆ stage1_top() [1/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
reference fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_top ( )
inlineconstexpr

returns a reference to the element with the top most priority

◆ stage1_top() [2/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
const_reference fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_top ( ) const
inlineconstexpr

returns a reference to the element with the top most priority

◆ stage1_top_pop()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
T fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage1_top_pop ( )
inline

◆ stage2()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
LeftDualArrayListConstRef< T, N > fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2 ( ) const
inline

◆ stage2_begin() [1/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage2_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_begin ( )
inlineconstexpr

◆ stage2_begin() [2/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage2_const_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_begin ( ) const
inlineconstexpr

◆ stage2_capacity()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
size_type fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_capacity ( ) const
inlineconstexpr

◆ stage2_cbegin()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage2_const_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_cbegin ( ) const
inlineconstexpr

◆ stage2_cend()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage2_const_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_cend ( ) const
inlineconstexpr

◆ stage2_empty()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
bool fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_empty ( ) const
inlineconstexpr

◆ stage2_end() [1/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage2_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_end ( )
inlineconstexpr

◆ stage2_end() [2/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
stage2_const_iterator fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_end ( ) const
inlineconstexpr

◆ stage2_pop()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
void fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_pop ( )
inline

◆ stage2_push() [1/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
void fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_push ( const T & value)
inline

◆ stage2_push() [2/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
void fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_push ( T && value)
inline

◆ stage2_size()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
size_type fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_size ( ) const
inlineconstexpr

◆ stage2_top() [1/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
reference fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_top ( )
inlineconstexpr

returns a reference to the element with the top most priority

◆ stage2_top() [2/2]

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
const_reference fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_top ( ) const
inlineconstexpr

returns a reference to the element with the top most priority

◆ stage2_top_pop()

template<class T, size_t N, class stage1_less_priority, class stage2_less_priority>
T fiber::DualPriorityQueue< T, N, stage1_less_priority, stage2_less_priority >::stage2_top_pop ( )
inline

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