STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
Concurrency::details::_Concurrent_queue_base_v4 Class Referenceabstract

#include <concurrent_queue.h>

Inheritance diagram for Concurrency::details::_Concurrent_queue_base_v4:
Concurrency::concurrent_queue< _Ty, _Ax > Concurrency::concurrent_queue< Concurrency::message< _Input > * > Concurrency::concurrent_queue< Concurrency::message< _Type > * >

Classes

struct  _Page
 

Protected Member Functions

_CONCRTIMP _Concurrent_queue_base_v4 (size_t _Item_size)
 
virtual _CONCRTIMP ~_Concurrent_queue_base_v4 ()
 
_CONCRTIMP void _Internal_push (const void *_Src)
 
_CONCRTIMP void _Internal_move_push (void *_Src)
 
_CONCRTIMP void _Internal_swap (_Concurrent_queue_base_v4 &other)
 
_CONCRTIMP bool _Internal_pop_if_present (void *_Dst)
 
_CONCRTIMP size_t _Internal_size () const
 
_CONCRTIMP bool _Internal_empty () const
 
virtual _Page_Allocate_page ()=0
 
virtual void _Deallocate_page (_Page *p)=0
 
_CONCRTIMP void _Internal_finish_clear ()
 
_CONCRTIMP void _Internal_throw_exception () const
 

Protected Attributes

size_t _Items_per_page
 
size_t _Item_size
 

Private Member Functions

virtual void _Move_item (_Page &_Dst, size_t _Index, void *_Src)=0
 
virtual void _Copy_item (_Page &_Dst, size_t _Index, const void *_Src)=0
 
virtual void _Assign_and_destroy_item (void *_Dst, _Page &_Src, size_t _Index)=0
 
 _Concurrent_queue_base_v4 (const _Concurrent_queue_base_v4 &)
 
void operator= (const _Concurrent_queue_base_v4 &)
 

Private Attributes

_Concurrent_queue_rep_My_rep
 

Friends

class _Concurrent_queue_rep
 
struct _Micro_queue
 
class _Micro_queue_pop_finalizer
 
class _Concurrent_queue_iterator_rep
 
class _Concurrent_queue_iterator_base_v4
 

Constructor & Destructor Documentation

_CONCRTIMP Concurrency::details::_Concurrent_queue_base_v4::_Concurrent_queue_base_v4 ( size_t  _Item_size)
protected
virtual _CONCRTIMP Concurrency::details::_Concurrent_queue_base_v4::~_Concurrent_queue_base_v4 ( )
protectedvirtual
Concurrency::details::_Concurrent_queue_base_v4::_Concurrent_queue_base_v4 ( const _Concurrent_queue_base_v4 )
private

Member Function Documentation

virtual _Page* Concurrency::details::_Concurrent_queue_base_v4::_Allocate_page ( )
protectedpure virtual
virtual void Concurrency::details::_Concurrent_queue_base_v4::_Assign_and_destroy_item ( void _Dst,
_Page _Src,
size_t  _Index 
)
privatepure virtual
virtual void Concurrency::details::_Concurrent_queue_base_v4::_Copy_item ( _Page _Dst,
size_t  _Index,
const void _Src 
)
privatepure virtual
virtual void Concurrency::details::_Concurrent_queue_base_v4::_Deallocate_page ( _Page p)
protectedpure virtual
_CONCRTIMP bool Concurrency::details::_Concurrent_queue_base_v4::_Internal_empty ( ) const
protected
_CONCRTIMP void Concurrency::details::_Concurrent_queue_base_v4::_Internal_finish_clear ( )
protected
_CONCRTIMP void Concurrency::details::_Concurrent_queue_base_v4::_Internal_move_push ( void _Src)
protected
_CONCRTIMP bool Concurrency::details::_Concurrent_queue_base_v4::_Internal_pop_if_present ( void _Dst)
protected

NULL if there was no item to dequeue.

_CONCRTIMP void Concurrency::details::_Concurrent_queue_base_v4::_Internal_push ( const void _Src)
protected
_CONCRTIMP size_t Concurrency::details::_Concurrent_queue_base_v4::_Internal_size ( ) const
protected
_CONCRTIMP void Concurrency::details::_Concurrent_queue_base_v4::_Internal_swap ( _Concurrent_queue_base_v4 other)
protected
_CONCRTIMP void Concurrency::details::_Concurrent_queue_base_v4::_Internal_throw_exception ( ) const
protected
virtual void Concurrency::details::_Concurrent_queue_base_v4::_Move_item ( _Page _Dst,
size_t  _Index,
void _Src 
)
privatepure virtual
void Concurrency::details::_Concurrent_queue_base_v4::operator= ( const _Concurrent_queue_base_v4 )
private

Friends And Related Function Documentation

friend class _Concurrent_queue_iterator_rep
friend
friend class _Concurrent_queue_rep
friend
friend struct _Micro_queue
friend
friend class _Micro_queue_pop_finalizer
friend

Member Data Documentation

size_t Concurrency::details::_Concurrent_queue_base_v4::_Item_size
protected
size_t Concurrency::details::_Concurrent_queue_base_v4::_Items_per_page
protected
_Concurrent_queue_rep* Concurrency::details::_Concurrent_queue_base_v4::_My_rep
private

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