Provided by: tcl8.4-doc_8.4.20-7_all bug

NAME

       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

SYNOPSIS

       #include <tcl.h>

       Tcl_Obj *
       Tcl_NewIntObj(intValue)

       Tcl_Obj *
       Tcl_NewLongObj(longValue)

       Tcl_Obj *                                                                                                 2
       Tcl_NewWideIntObj(wideValue)                                                                              2

       Tcl_SetIntObj(objPtr, intValue)

       Tcl_SetLongObj(objPtr, longValue)

       Tcl_SetWideIntObj(objPtr, wideValue)                                                                      2

       int
       Tcl_GetIntFromObj(interp, objPtr, intPtr)

       int
       Tcl_GetLongFromObj(interp, objPtr, longPtr)

       int                                                                                                       2
       Tcl_GetWideIntFromObj(interp, objPtr, widePtr)                                                            2

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 2
                                         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 2
                                         to  the object to be converted to integer type.  For Tcl_GetIntFromObj, 2
                                         Tcl_GetLongFromObj,  and  Tcl_GetWideIntFromObj,  this  refers  to  the 2
                                         object  from  which  to get an integer or long integer value; if objPtr 2
                                         does not already point to an integer object (or a wide  integer  object 2
                                         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 2
                                         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 2
       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 2
       and  Tcl_SetWideIntObj  set the object to have the wide integer value given by wideValue.  Tcl_NewIntObj, 2
       Tcl_NewLongObj and Tcl_NewWideIntObj return a pointer to a newly  created  object  with  reference  count 2
       zero.   These procedures set the object's type to be integer and assign the integer value to the object's 2
       internal representation longValue or wideValue member (as  appropriate).   Tcl_SetIntObj,  Tcl_SetLongObj 2
       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, 2
       and  Tcl_GetWideIntFromObj  attempts  to  return a wide integer value from the Tcl object objPtr.  If the 2
       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 2
       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(3tcl)