// $Id: preprocessor.omh 3768 2015-12-28 18:58:35Z bradbell $
/* --------------------------------------------------------------------------
CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-15 Bradley M. Bell

CppAD is distributed under multiple licenses. This distribution is under
the terms of the
                    GNU General Public License Version 3.

A copy of this license is included in the COPYING file of this distribution.
Please visit http://www.coin-or.org/CppAD/ for information on other licenses.
-------------------------------------------------------------------------- */
$begin preprocessor$$
$spell
	const
	nullptr
	CppADvector
	Vec
$$

$section CppAD API Preprocessor Symbols$$
$mindex CPPAD_ NULL pointer$$

$head Purpose$$
The CppAD include files define preprocessor symbols all of which begin
with $code CPPAD_$$.
Note that there are some old, deprecated preprocessor symbols that
begin with $code CppAD$$.
In this section we list all of the CppAD preprocessor symbols that
are part of the CppAD Application Interface (API).

$head Documented Here$$

$subhead CPPAD_NULL$$
Is a null pointer used by CppAD,
instead of just using the value zero which was often done in C++98,
which has been replaced by the value $code nullptr$$ in C++11.

$subhead CPPAD_PACKAGE_STRING$$
Is a $code const char*$$ representation of this version of CppAD.

$subhead CPPAD_USE_CPLUSPLUS_2011$$
This preprocessor symbol has the value has the value $code 1$$
if C++11 features are being used by CppAD.
Otherwise it has the value zero.


$head Documented Elsewhere$$
$table
$cref/CPPAD_BOOL_BINARY/BoolFun/Create Binary/$$
$rnext
$cref/CPPAD_BOOL_UNARY/BoolFun/Create Unary/$$
$rnext
$cref/CPPAD_DISCRETE_FUNCTION/Discrete/$$
$rnext
$cref/CPPAD_MAX_NUM_THREADS/multi_thread/CPPAD_MAX_NUM_THREADS/$$
$rnext
$cref/CPPAD_NUMERIC_LIMITS/base_limits/CPPAD_NUMERIC_LIMITS/$$
$rnext
$cref/CPPAD_STANDARD_MATH_UNARY/base_std_math/CPPAD_STANDARD_MATH_UNARY/$$
$rnext
$cref/CPPAD_TAPE_ADDR_TYPE/cmake/cppad_tape_addr_type/$$
$rnext
$cref/CPPAD_TAPE_ID_TYPE/cmake/cppad_tape_id_type/$$
$rnext
$cref/CPPAD_TESTVECTOR/testvector/$$
$rnext
$cref/CPPAD_TO_STRING/base_to_string/CPPAD_TO_STRING/$$
$tend

$head Deprecated$$
$table
$cref/CppADCreateDiscrete/Discrete/CppADCreateDiscrete Deprecated 2007-07-28/$$
$rnext
$cref/CppADvector/test_vector/Deprecated 2012-07-03/$$
$rnext
$cref/CPPAD_TEST_VECTOR/test_vector/$$
$rnext
$cref/CPPAD_TRACK_NEW_VEC/TrackNewDel/TrackNewVec/Macro/$$
$rnext
$cref/CPPAD_TRACK_DEL_VEC/TrackNewDel/TrackDelVec/Macro/$$
$rnext
$cref/CPPAD_TRACK_EXTEND/TrackNewDel/TrackExtend/Macro/$$
$rnext
$cref/CPPAD_TRACK_COUNT/TrackNewDel/TrackCount/Macro/$$
$rnext
$cref/CPPAD_USER_ATOMIC/old_atomic/$$
$rnext
$cref/CppADTrackNewVec/TrackNewDel/TrackNewVec/Previously Deprecated/$$
$rnext
$cref/CppADTrackDelVec/TrackNewDel/TrackDelVec/Previously Deprecated/$$
$rnext
$cref/CppADTrackExtend/TrackNewDel/TrackExtend/Previously Deprecated/$$
$rnext
$cref/CppADTrackCount/TrackNewDel/TrackCount/Previously Deprecated/$$
$tend


$end
