[#BloombergLP-bdlcc-SingleProducerQueueImpl_ReleaseAllRawProctor]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlcc.adoc[bdlcc]::SingleProducerQueueImpl&lowbar;ReleaseAllRawProctor
:relfileprefix: ../../
:mrdocs:

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

== Synopsis

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

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

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlcc/SingleProducerQueueImpl_ReleaseAllRawProctor/2constructor.adoc[`SingleProducerQueueImpl&lowbar;ReleaseAllRawProctor`]         [.small]#[constructor]#
| Create a `removeAll` proctor that conditionally manages the specified `queue` (if non&hyphen;zero)&period;
| xref:BloombergLP/bdlcc/SingleProducerQueueImpl_ReleaseAllRawProctor/2destructor.adoc[`&#126;SingleProducerQueueImpl&lowbar;ReleaseAllRawProctor`] [.small]#[destructor]#
| Destroy this object and, if `release` has not been invoked, invoke the managed queue&apos;s `releaseAllRaw` method&period;
| xref:BloombergLP/bdlcc/SingleProducerQueueImpl_ReleaseAllRawProctor/release.adoc[`release`] 
| Release from management the queue currently managed by this proctor&period; If no queue, this method has no effect&period;
|===



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