lines 1378-1429 of file: include/cppad/utility/thread_alloc.hpp

{xrst_begin ta_delete_array}
{xrst_spell
   deallocate
   inuse
}

Deallocate An Array and Call Destructor for its Elements
########################################################

Syntax
******
``thread_alloc::delete_array`` ( *array* ) .

Purpose
*******
Returns memory corresponding to an array created by
(create by :ref:`create_array<ta_create_array-name>` ) to the
:ref:`available<ta_available-name>` memory pool for the current thread.

Type
****
The type of the elements of the array.

array
*****
The argument *array* has prototype

   *Type* * *array*

It is a value returned by :ref:`create_array<ta_create_array-name>` and not yet deleted.
The *Type* destructor is called for each element in the array.

Thread
******
The :ref:`current thread<ta_thread_num-name>` must be the
same as when :ref:`create_array<ta_create_array-name>` returned the value *array* .
There is an exception to this rule:
when the current execution mode is sequential
(not :ref:`parallel<ta_in_parallel-name>` ) the current thread number does not matter.

Delta
*****
The amount of memory :ref:`inuse<ta_inuse-name>` will decrease by *delta* ,
and the :ref:`available<ta_available-name>` memory will increase by *delta* ,
where :ref:`ta_create_array@Delta`
is the same as for the corresponding call to ``create_array`` .

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

{xrst_end ta_delete_array}
