DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

Tcl_NewIntObj(3tcl)




______________________________________________________________________________


NAME

       Tcl_NewIntObj,    Tcl_NewLongObj,   Tcl_NewWideIntObj,   Tcl_SetIntObj,
       Tcl_SetLongObj, Tcl_SetWideIntObj,  Tcl_GetIntFromObj,  Tcl_GetLongFro-
       mObj,  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 *                                                               |
       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 |
                                         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 inte- |
                                         ger 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_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_SetLongObj 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  int-
       Value,  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  repre-
       sentation.

       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 representa-
       tion.


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)

Man(1) output converted with man2html