tcl_intobj(3)

NAME

Tcl_NewIntObj, Tcl_NewLongObj, Tcl_NewWideIntObj, Tcl_Set
IntObj, Tcl_SetLongObj, Tcl_SetWideIntObj, Tcl_GetIntFro
mObj, 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 (min
imum 64-bits wide where
supported by the com
piler) used to initial
ize or set a wide inte
ger 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_GetInt FromObj, Tcl_GetLongFro mObj, and
Tcl_GetWideIntFromObj, this refers to the
object from which to get
an integer or long inte
ger 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 dur
ing 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_GetInt FromObj from objPtr.
long *longPtr (out) Points to place to store
the long integer value
obtained by Tcl_Get LongFromObj 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_Set LongObj create a new object of integer type or modify an existing object to have integer type, and Tcl_NewWideIn tObj 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 inte
ger and assign the integer value to the object's internal
representation longValue or wideValue member (as appropri ate). 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 inter preter's result object unless interp is NULL. Also, if the long integer held in the object's internal representa
tion longValue member can not be represented in a (nonlong) 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.

SEE ALSO

Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetOb
jResult

KEYWORDS

integer, integer object, integer type, internal represen
tation, object, object type, string representation
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout