CARLA
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
moodycamel::ConcurrentQueue< T, Traits >::FreeList< N > Struct Template Reference
+ Inheritance diagram for moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >:
+ Collaboration diagram for moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >:

Public Member Functions

void add (N *node)
 
 FreeList ()
 
 FreeList (FreeList &&other)
 
 FreeList (FreeList const &) MOODYCAMEL_DELETE_FUNCTION
 
N * head_unsafe () const
 
FreeListoperator= (FreeList const &) MOODYCAMEL_DELETE_FUNCTION
 
void swap (FreeList &other)
 
N * try_get ()
 

Private Member Functions

void add_knowing_refcount_is_zero (N *node)
 

Private Attributes

std::atomic< N * > freeListHead
 

Static Private Attributes

static const std::uint32_t REFS_MASK = 0x7FFFFFFF
 
static const std::uint32_t SHOULD_BE_ON_FREELIST = 0x80000000
 

Detailed Description

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
struct moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >

Definition at line 1378 of file ConcurrentQueue.h.

Constructor & Destructor Documentation

◆ FreeList() [1/3]

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::FreeList ( )
inline

Definition at line 1380 of file ConcurrentQueue.h.

◆ FreeList() [2/3]

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::FreeList ( FreeList< N > &&  other)
inline

Definition at line 1381 of file ConcurrentQueue.h.

◆ FreeList() [3/3]

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::FreeList ( FreeList< N > const &  )

Member Function Documentation

◆ add()

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
void moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::add ( N *  node)
inline

Definition at line 1387 of file ConcurrentQueue.h.

◆ add_knowing_refcount_is_zero()

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
void moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::add_knowing_refcount_is_zero ( N *  node)
inlineprivate

Definition at line 1444 of file ConcurrentQueue.h.

◆ head_unsafe()

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
N* moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::head_unsafe ( ) const
inline

Definition at line 1441 of file ConcurrentQueue.h.

◆ operator=()

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
FreeList& moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::operator= ( FreeList< N > const &  )

◆ swap()

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
void moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::swap ( FreeList< N > &  other)
inline

Definition at line 1382 of file ConcurrentQueue.h.

◆ try_get()

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
N* moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::try_get ( )
inline

Definition at line 1401 of file ConcurrentQueue.h.

Member Data Documentation

◆ freeListHead

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
std::atomic<N*> moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::freeListHead
private

◆ REFS_MASK

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
const std::uint32_t moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::REFS_MASK = 0x7FFFFFFF
staticprivate

Definition at line 1472 of file ConcurrentQueue.h.

◆ SHOULD_BE_ON_FREELIST

template<typename T, typename Traits = ConcurrentQueueDefaultTraits>
template<typename N>
const std::uint32_t moodycamel::ConcurrentQueue< T, Traits >::FreeList< N >::SHOULD_BE_ON_FREELIST = 0x80000000
staticprivate

Definition at line 1473 of file ConcurrentQueue.h.


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