Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
CCheckQueueControl< T, R > Class Template Reference

RAII-style controller object for a CCheckQueue that guarantees the passed queue is finished before continuing. More...

#include <checkqueue.h>

Collaboration diagram for CCheckQueueControl< T, R >:
[legend]

Public Member Functions

 CCheckQueueControl ()=delete
 CCheckQueueControl (const CCheckQueueControl &)=delete
CCheckQueueControloperator= (const CCheckQueueControl &)=delete
 CCheckQueueControl (CCheckQueue< T > &queueIn) EXCLUSIVE_LOCK_FUNCTION(queueIn.m_control_mutex)
std::optional< R > Complete ()
void Add (std::vector< T > &&vChecks)
 ~CCheckQueueControl () UNLOCK_FUNCTION()

Private Attributes

CCheckQueue< T, R > & m_queue
UniqueLock< Mutexm_lock
bool fDone

Detailed Description

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
class CCheckQueueControl< T, R >

RAII-style controller object for a CCheckQueue that guarantees the passed queue is finished before continuing.

Definition at line 208 of file checkqueue.h.

Constructor & Destructor Documentation

◆ CCheckQueueControl() [1/3]

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
CCheckQueueControl< T, R >::CCheckQueueControl ( )
delete
Here is the caller graph for this function:

◆ CCheckQueueControl() [2/3]

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
CCheckQueueControl< T, R >::CCheckQueueControl ( const CCheckQueueControl< T, R > & )
delete
Here is the call graph for this function:

◆ CCheckQueueControl() [3/3]

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
CCheckQueueControl< T, R >::CCheckQueueControl ( CCheckQueue< T > & queueIn)
inlineexplicit

Definition at line 219 of file checkqueue.h.

◆ ~CCheckQueueControl()

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
CCheckQueueControl< T, R >::~CCheckQueueControl ( )
inline

Definition at line 233 of file checkqueue.h.

Here is the call graph for this function:

Member Function Documentation

◆ Add()

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
void CCheckQueueControl< T, R >::Add ( std::vector< T > && vChecks)
inline

Definition at line 228 of file checkqueue.h.

Here is the caller graph for this function:

◆ Complete()

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
std::optional< R > CCheckQueueControl< T, R >::Complete ( )
inline

Definition at line 221 of file checkqueue.h.

Here is the caller graph for this function:

◆ operator=()

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
CCheckQueueControl & CCheckQueueControl< T, R >::operator= ( const CCheckQueueControl< T, R > & )
delete
Here is the call graph for this function:

Member Data Documentation

◆ fDone

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
bool CCheckQueueControl< T, R >::fDone
private

Definition at line 213 of file checkqueue.h.

◆ m_lock

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
UniqueLock<Mutex> CCheckQueueControl< T, R >::m_lock
private

Definition at line 212 of file checkqueue.h.

◆ m_queue

template<typename T, typename R = std::remove_cvref_t<decltype(std::declval<T>()().value())>>
CCheckQueue<T, R>& CCheckQueueControl< T, R >::m_queue
private

Definition at line 211 of file checkqueue.h.


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