libjmmcg
build_2783
A C++ library containing an eclectic mix of useful, advanced components.
|
Adapt the stack to look like a list. More...
#include <thread_pool_aspects.hpp>
Public Types | |
typedef shared_ptr< V, LkT > | value_type |
Public Types inherited from jmmcg::intrusive::stack< V, LkT > | |
using | lock_traits = typename node_details_t::lock_traits |
typedef std::size_t | size_type |
typedef shared_ptr< V, LkT > | value_type |
typedef lock_traits::template atomic_counter_type< unsigned long > | size_ctr_t |
typedef private_::slist_iterator_internal< V, LkT > | iterator |
typedef private_::slist_iterator_internal< V const, LkT > | const_iterator |
typedef iterator::difference_type | difference_type |
typedef iterator::pointer | pointer |
typedef iterator::reference | reference |
typedef const_iterator::const_pointer | const_pointer |
typedef const_iterator::const_reference | const_reference |
typedef value_type::deleter_t | deleter_t |
typedef value_type::ctr_type | ctr_type |
typedef value_type::exception_type | exception_type |
Public Member Functions | |
value_type __fastcall | front () noexcept(true) FORCE_INLINE |
const value_type __fastcall | front () const noexcept(true) FORCE_INLINE |
void __fastcall | push_back (value_type const &v) noexcept(true) FORCE_INLINE |
void __fastcall | push_back (value_type &&v) noexcept(true) FORCE_INLINE |
Public Member Functions inherited from jmmcg::intrusive::stack< V, LkT > | |
BOOST_MPL_ASSERT ((std::is_base_of< typename node_details_t::base_t, typename value_type::value_type >)) | |
__stdcall | stack () noexcept(true) FORCE_INLINE |
stack (stack const &)=delete | |
stack (stack &&) noexcept(true) FORCE_INLINE | |
virtual __stdcall | ~stack () noexcept(true) FORCE_INLINE |
iterator __fastcall | begin () noexcept(true) FORCE_INLINE |
const_iterator __fastcall | begin () const noexcept(true) FORCE_INLINE |
iterator __fastcall | end () noexcept(true) FORCE_INLINE |
const_iterator __fastcall | end () const noexcept(true) FORCE_INLINE |
bool __fastcall | empty () const noexcept(true) FORCE_INLINE |
Return true if the container is empty, false otherwise. More... | |
size_type __fastcall | size () const noexcept(true) FORCE_INLINE |
Atomically return the number of elements in the container. More... | |
size_type __fastcall | size_n () const noexcept(true) FORCE_INLINE |
Non-atomically return the number of elements in the container. More... | |
void __fastcall | erase (iterator v) noexcept(true) FORCE_INLINE |
Remove the element from the container. More... | |
size_type __fastcall | erase (const_reference v) noexcept(true) FORCE_INLINE |
Non-atomically remove the element from the container. More... | |
void __fastcall | clear () noexcept(true) FORCE_INLINE |
Remove all of the elements from the container. More... | |
value_type __fastcall | top () noexcept(true) FORCE_INLINE |
value_type __fastcall | top () const noexcept(true) FORCE_INLINE |
void __fastcall | push (value_type const &v) noexcept(true) FORCE_INLINE |
void __fastcall | push (value_type &&v) noexcept(true) FORCE_INLINE |
void __fastcall | push_front (value_type const &v) noexcept(true) FORCE_INLINE |
void __fastcall | push_front (value_type &&v) noexcept(true) FORCE_INLINE |
void __fastcall | pop () noexcept(true) FORCE_INLINE |
void __fastcall | pop_front () noexcept(true) FORCE_INLINE |
value_type __fastcall | pop_top_nochk () noexcept(true) FORCE_INLINE |
Additional Inherited Members | |
Static Public Attributes inherited from jmmcg::intrusive::stack< V, LkT > | |
static constexpr ppd::generic_traits::memory_access_modes | memory_access_mode |
Protected Types inherited from jmmcg::intrusive::stack< V, LkT > | |
using | node_details_t = private_::node_details< LkT > |
using | atomic_ptr_t = typename node_details_t::base_t::atomic_ptr_t |
Protected Member Functions inherited from jmmcg::intrusive::stack< V, LkT > | |
node_details_t::base_t::atomic_ptr_t | unlink_node (typename node_details_t::base_t::atomic_ptr_t &node) noexcept(true) FORCE_INLINE |
void | insert (value_type v) noexcept(true) FORCE_INLINE |
Static Protected Member Functions inherited from jmmcg::intrusive::stack< V, LkT > | |
static void | insert (typename node_details_t::base_t::atomic_ptr_t i, value_type v) noexcept(true) FORCE_INLINE |
Protected Attributes inherited from jmmcg::intrusive::stack< V, LkT > | |
node_details_t | prefront_ |
size_ctr_t | size_ctr |
Adapt the stack to look like a list.
Definition at line 536 of file thread_pool_aspects.hpp.
typedef shared_ptr<V, LkT> jmmcg::intrusive::stack< V, LkT >::value_type |
Definition at line 347 of file intrusive.hpp.
|
inlinenoexcept |
Definition at line 542 of file thread_pool_aspects.hpp.
|
inlinenoexcept |
Definition at line 539 of file thread_pool_aspects.hpp.
|
inlinenoexcept |
Definition at line 548 of file thread_pool_aspects.hpp.
|
inlinenoexcept |
Definition at line 545 of file thread_pool_aspects.hpp.