![]() |
Arene Base
Fundamental Utilities For Safety Critical C++
|
Intrusive queue implementation. More...
Public Types | |
| using | const_reference = T const& |
| const reference type | |
| using | reference = T& |
| reference type | |
| using | size_type = std::size_t |
| size type | |
| using | value_type = T |
| value type | |
Public Member Functions | |
| constexpr | queue () noexcept=default |
| Default constructor. | |
| constexpr | queue (queue &&other) noexcept |
| Move constructor. | |
| queue (queue const &)=delete | |
| Deleted copy constructor. | |
| ~queue ()=default | |
| Trivial destructor. This is a tradeoff. C++14 doesn't allow user-provided destructor to be constexpr. | |
| constexpr auto | back () noexcept -> reference |
| Get the reference to the back element of the queue. | |
| constexpr auto | empty () const noexcept -> bool |
| Check if the queue is empty. | |
| constexpr auto | front () noexcept -> reference |
| Get the reference to the front element of the queue. | |
| constexpr auto | operator!= (queue const &other) const noexcept -> bool=delete |
| deleted equality operator | |
| constexpr auto | operator= (queue &&other) noexcept -> queue & |
| Move assignment operator. | |
| auto | operator= (queue const &) -> queue &=delete |
| Deleted copy assignment operator. | |
| constexpr auto | operator== (queue const &other) const noexcept -> bool=delete |
| deleted equality operator | |
| constexpr void | pop () noexcept |
| Remove the front element from the queue. | |
| constexpr void | push (reference value) noexcept |
| Push an element into the queue. | |
| constexpr auto | size () const noexcept -> size_type |
| Get the size of the queue. | |
| constexpr void | swap (queue &other) noexcept |
| Swap the contents of two queues. | |
Intrusive queue implementation.
| T | The type of the elements in the queue. |
| Tag | The tag of the priority queue to work on. Default to default_tag. |
| using arene::base::intrusive::queue< T, Tag >::const_reference = T const& |
const reference type
| using arene::base::intrusive::queue< T, Tag >::reference = T& |
reference type
| using arene::base::intrusive::queue< T, Tag >::size_type = std::size_t |
size type
| using arene::base::intrusive::queue< T, Tag >::value_type = T |
value type
|
explicitconstexprdefaultnoexcept |
Default constructor.
|
inlineconstexprnoexcept |
Move constructor.
| other | The queue to move from. |
|
delete |
Deleted copy constructor.
Intrusive queue does not support copy
|
default |
Trivial destructor. This is a tradeoff. C++14 doesn't allow user-provided destructor to be constexpr.
|
inlineconstexprnoexcept |
Get the reference to the back element of the queue.
|
inlineconstexprnoexcept |
Check if the queue is empty.
true if the queue is empty, false otherwise.
|
inlineconstexprnoexcept |
Get the reference to the front element of the queue.
|
constexprdeletenoexcept |
deleted equality operator
Queue does not support inequality comparison as the definition of equality is not clear for intrusive containers.
|
inlineconstexprnoexcept |
Move assignment operator.
| other | The queue to move assign from. |
|
delete |
Deleted copy assignment operator.
Intrusive queue does not support copy
|
constexprdeletenoexcept |
deleted equality operator
Queue does not support equality comparison as the definition of equality is not clear for intrusive containers.
|
inlineconstexprnoexcept |
Remove the front element from the queue.
|
inlineconstexprnoexcept |
Push an element into the queue.
| value | The element to push. |
|
inlineconstexprnoexcept |
Get the size of the queue.
|
inlineconstexprnoexcept |
Swap the contents of two queues.
| other | The queue to swap with. |