FE 0.16.1
Fast, Effecient FrontEnds
Loading...
Searching...
No Matches
fe::VectorQueue< T, N > Class Template Reference

A FIFO queue over a Vector. More...

#include <fe/worklist.h>

Public Types

using value_type = T

Public Member Functions

bool empty () const
size_t size () const
T & front ()
const T & front () const
T & back ()
const T & back () const
void push (const T &val)
void push (T &&val)
template<class... Args>
decltype(auto) emplace (Args &&... args)
void pop ()

Detailed Description

template<class T, size_t N = Default_Inlined_Size<T>>
class fe::VectorQueue< T, N >

A FIFO queue over a Vector.

Popped elements stay in place until they make up half of the storage, so pop is amortized constant.

Definition at line 18 of file worklist.h.

Member Typedef Documentation

◆ value_type

template<class T, size_t N = Default_Inlined_Size<T>>
using fe::VectorQueue< T, N >::value_type = T

Definition at line 20 of file worklist.h.

Member Function Documentation

◆ back() [1/2]

template<class T, size_t N = Default_Inlined_Size<T>>
T & fe::VectorQueue< T, N >::back ( )
inline

Definition at line 27 of file worklist.h.

◆ back() [2/2]

template<class T, size_t N = Default_Inlined_Size<T>>
const T & fe::VectorQueue< T, N >::back ( ) const
inline

Definition at line 28 of file worklist.h.

◆ emplace()

template<class T, size_t N = Default_Inlined_Size<T>>
template<class... Args>
decltype(auto) fe::VectorQueue< T, N >::emplace ( Args &&... args)
inline

Definition at line 33 of file worklist.h.

◆ empty()

template<class T, size_t N = Default_Inlined_Size<T>>
bool fe::VectorQueue< T, N >::empty ( ) const
inline

Definition at line 22 of file worklist.h.

◆ front() [1/2]

template<class T, size_t N = Default_Inlined_Size<T>>
T & fe::VectorQueue< T, N >::front ( )
inline

Definition at line 25 of file worklist.h.

◆ front() [2/2]

template<class T, size_t N = Default_Inlined_Size<T>>
const T & fe::VectorQueue< T, N >::front ( ) const
inline

Definition at line 26 of file worklist.h.

◆ pop()

template<class T, size_t N = Default_Inlined_Size<T>>
void fe::VectorQueue< T, N >::pop ( )
inline

Definition at line 37 of file worklist.h.

◆ push() [1/2]

template<class T, size_t N = Default_Inlined_Size<T>>
void fe::VectorQueue< T, N >::push ( const T & val)
inline

Definition at line 30 of file worklist.h.

◆ push() [2/2]

template<class T, size_t N = Default_Inlined_Size<T>>
void fe::VectorQueue< T, N >::push ( T && val)
inline

Definition at line 31 of file worklist.h.

◆ size()

template<class T, size_t N = Default_Inlined_Size<T>>
size_t fe::VectorQueue< T, N >::size ( ) const
inline

Definition at line 23 of file worklist.h.


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