#include <fstate.h>
Public Member Functions | |
virtual | ~rpt_value_fstate () |
Static Public Member Functions | |
static rpt_value::pointer | create (const change::pointer &cp) |
Protected Member Functions | |
const char * | name () const |
bool | is_a_struct () const |
rpt_value::pointer | lookup (const rpt_value::pointer &rhs, bool lval) const |
rpt_value::pointer | keys () const |
rpt_value::pointer | count () const |
rpt_value::pointer | undefer_or_null () const |
const char * | type_of () const |
Private Member Functions | |
rpt_value_fstate (const change::pointer &cp) | |
void | convert () const |
rpt_value_fstate () | |
rpt_value_fstate (const rpt_value_fstate &) | |
rpt_value_fstate & | operator= (const rpt_value_fstate &) |
Private Attributes | |
change::pointer | cp |
rpt_value::pointer | converted |
Definition at line 30 of file fstate.h.
virtual rpt_value_fstate::~rpt_value_fstate | ( | ) | [virtual] |
The destructor.
rpt_value_fstate::rpt_value_fstate | ( | const change::pointer & | cp | ) | [private] |
The constructor. It is private on purpose, use the "create" class method instead.
cp | The change of interest. |
rpt_value_fstate::rpt_value_fstate | ( | ) | [private] |
The default constructor. Do not use.
rpt_value_fstate::rpt_value_fstate | ( | const rpt_value_fstate & | ) | [private] |
The copy constructor. Do not use.
static rpt_value::pointer rpt_value_fstate::create | ( | const change::pointer & | cp | ) | [static] |
The create class method is used to create new dynamically allocated instances of this class.
cp | The change of interest. |
const char* rpt_value_fstate::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_fstate::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.
Reimplemented from rpt_value.
rpt_value::pointer rpt_value_fstate::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.
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_fstate::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_fstate::count | ( | ) | const [protected, virtual] |
The count method is used to count the number of elements of an associative array.
Reimplemented from rpt_value.
rpt_value::pointer rpt_value_fstate::undefer_or_null | ( | ) | const [protected, virtual] |
The undefer_or_null method is used to evaluate a deferred value, if necessary, or return NULL if it is not possible or not necessary. This NULL is used by the undefer class method to return the unchanged value if no conversion is possible.
Reimplemented from rpt_value.
const char* rpt_value_fstate::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.
void rpt_value_fstate::convert | ( | ) | const [private] |
The convert method is used to convert the fstate data into a rpt_value_* tree value.
rpt_value_fstate& rpt_value_fstate::operator= | ( | const rpt_value_fstate & | ) | [private] |
The assignment operator. Do not use.
change::pointer rpt_value_fstate::cp [private] |
rpt_value::pointer rpt_value_fstate::converted [mutable, private] |