IntObj.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:5k
- '"
- '" Copyright (c) 1996-1997 Sun Microsystems, Inc.
- '"
- '" See the file "license.terms" for information on usage and redistribution
- '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- '"
- '" RCS: @(#) $Id: IntObj.3,v 1.3 2002/02/15 14:28:47 dkf Exp $
- '"
- .so man.macros
- .TH Tcl_IntObj 3 8.0 Tcl "Tcl Library Procedures"
- .BS
- .SH 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
- .SH SYNOPSIS
- .nf
- fB#include <tcl.h>fR
- .sp
- Tcl_Obj *
- fBTcl_NewIntObjfR(fIintValuefR)
- .sp
- Tcl_Obj *
- fBTcl_NewLongObjfR(fIlongValuefR)
- .sp
- .VS 8.4
- Tcl_Obj *
- fBTcl_NewWideIntObjfR(fIwideValuefR)
- .VE 8.4
- .sp
- fBTcl_SetIntObjfR(fIobjPtr, intValuefR)
- .sp
- fBTcl_SetLongObjfR(fIobjPtr, longValuefR)
- .sp
- .VS 8.4
- fBTcl_SetWideIntObjfR(fIobjPtr, wideValuefR)
- .VE 8.4
- .sp
- int
- fBTcl_GetIntFromObjfR(fIinterp, objPtr, intPtrfR)
- .sp
- int
- fBTcl_GetLongFromObjfR(fIinterp, objPtr, longPtrfR)
- .sp
- .VS 8.4
- int
- fBTcl_GetWideIntFromObjfR(fIinterp, objPtr, widePtrfR)
- .VE 8.4
- .SH ARGUMENTS
- .AS Tcl_WideInt *interp
- .AP int intValue in
- Integer value used to initialize or set an integer object.
- .AP long longValue in
- Long integer value used to initialize or set an integer object.
- .AP Tcl_WideInt wideValue in
- .VS 8.4
- Wide integer value (minimum 64-bits wide where supported by the
- compiler) used to initialize or set a wide integer object.
- .VE 8.4
- .AP Tcl_Obj *objPtr in/out
- For fBTcl_SetIntObjfR, fBTcl_SetLongObjfR, and
- .VS 8.4
- fBTcl_SetWideIntObjfR, this points to the object to be converted to
- integer type. For fBTcl_GetIntFromObjfR, fBTcl_GetLongFromObjfR,
- and fBTcl_GetWideIntFromObjfR, this refers to the object from which
- to get an integer or long integer value; if fIobjPtrfR does not
- already point to an integer object (or a wide integer object in the
- case of fBTcl_SetWideIntObjfR and fBTcl_GetWideIntFromObjfR,) an
- .VE 8.4
- attempt will be made to convert it to one.
- .AP Tcl_Interp *interp in/out
- If an error occurs during conversion,
- an error message is left in the interpreter's result object
- unless fIinterpfR is NULL.
- .AP int *intPtr out
- Points to place to store the integer value
- obtained by fBTcl_GetIntFromObjfR from fIobjPtrfR.
- .AP long *longPtr out
- Points to place to store the long integer value
- obtained by fBTcl_GetLongFromObjfR from fIobjPtrfR.
- .AP Tcl_WideInt *widePtr out
- .VS 8.4
- Points to place to store the wide integer value
- obtained by fBTcl_GetWideIntFromObjfR from fIobjPtrfR.
- .VE 8.4
- .BE
- .SH DESCRIPTION
- .PP
- These procedures are used to create, modify, and read
- integer and wide integer Tcl objects from C code.
- fBTcl_NewIntObjfR, fBTcl_NewLongObjfR,
- fBTcl_SetIntObjfR, and fBTcl_SetLongObjfR
- create a new object of integer type
- or modify an existing object to have integer type,
- .VS 8.4
- and fBTcl_NewWideIntObjfR and fBTcl_SetWideIntObjfR create a new
- object of wide integer type or modify an existing object to have wide
- integer type.
- .VE 8.4
- fBTcl_NewIntObjfR and fBTcl_SetIntObjfR set the object to have the
- integer value given by fIintValuefR,
- fBTcl_NewLongObjfR and fBTcl_SetLongObjfR
- set the object to have the
- long integer value given by fIlongValuefR,
- .VS 8.4
- and fBTcl_NewWideIntObjfR and fBTcl_SetWideIntObjfR set the object
- to have the wide integer value given by fIwideValuefR.
- fBTcl_NewIntObjfR, fBTcl_NewLongObjfR and fBTcl_NewWideIntObjfR
- 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
- fIlongValuefR or fIwideValuefR member (as appropriate).
- fBTcl_SetIntObjfR, fBTcl_SetLongObjfR
- and fBTcl_SetWideIntObjfR
- .VE 8.4
- invalidate any old string representation and,
- if the object is not already an integer object,
- free any old internal representation.
- .PP
- fBTcl_GetIntFromObjfR and fBTcl_GetLongFromObjfR
- attempt to return an integer value from the Tcl object fIobjPtrfR,
- .VS 8.4
- and fBTcl_GetWideIntFromObjfR attempts to return a wide integer
- value from the Tcl object fIobjPtrfR.
- If the object is not already an integer object,
- or a wide integer object in the case of fBTcl_GetWideIntFromObjfR
- .VE 8.4
- they will attempt to convert it to one.
- If an error occurs during conversion, they return fBTCL_ERRORfR
- and leave an error message in the interpreter's result object
- unless fIinterpfR is NULL.
- Also, if the long integer held in the object's internal representation
- fIlongValuefR member can not be represented in a (non-long) integer,
- fBTcl_GetIntFromObjfR returns fBTCL_ERRORfR
- and leaves an error message in the interpreter's result object
- unless fIinterpfR is NULL.
- Otherwise, all three procedures return fBTCL_OKfR and
- store the integer, long integer value
- .VS 8.4
- or wide integer in the address given by fIintPtrfR, fIlongPtrfR
- and fIwidePtrfR
- .VE 8.4
- respectively. If the object is not already an integer or wide integer
- object, the conversion will free any old internal representation.
- .SH "SEE ALSO"
- Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetObjResult
- .SH KEYWORDS
- integer, integer object, integer type, internal representation, object, object type, string representation