lines 869-913 of file: include/cppad/utility/thread_alloc.hpp

{xrst_begin ta_return_memory}

Return Memory to thread_alloc
#############################

Syntax
******
``thread_alloc::return_memory`` ( *v_ptr* )

Purpose
*******
If :ref:`hold_memory<ta_hold_memory-name>` is false,
the memory is returned to the system.
Otherwise, the memory is retained by :ref:`thread_alloc-name` for quick future use
by the thread that allocated to memory.

v_ptr
*****
This argument has prototype

   ``void`` * *v_ptr*

.
It must be a pointer to memory that is currently in use; i.e.
obtained by a previous call to
:ref:`get_memory<ta_get_memory-name>` and not yet returned.

Thread
******
Either the :ref:`current thread<ta_thread_num-name>` must be the same as during
the corresponding call to :ref:`get_memory<ta_get_memory-name>` ,
or the current execution mode must be sequential
(not :ref:`parallel<ta_in_parallel-name>` ).

NDEBUG
******
If ``NDEBUG`` is defined, *v_ptr* is not checked (this is faster).
Otherwise, a list of in use pointers is searched to make sure
that *v_ptr* is in the list.

Example
*******
:ref:`thread_alloc.cpp-name`

{xrst_end ta_return_memory}
