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.