Bitcoin Core 28.99.0
P2P Digital Currency
Public Member Functions | Private Attributes | List of all members
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 > *const pqueueIn)
 
std::optional< R > Complete ()
 
void Add (std::vector< T > &&vChecks)
 
 ~CCheckQueueControl ()
 

Private Attributes

CCheckQueue< T, R > *const pqueue
 
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

◆ 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

◆ CCheckQueueControl() [3/3]

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

Definition at line 218 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 241 of file checkqueue.h.

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 234 of file checkqueue.h.

Here is the call graph for this function:
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 226 of file checkqueue.h.

Here is the call graph for this function:
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

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 212 of file checkqueue.h.

◆ pqueue

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

Definition at line 211 of file checkqueue.h.


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