YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
yaclib::detail::Stack Class Referencefinal

#include <intrusive_stack.hpp>

Public Member Functions

Stackoperator= (const Stack &)=delete
 
Stackoperator= (Stack &&)=delete
 
 Stack (const Stack &)=delete
 
 Stack () noexcept=default
 
 Stack (Stack &&other) noexcept
 
void PushFront (Node &node) noexcept
 
void PushBack (Node &node) noexcept
 
bool Empty () const noexcept
 
NodePopFront () noexcept
 

Detailed Description

Definition at line 10 of file intrusive_stack.hpp.

Constructor & Destructor Documentation

◆ Stack() [1/3]

yaclib::detail::Stack::Stack ( const Stack )
delete

◆ Stack() [2/3]

yaclib::detail::Stack::Stack ( )
defaultnoexcept

◆ Stack() [3/3]

yaclib::detail::Stack::Stack ( Stack &&  other)
inlinenoexcept

Definition at line 17 of file intrusive_stack.hpp.

References yaclib::MakeContract().

Member Function Documentation

◆ Empty()

bool yaclib::detail::Stack::Empty ( ) const
inlinenoexcept

Definition at line 30 of file intrusive_stack.hpp.

Referenced by PopFront().

◆ operator=() [1/2]

Stack & yaclib::detail::Stack::operator= ( const Stack )
delete

◆ operator=() [2/2]

Stack & yaclib::detail::Stack::operator= ( Stack &&  )
delete

◆ PopFront()

Node & yaclib::detail::Stack::PopFront ( )
inlinenoexcept

Definition at line 34 of file intrusive_stack.hpp.

References Empty(), yaclib::detail::Node::next, and YACLIB_ASSERT.

◆ PushBack()

void yaclib::detail::Stack::PushBack ( Node node)
inlinenoexcept

Definition at line 26 of file intrusive_stack.hpp.

References yaclib::MakeContract(), and PushFront().

◆ PushFront()

void yaclib::detail::Stack::PushFront ( Node node)
inlinenoexcept

Definition at line 20 of file intrusive_stack.hpp.

References yaclib::MakeContract().

Referenced by PushBack().


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