libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::ppd::pool_traits::normal_lifo< V, Comp, EvSts, GSSk, Stats >::adaptor Struct Reference

Adapt the stack to look like a list. More...

#include <thread_pool_aspects.hpp>

Inheritance diagram for jmmcg::ppd::pool_traits::normal_lifo< V, Comp, EvSts, GSSk, Stats >::adaptor:
[legend]
Collaboration diagram for jmmcg::ppd::pool_traits::normal_lifo< V, Comp, EvSts, GSSk, Stats >::adaptor:
[legend]

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
 

Detailed Description

template<class V, template< class > class Comp, class EvSts, unsigned long GSSk, template< class > class Stats>
struct jmmcg::ppd::pool_traits::normal_lifo< V, Comp, EvSts, GSSk, Stats >::adaptor

Adapt the stack to look like a list.

Definition at line 536 of file thread_pool_aspects.hpp.

Member Typedef Documentation

◆ value_type

template<class V , template< class > class Comp, class EvSts , unsigned long GSSk, template< class > class Stats>
typedef shared_ptr<V, LkT> jmmcg::intrusive::stack< V, LkT >::value_type

Definition at line 347 of file intrusive.hpp.

Member Function Documentation

◆ front() [1/2]

template<class V , template< class > class Comp, class EvSts , unsigned long GSSk, template< class > class Stats>
const value_type __fastcall jmmcg::ppd::pool_traits::normal_lifo< V, Comp, EvSts, GSSk, Stats >::adaptor::front ( ) const
inlinenoexcept

Definition at line 542 of file thread_pool_aspects.hpp.

◆ front() [2/2]

template<class V , template< class > class Comp, class EvSts , unsigned long GSSk, template< class > class Stats>
value_type __fastcall jmmcg::ppd::pool_traits::normal_lifo< V, Comp, EvSts, GSSk, Stats >::adaptor::front ( )
inlinenoexcept

Definition at line 539 of file thread_pool_aspects.hpp.

◆ push_back() [1/2]

template<class V , template< class > class Comp, class EvSts , unsigned long GSSk, template< class > class Stats>
void __fastcall jmmcg::ppd::pool_traits::normal_lifo< V, Comp, EvSts, GSSk, Stats >::adaptor::push_back ( value_type &&  v)
inlinenoexcept

Definition at line 548 of file thread_pool_aspects.hpp.

◆ push_back() [2/2]

template<class V , template< class > class Comp, class EvSts , unsigned long GSSk, template< class > class Stats>
void __fastcall jmmcg::ppd::pool_traits::normal_lifo< V, Comp, EvSts, GSSk, Stats >::adaptor::push_back ( value_type const &  v)
inlinenoexcept

Definition at line 545 of file thread_pool_aspects.hpp.


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