[#bsl-List_NodeProctor]
= xref:bsl.adoc[bsl]::List&lowbar;NodeProctor
:relfileprefix: ../
:mrdocs:

This class provides a proctor to free a node containing an uninitialized `VALUE` object in the event that an exception is thrown&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;list&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class VALUE,
    class ALLOCATOR&gt;
class List&lowbar;NodeProctor;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/List_NodeProctor/NodePtr.adoc[`NodePtr`] 
| Pointer to a list node allocated by this proctor&apos;s list&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/List_NodeProctor/2constructor-05.adoc[`List&lowbar;NodeProctor`]         [.small]#[constructor]#
| Create a node proctor object that will use the specified list `listPtr` to free the specified `nodePtr`&period; The behavior is undefined unless `nodePtr` was allocated by the allocator of `&ast;listPtr`&period;
| xref:bsl/List_NodeProctor/2destructor.adoc[`&#126;List&lowbar;NodeProctor`] [.small]#[destructor]#
| Destroy this node proctor, and free the node it contains unless the `release` method has been called before&period; Note that the `d&lowbar;value` field of the node is not destroyed&period;
| xref:bsl/List_NodeProctor/release.adoc[`release`] 
| Detach the node contained in this proctor from the proctor&period; After calling this `release` method, the proctor no longer frees any node upon its destruction&period;
|===



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