rpt_value_cstate Class Reference

#include <cstate.h>

Inheritance diagram for rpt_value_cstate:

rpt_value

Public Member Functions

virtual ~rpt_value_cstate ()

Static Public Member Functions

static rpt_value::pointer create (project_ty *pp, size_t length, const long *list)

Protected Member Functions

const char * name () const
bool is_a_struct () const
rpt_value::pointer lookup (const rpt_value::pointer &rhs, bool lvalue) const
rpt_value::pointer keys () const
rpt_value::pointer count () const
const char * type_of () const

Private Member Functions

 rpt_value_cstate (project_ty *pp, size_t length, const long *list)
 rpt_value_cstate ()
 rpt_value_cstate (const rpt_value_cstate &)
rpt_value_cstateoperator= (const rpt_value_cstate &)

Private Attributes

project_typp
size_t length
long * list

Detailed Description

The rpt_value_cstate class is used to represent the state of a change.

Definition at line 30 of file cstate.h.


Constructor & Destructor Documentation

virtual rpt_value_cstate::~rpt_value_cstate (  )  [virtual]

The destructor.

rpt_value_cstate::rpt_value_cstate ( project_ty pp,
size_t  length,
const long *  list 
) [private]

The constructor.

Parameters:
pp The project involved
length The length of the next argument
list The address of an array of change numbers (zero encoded)

rpt_value_cstate::rpt_value_cstate (  )  [private]

The default constructor. Do not use.

rpt_value_cstate::rpt_value_cstate ( const rpt_value_cstate  )  [private]

The copy constructor. Do not use.


Member Function Documentation

static rpt_value::pointer rpt_value_cstate::create ( project_ty pp,
size_t  length,
const long *  list 
) [static]

The create class method is used to create new dynamically allocated instances of this class.

Parameters:
pp The project involved
length The length of the next argument
list The address of an array of change numbers (zero encoded)

const char* rpt_value_cstate::name (  )  const [protected, virtual]

The name method is used to obtain the name of the type of the value.

Implements rpt_value.

bool rpt_value_cstate::is_a_struct (  )  const [protected, virtual]

The is_a_struct method may be used to determine whether or not the value is a struct (or associative array). Superficially, this should be simple, but it is complicated by things like deferred project and change states.

Returns:
true of struct-like values, false for everything else

Reimplemented from rpt_value.

rpt_value::pointer rpt_value_cstate::lookup ( const rpt_value::pointer rhs,
bool  lvalue 
) const [protected, virtual]

The lookup method is used to index an associate array, or locate a member within a struct.

Parameters:
rhs The member name, or array index
lvalue The result is to be used of an l-value

Reimplemented from rpt_value.

rpt_value::pointer rpt_value_cstate::keys (  )  const [protected, virtual]

The keys method is used to obtain a list of keys of an associative array.

Reimplemented from rpt_value.

rpt_value::pointer rpt_value_cstate::count (  )  const [protected, virtual]

The count method is used to count the number of elements of an associative array.

Reimplemented from rpt_value.

const char* rpt_value_cstate::type_of (  )  const [protected, virtual]

The type_of method is used to obtain the name of the type of the value. It differs from the name method in that it resolves references and deferred values.

Reimplemented from rpt_value.

rpt_value_cstate& rpt_value_cstate::operator= ( const rpt_value_cstate  )  [private]

The assignment operator. Do not use.


Field Documentation

The pp instance varbale is used to remember the project the changes belong to.

Definition at line 91 of file cstate.h.

size_t rpt_value_cstate::length [private]

The length instance variable is used to remember the number of change numbers in the "list" array.

Definition at line 97 of file cstate.h.

long* rpt_value_cstate::list [private]

The list instance variable is used to remember the base of an array of change numbers.

Definition at line 103 of file cstate.h.


The documentation for this class was generated from the following file:

Generated on Wed Mar 12 23:37:44 2008 for Aegis by  doxygen 1.5.5