[#BloombergLP-bdlcc-SingleConsumerQueueImpl_MarkReclaimProctor]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlcc.adoc[bdlcc]::SingleConsumerQueueImpl&lowbar;MarkReclaimProctor
:relfileprefix: ../../
:mrdocs:

This class implements a proctor that, unless its `release` method has previously been invoked, automatically invokes `markReclaim` on a `NODE` upon destruction&period;

== Synopsis

Declared in `&lt;bdlcc&lowbar;singleconsumerqueueimpl&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class TYPE,
    class NODE&gt;
class SingleConsumerQueueImpl&lowbar;MarkReclaimProctor;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlcc/SingleConsumerQueueImpl_MarkReclaimProctor/2constructor.adoc[`SingleConsumerQueueImpl&lowbar;MarkReclaimProctor`]         [.small]#[constructor]#
| Create a `markReclaim` proctor managing the specified `node` of the specified `queue`&period;
| xref:BloombergLP/bdlcc/SingleConsumerQueueImpl_MarkReclaimProctor/2destructor.adoc[`&#126;SingleConsumerQueueImpl&lowbar;MarkReclaimProctor`] [.small]#[destructor]#
| Destroy this object and, if `release` has not been invoked, invoke the managed queue&apos;s `markReclaim` method with the managed node&period;
| xref:BloombergLP/bdlcc/SingleConsumerQueueImpl_MarkReclaimProctor/release.adoc[`release`] 
| Release from management the queue and node currently managed by this proctor&period; If no queue, this method has no effect&period;
|===



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