|
ActiveTcl User Guide |
|
Tcl_NewIntObj, Tcl_NewLongObj, Tcl_NewWideIntObj, Tcl_SetIntObj,
Tcl_SetLongObj, Tcl_SetWideIntObj, Tcl_GetIntFromObj,
Tcl_GetLongFromObj, Tcl_GetWideIntFromObj - manipulate Tcl objects
as integers and wide integers
#include <tcl.h>
Tcl_Obj *
Tcl_NewIntObj(intValue)
Tcl_Obj *
Tcl_NewLongObj(longValue)
Tcl_Obj *
Tcl_NewWideIntObj(wideValue)
Tcl_SetIntObj(objPtr, intValue)
Tcl_SetLongObj(objPtr, longValue)
Tcl_SetWideIntObj(objPtr, wideValue)
int
Tcl_GetIntFromObj(interp, objPtr, intPtr)
int
Tcl_GetLongFromObj(interp, objPtr, longPtr)
int
Tcl_GetWideIntFromObj(interp, objPtr, widePtr)
- int intValue (in)
- Integer value used to initialize or set an integer object.
- long longValue (in)
- Long integer value used to initialize or set an integer
object.
- Tcl_WideInt wideValue (in)
- Wide integer value (minimum 64-bits wide where supported by the
compiler) used to initialize or set a wide integer object.
- Tcl_Obj *objPtr (in/out)
- For Tcl_SetIntObj, Tcl_SetLongObj, and
Tcl_SetWideIntObj, this points to the object to be converted
to integer type. For Tcl_GetIntFromObj,
Tcl_GetLongFromObj, and Tcl_GetWideIntFromObj, this
refers to the object from which to get an integer or long integer
value; if objPtr does not already point to an integer object
(or a wide integer object in the case of Tcl_SetWideIntObj
and Tcl_GetWideIntFromObj,) an attempt will be made to
convert it to one.
- Tcl_Interp *interp
(in/out)
- If an error occurs during conversion, an error message is left
in the interpreter's result object unless interp is
NULL.
- int *intPtr (out)
- Points to place to store the integer value obtained by
Tcl_GetIntFromObj from objPtr.
- long *longPtr (out)
- Points to place to store the long integer value obtained by
Tcl_GetLongFromObj from objPtr.
- Tcl_WideInt *widePtr (out)
- Points to place to store the wide integer value obtained by
Tcl_GetWideIntFromObj from objPtr.
These procedures are used to create, modify, and read integer and
wide integer Tcl objects from C code. Tcl_NewIntObj,
Tcl_NewLongObj, Tcl_SetIntObj, and
Tcl_SetLongObj create a new object of integer type or modify
an existing object to have integer type, and
Tcl_NewWideIntObj and Tcl_SetWideIntObj create a new
object of wide integer type or modify an existing object to have
wide integer type. Tcl_NewIntObj and Tcl_SetIntObj
set the object to have the integer value given by intValue,
Tcl_NewLongObj and Tcl_SetLongObj set the object to
have the long integer value given by longValue, and
Tcl_NewWideIntObj and Tcl_SetWideIntObj set the
object to have the wide integer value given by wideValue.
Tcl_NewIntObj, Tcl_NewLongObj and
Tcl_NewWideIntObj return a pointer to a newly created object
with reference count zero. These procedures set the object's type
to be integer and assign the integer value to the object's internal
representation longValue or wideValue member (as
appropriate). Tcl_SetIntObj, Tcl_SetLongObj and
Tcl_SetWideIntObj invalidate any old string representation
and, if the object is not already an integer object, free any old
internal representation.
Tcl_GetIntFromObj and Tcl_GetLongFromObj attempt
to return an integer value from the Tcl object objPtr, and
Tcl_GetWideIntFromObj attempts to return a wide integer
value from the Tcl object objPtr. If the object is not
already an integer object, or a wide integer object in the case of
Tcl_GetWideIntFromObj they will attempt to convert it to
one. If an error occurs during conversion, they return
TCL_ERROR and leave an error message in the interpreter's
result object unless interp is NULL. Also, if the long
integer held in the object's internal representation
longValue member can not be represented in a (non-long)
integer, Tcl_GetIntFromObj returns TCL_ERROR and
leaves an error message in the interpreter's result object unless
interp is NULL. Otherwise, all three procedures return
TCL_OK and store the integer, long integer value or wide
integer in the address given by intPtr, longPtr and
widePtr respectively. If the object is not already an
integer or wide integer object, the conversion will free any old
internal representation.
Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetObjResult
integer, integer object, integer type, internal
representation, object,
object type, string representation
Copyright © 1996-1997 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.