Tcl variables can be accessed by means of the tclvar class. For example, if the programmer declares:
tclvar hello("hello"); float floatvar;
then the variable hello can be used just like a normal C variable in expression such as
floatvar=hello*3.4;.
The class allows assignment to and from double and char*
variables, incrementing and decrementing the variables, compound
assignment and accessing array Tcl variables by means of the C array
syntax. The is also a function that tests for the existence of a Tcl
variable.
The complete class definition is given by:
class tclvar
{
public:
/* constructors */
tclvar();
tclvar(char *nm, char* val=NULL);
tclvar(tclvar&);
~tclvar();
/* These four statements allow tclvars to be freely mixed with arithmetic
expressions */
double operator=(double x);
char* operator=(char* x);
operator double ();
operator char* ();
double operator++();
double operator++(int);
double operator--();
double operator--(int);
double operator+=(double x);
double operator-=(double x);
double operator*=(double x);
double operator/=(double x);
tclvar operator=(tclvar x);
/* arrays can be indexed either by integers, or by strings */
tclvar operator[](int index);
tclvar operator[](char* index);
friend int exists(tclvar x);
};