CppAD: A C++ Algorithmic Differentiation Package  20130918
CppAD::recorder< Base > Class Template Reference

Class used to store an operation sequence while it is being recorded (the operation sequence is copied to the player class for playback). More...

List of all members.

Public Member Functions

void free (void)
 Frees all information in recording.
size_t Memory (void) const
 Approximate amount of memory used by the recording.
size_t num_load_op_rec (void) const
 Number of LdpOp and LdvOp operations currently in the recording.
size_t num_op_rec (void) const
 Number of operators currently stored in the recording.
size_t num_var_rec (void) const
 Number of variables currently stored in the recording.
void PutArg (addr_t arg0)
 Put one operation argument index in the recording.
void PutArg (addr_t arg0, addr_t arg1)
 Put two operation argument index in the recording.
void PutArg (addr_t arg0, addr_t arg1, addr_t arg2)
 Put three operation argument index in the recording.
void PutArg (addr_t arg0, addr_t arg1, addr_t arg2, addr_t arg3)
 Put four operation argument index in the recording.
void PutArg (addr_t arg0, addr_t arg1, addr_t arg2, addr_t arg3, addr_t arg4)
 Put five operation argument index in the recording.
void PutArg (addr_t arg0, addr_t arg1, addr_t arg2, addr_t arg3, addr_t arg4, addr_t arg5)
 Put six operation argument index in the recording.
size_t PutLoadOp (OpCode op)
 Put a vecad load operator in the operation sequence (special case)
size_t PutOp (OpCode op)
 Put next operator in the operation sequence.
size_t PutPar (const Base &par)
 Find or add a parameter to the current vector of parameters.
size_t PutTxt (const char *text)
 Put a character string in the text for this recording.
size_t PutVecInd (size_t vec_ind)
 Add a value to the end of the current vector of VecAD indices.
 recorder (void)
 Default constructor.
void ReplaceArg (size_t i_arg, size_t value)
 Replace an argument value in the recording (intended to fill in reserved values).
size_t ReserveArg (size_t n_arg)
 Reserve space for arguments, but delay placing values there.
 ~recorder (void)
 Destructor.

Private Attributes

size_t num_load_op_rec_
 Number vecad load operations (LdpOp or LdvOp) currently in recording.
size_t num_var_rec_
 Number of variables in the recording.
pod_vector< addr_top_arg_rec_
 The argument indices in the recording.
pod_vector< CPPAD_OP_CODE_TYPEop_rec_
 The operators in the recording.
pod_vector< Base > par_rec_
 The parameters in the recording. Note that Base may not be plain old data, so use false in consructor.
pod_vector< char > text_rec_
 Character strings ('\0' terminated) in the recording.
const size_t thread_offset_
 offset for this thread in the static hash table
pod_vector< addr_tvecad_ind_rec_
 The VecAD indices in the recording.

Friends

class player< Base >

Detailed Description

template<class Base>
class CppAD::recorder< Base >

Class used to store an operation sequence while it is being recorded (the operation sequence is copied to the player class for playback).

Template Parameters:
BaseThis is an AD< Base > operation sequence recording; i.e., it records operations of type AD< Base >.

Definition at line 32 of file recorder.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines