[#CCheckQueueControl]
= CCheckQueueControl
:mrdocs:

RAII&hyphen;style controller object for a CCheckQueue that guarantees the passed queue is finished before continuing&period;

== Synopsis

Declared in `&lt;checkqueue&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename T,
    typename R = std::remove&lowbar;cvref&lowbar;t&lt;decltype(std&colon;&colon;declval&lt;T&gt;()()&period;value())&gt;&gt;
class &lsqb;&lsqb;scoped&lowbar;lockable&rsqb;&rsqb; CCheckQueueControl;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:CCheckQueueControl/2constructor-0e.adoc[`CCheckQueueControl`]         [.small]#[constructor]#
| Constructors
| xref:CCheckQueueControl/2destructor.adoc[`&#126;CCheckQueueControl`] [.small]#[destructor]#
| Completes any outstanding checks (if not already done) and releases the lock&period;
| xref:CCheckQueueControl/operator_assign.adoc[`operator&equals;`]  [.small]#[deleted]#
| Deleted copy assignment&semi; the controller holds an exclusive lock&period;
| xref:CCheckQueueControl/Add.adoc[`Add`] 
| Adds a batch of checks to the controlled queue&period;
| xref:CCheckQueueControl/Complete.adoc[`Complete`] 
| Waits for all queued checks to finish and returns any failure&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
