[#BloombergLP-bslstl-HashTable_NodeProctor] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::HashTable_NodeProctor :relfileprefix: ../../ :mrdocs: This class implements a proctor that, unless its `release` method has previously been invoked, automatically deallocates a managed list of nodes upon destruction by recursively invoking the `deleteNode` method of a supplied factory on each node. The (template parameter) type `FACTORY` shall be provide a member function that can be called as if it had the following signature: ` void deleteNode(bslalg::BidirectionalLink *node); ` == Synopsis Declared in `<bslstl_hashtable.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class FACTORY> class HashTable_NodeProctor; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/HashTable_NodeProctor/2constructor.adoc[`HashTable_NodeProctor`] [.small]#[constructor]# | Create a new node‐proctor that conditionally manages the specified `node` (if non‐zero), and that uses the specified `factory` to destroy the node (unless released) upon its destruction. The behavior is undefined unless `node` was created by the `factory`. | xref:BloombergLP/bslstl/HashTable_NodeProctor/2destructor.adoc[`~HashTable_NodeProctor`] [.small]#[destructor]# | Destroy this node proctor, and delete the node that it manages (if any) by invoking the `deleteNode` method of the factory supplied at construction. If no node is currently being managed, this method has no effect. | xref:BloombergLP/bslstl/HashTable_NodeProctor/release.adoc[`release`] | Release from management the node currently managed by this proctor. If no object is currently being managed, this method has no effect. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#