lines 8-42 of file: include/cppad/core/atomic/two/clear.hpp

{xrst_begin atomic_two_clear app}

Free Static Variables
#####################

Syntax
******
``atomic_base`` < *Base* >:: ``clear`` ()

Purpose
*******
Each ``atomic_base`` objects holds onto work space in order to
avoid repeated memory allocation calls and thereby increase speed
(until it is deleted).
If an the ``atomic_base`` object is global or static because,
the it does not get deleted.
This is a problem when using
``thread_alloc`` :ref:`free_all<ta_free_all-name>`
to check that all allocated memory has been freed.
Calling this ``clear`` function will free all the
memory currently being held onto by the
``atomic_base`` < *Base* > class.

Future Use
**********
If there is future use of an ``atomic_base`` object,
after a call to ``clear`` ,
the work space will be reallocated and held onto.

Restriction
***********
This routine cannot be called
while in :ref:`parallel<ta_in_parallel-name>` execution mode.

{xrst_end atomic_two_clear}
