Quick Links:

bal | bbl | bdl | bsl

Public Member Functions

bslstl::HashTable_NodeProctor< FACTORY > Class Template Reference

#include <bslstl_hashtable.h>

List of all members.

Public Member Functions

 HashTable_NodeProctor (FACTORY *factory, bslalg::BidirectionalLink *node)
 ~HashTable_NodeProctor ()
void release ()

Detailed Description

template<class FACTORY>
class bslstl::HashTable_NodeProctor< FACTORY >

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);

See Component bslstl_hashtable


Constructor & Destructor Documentation

template<class FACTORY >
bslstl::HashTable_NodeProctor< FACTORY >::HashTable_NodeProctor ( FACTORY *  factory,
bslalg::BidirectionalLink node 
)

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.

template<class FACTORY >
bslstl::HashTable_NodeProctor< FACTORY >::~HashTable_NodeProctor (  ) 

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.


Member Function Documentation

template<class FACTORY >
void bslstl::HashTable_NodeProctor< FACTORY >::release (  ) 

Release from management the node currently managed by this proctor. If no object is currently being managed, this method has no effect.


The documentation for this class was generated from the following file: