lines 9-75 of file: include/cppad/core/ad_io.hpp

{xrst_begin ad_input}
{xrst_spell
   istream
}

AD Input Stream Operator
########################

Syntax
******
*is* >> *x*

Purpose
*******
Sets *x* to a :ref:`glossary@Parameter`
with value *b* corresponding to

   *is* >> *b*

where *b* is a *Base* object.
It is assumed that this *Base* input operation returns
a reference to *is* .

is
**
The operand *is* has prototype

   ``std::istream&`` *is*

x
*
The operand *x* has one of the following prototypes

   ``AD`` < *Base* >& *x*

Result
******
The result of this operation can be used as a reference to *is* .
For example, if the operand *y* has prototype

   ``AD`` < *Base* > *y*

then the syntax

   *is* >> *x* >> *y*

will first read the *Base* value of *x* from *is* ,
and then read the *Base* value to *y* .

Operation Sequence
******************
The result of this operation is not an
:ref:`glossary@AD of Base` object.
Thus it will not be recorded as part of an
AD of *Base*
:ref:`operation sequence<glossary@Operation@Sequence>` .

Example
*******
{xrst_toc_hidden
   example/general/ad_input.cpp
}
The file
:ref:`ad_input.cpp-name`
contains an example and test of this operation.

{xrst_end ad_input}
