SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
SWC::Core::QueuePointer< PtrT > Class Template Reference

#include <swcdb/core/QueuePointer.h>

+ Inheritance diagram for SWC::Core::QueuePointer< PtrT >:
+ Collaboration diagram for SWC::Core::QueuePointer< PtrT >:

Classes

struct  Pointer
 

Public Types

typedef PtrT value_type
 

Public Member Functions

constexpr SWC_CAN_INLINE QueuePointer () noexcept
 
 QueuePointer (QueuePointer &&other)
 
 QueuePointer (const QueuePointer &)=delete
 
QueuePointeroperator= (QueuePointer &&)=delete
 
QueuePointeroperator= (const QueuePointer &)=delete
 
 ~QueuePointer () noexcept
 
SWC_CAN_INLINE bool push_and_is_1st (PtrT &ptr) noexcept
 
SWC_CAN_INLINE void push (PtrT &ptr) noexcept
 
SWC_CAN_INLINE bool empty () noexcept
 
SWC_CAN_INLINE PtrT front () noexcept
 
SWC_CAN_INLINE bool pop_and_more () noexcept
 
SWC_CAN_INLINE bool pop (PtrT *ptr) noexcept
 
SWC_CAN_INLINE PtrT next () noexcept
 

Private Member Functions

constexpr SWC_CAN_INLINE void _push (PtrT &ptr) noexcept
 
- Private Member Functions inherited from SWC::Core::MutexAtomic
constexpr SWC_CAN_INLINE MutexAtomic () noexcept
 
 MutexAtomic (const MutexAtomic &)=delete
 
 MutexAtomic (MutexAtomic &&)=delete
 
MutexAtomicoperator= (const MutexAtomic &)=delete
 
MutexAtomicoperator= (MutexAtomic &&)=delete
 
 ~MutexAtomic () noexcept
 
SWC_CAN_INLINE bool try_lock () const noexcept
 
SWC_CAN_INLINE void lock () const noexcept
 
void lock (const uint32_t &us_sleep) const noexcept
 
SWC_CAN_INLINE void unlock () const noexcept
 

Private Attributes

PtrT _back
 
PtrT _front
 

Detailed Description

template<typename PtrT>
class SWC::Core::QueuePointer< PtrT >

Definition at line 15 of file QueuePointer.h.

Member Typedef Documentation

◆ value_type

template<typename PtrT >
typedef PtrT SWC::Core::QueuePointer< PtrT >::value_type

Definition at line 18 of file QueuePointer.h.

Constructor & Destructor Documentation

◆ QueuePointer() [1/3]

template<typename PtrT >
constexpr SWC_CAN_INLINE SWC::Core::QueuePointer< PtrT >::QueuePointer ( )
inlineexplicitconstexprnoexcept

Definition at line 32 of file QueuePointer.h.

◆ QueuePointer() [2/3]

template<typename PtrT >
SWC::Core::QueuePointer< PtrT >::QueuePointer ( QueuePointer< PtrT > &&  other)
inline

Definition at line 35 of file QueuePointer.h.

◆ QueuePointer() [3/3]

template<typename PtrT >
SWC::Core::QueuePointer< PtrT >::QueuePointer ( const QueuePointer< PtrT > &  )
delete

◆ ~QueuePointer()

template<typename PtrT >
SWC::Core::QueuePointer< PtrT >::~QueuePointer ( )
inlinenoexcept

Definition at line 47 of file QueuePointer.h.

Member Function Documentation

◆ _push()

template<typename PtrT >
constexpr SWC_CAN_INLINE void SWC::Core::QueuePointer< PtrT >::_push ( PtrT &  ptr)
inlineconstexprprivatenoexcept

Definition at line 117 of file QueuePointer.h.

Referenced by SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::push(), and SWC::Core::QueuePointer< SWC::Ranger::Callback::RangeQueryUpdate * >::push_and_is_1st().

+ Here is the caller graph for this function:

◆ empty()

template<typename PtrT >
SWC_CAN_INLINE bool SWC::Core::QueuePointer< PtrT >::empty ( )
inlinenoexcept

Definition at line 66 of file QueuePointer.h.

◆ front()

template<typename PtrT >
SWC_CAN_INLINE PtrT SWC::Core::QueuePointer< PtrT >::front ( )
inlinenoexcept

Definition at line 74 of file QueuePointer.h.

◆ next()

template<typename PtrT >
SWC_CAN_INLINE PtrT SWC::Core::QueuePointer< PtrT >::next ( )
inlinenoexcept

Definition at line 104 of file QueuePointer.h.

◆ operator=() [1/2]

template<typename PtrT >
QueuePointer& SWC::Core::QueuePointer< PtrT >::operator= ( const QueuePointer< PtrT > &  )
delete

◆ operator=() [2/2]

template<typename PtrT >
QueuePointer& SWC::Core::QueuePointer< PtrT >::operator= ( QueuePointer< PtrT > &&  )
delete

◆ pop()

template<typename PtrT >
SWC_CAN_INLINE bool SWC::Core::QueuePointer< PtrT >::pop ( PtrT *  ptr)
inlinenoexcept

Definition at line 94 of file QueuePointer.h.

◆ pop_and_more()

template<typename PtrT >
SWC_CAN_INLINE bool SWC::Core::QueuePointer< PtrT >::pop_and_more ( )
inlinenoexcept

Definition at line 83 of file QueuePointer.h.

◆ push()

template<typename PtrT >
SWC_CAN_INLINE void SWC::Core::QueuePointer< PtrT >::push ( PtrT &  ptr)
inlinenoexcept

Definition at line 59 of file QueuePointer.h.

◆ push_and_is_1st()

template<typename PtrT >
SWC_CAN_INLINE bool SWC::Core::QueuePointer< PtrT >::push_and_is_1st ( PtrT &  ptr)
inlinenoexcept

Definition at line 50 of file QueuePointer.h.

Member Data Documentation

◆ _back

◆ _front


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