IntObj
Tcl_IntObj(3) Tcl Library Procedures Tcl_IntObj(3)
______________________________________________________________________________
NAME
Tcl_NewIntObj, Tcl_NewLongObj, Tcl_SetIntObj, Tcl_SetLongObj, Tcl_Get-
IntFromObj, Tcl_GetLongFromObj - manipulate Tcl objects as integers
SYNOPSIS
#include <tcl.h>
Tcl_Obj *
Tcl_NewIntObj(intValue)
Tcl_Obj *
Tcl_NewLongObj(longValue)
Tcl_SetIntObj(objPtr, intValue)
Tcl_SetLongObj(objPtr, longValue)
int
Tcl_GetIntFromObj(interp, objPtr, intPtr)
int
Tcl_GetLongFromObj(interp, objPtr, longPtr)
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_Obj *objPtr (in/out) For Tcl_SetIntObj and Tcl_SetLongObj,
this points to the object to be con-
verted to integer type. For Tcl_Get-
IntFromObj and Tcl_GetLongFromObj,
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, 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 inter-
preter'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_Get-
LongFromObj from objPtr.
_________________________________________________________________
DESCRIPTION
These procedures are used to create, modify, and read 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 exist-
ing object to have integer type. Tcl_NewIntObj and Tcl_SetIntObj set
the object to have the integer value given by intValue, while Tcl_New-
LongObj and Tcl_SetLongObj set the object to have the long integer
value given by longValue. Tcl_NewIntObj and Tcl_NewLongObj 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 member.
Tcl_SetIntObj and Tcl_SetLongObj invalidate any old string representa-
tion 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. If the object is not already an
integer object, they will attempt to convert it to one. If an error
occurs during conversion, they return TCL_ERROR and leave an error mes-
sage in the interpreter's result object unless interp is NULL. Also,
if the long integer held in the object's internal representation long-
Value member can not be represented in a (non-long) integer, Tcl_Get-
IntFromObj returns TCL_ERROR and leaves an error message in the inter-
preter's result object unless interp is NULL. Otherwise, both proce-
dures return TCL_OK and store the integer or the long integer value in
the address given by intPtr and longPtr respectively. If the object is
not already an integer object, the conversion will free any old inter-
nal 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)