|
IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
|
#include <ice/atomic_linked_queue.hxx>
Public Types | |
| using | ValueType = NodeType |
Public Member Functions | |
| constexpr | AtomicLinkedQueue () noexcept |
| constexpr | ~AtomicLinkedQueue () noexcept=default |
| constexpr | AtomicLinkedQueue (AtomicLinkedQueue &&other) noexcept |
| constexpr | AtomicLinkedQueue (AtomicLinkedQueue const &other) noexcept=delete |
| constexpr auto | operator= (AtomicLinkedQueue &&other) noexcept -> AtomicLinkedQueue & |
| constexpr auto | operator= (AtomicLinkedQueue const &other) noexcept -> AtomicLinkedQueue &=delete |
| constexpr bool | is_empty () const noexcept |
| constexpr bool | not_empty () const noexcept |
| template<ice::concepts::LinkedListNode DerivedNodeType = NodeType> | |
| constexpr void | push_back (DerivedNodeType *node) noexcept |
| template<ice::concepts::LinkedListNode DerivedNodeType = NodeType> | |
| constexpr bool | push_back (ice::AtomicLinkedQueueRange< DerivedNodeType > range) noexcept |
| constexpr auto | take_front () noexcept -> NodeType * |
| constexpr auto | take_all () noexcept -> ice::AtomicLinkedQueueRange< NodeType > |
Public Attributes | |
| std::atomic< NodeType * > | _head |
| std::atomic< NodeType * > | _tail |
| using ice::AtomicLinkedQueue< NodeType >::ValueType = NodeType |
|
inlineconstexprnoexcept |
|
constexprdefaultnoexcept |
|
inlineconstexprnoexcept |
|
constexprdeletenoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
constexprdeletenoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
|
inlinenodiscardconstexprnoexcept |
| std::atomic<NodeType*> ice::AtomicLinkedQueue< NodeType >::_head |
| std::atomic<NodeType*> ice::AtomicLinkedQueue< NodeType >::_tail |