|
Tcl_IntObj(3) Tcl Library Procedures Tcl_IntObj(3)
_________________________________________________________________________________________________
NAME
Tcl_NewIntObj, Tcl_NewLongObj, Tcl_NewWideIntObj, Tcl_SetIntObj, Tcl_SetLongObj,
Tcl_SetWideIntObj, Tcl_GetIntFromObj, Tcl_GetLongFromObj, Tcl_GetWideIntFromObj - manipu-
late Tcl objects as integers and wide integers
SYNOPSIS
#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) |
ARGUMENTS
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 inte- |
ger object.
Tcl_Obj *objPtr (in/out) For Tcl_SetIntObj, Tcl_SetLongObj, and Tcl_SetWideIn- |
tObj, this points to the object to be converted to inte- |
ger 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 con-
vert 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.
_________________________________________________________________
DESCRIPTION
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 wide- |
Value member (as appropriate). Tcl_SetIntObj, Tcl_SetLongObj and Tcl_SetWideIntObj inval-
idate 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 inter-
preter'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.
SEE ALSO
Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetObjResult
KEYWORDS
integer, integer object, integer type, internal representation, object, object type,
string representation
Tcl 8.0 Tcl_IntObj(3) |
|