IntObj.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:5k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1996-1997 Sun Microsystems, Inc.
  3. '"
  4. '" See the file "license.terms" for information on usage and redistribution
  5. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  6. '" 
  7. '" RCS: @(#) $Id: IntObj.3,v 1.3 2002/02/15 14:28:47 dkf Exp $
  8. '" 
  9. .so man.macros
  10. .TH Tcl_IntObj 3 8.0 Tcl "Tcl Library Procedures"
  11. .BS
  12. .SH NAME
  13. 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
  14. .SH SYNOPSIS
  15. .nf
  16. fB#include <tcl.h>fR
  17. .sp
  18. Tcl_Obj *
  19. fBTcl_NewIntObjfR(fIintValuefR)
  20. .sp
  21. Tcl_Obj *
  22. fBTcl_NewLongObjfR(fIlongValuefR)
  23. .sp
  24. .VS 8.4
  25. Tcl_Obj *
  26. fBTcl_NewWideIntObjfR(fIwideValuefR)
  27. .VE 8.4
  28. .sp
  29. fBTcl_SetIntObjfR(fIobjPtr, intValuefR)
  30. .sp
  31. fBTcl_SetLongObjfR(fIobjPtr, longValuefR)
  32. .sp
  33. .VS 8.4
  34. fBTcl_SetWideIntObjfR(fIobjPtr, wideValuefR)
  35. .VE 8.4
  36. .sp
  37. int
  38. fBTcl_GetIntFromObjfR(fIinterp, objPtr, intPtrfR)
  39. .sp
  40. int
  41. fBTcl_GetLongFromObjfR(fIinterp, objPtr, longPtrfR)
  42. .sp
  43. .VS 8.4
  44. int
  45. fBTcl_GetWideIntFromObjfR(fIinterp, objPtr, widePtrfR)
  46. .VE 8.4
  47. .SH ARGUMENTS
  48. .AS Tcl_WideInt *interp
  49. .AP int intValue in
  50. Integer value used to initialize or set an integer object.
  51. .AP long longValue in
  52. Long integer value used to initialize or set an integer object.
  53. .AP Tcl_WideInt wideValue in
  54. .VS 8.4
  55. Wide integer value (minimum 64-bits wide where supported by the
  56. compiler) used to initialize or set a wide integer object.
  57. .VE 8.4
  58. .AP Tcl_Obj *objPtr in/out
  59. For fBTcl_SetIntObjfR, fBTcl_SetLongObjfR, and
  60. .VS 8.4
  61. fBTcl_SetWideIntObjfR, this points to the object to be converted to
  62. integer type.  For fBTcl_GetIntFromObjfR, fBTcl_GetLongFromObjfR,
  63. and fBTcl_GetWideIntFromObjfR, this refers to the object from which
  64. to get an integer or long integer value; if fIobjPtrfR does not
  65. already point to an integer object (or a wide integer object in the
  66. case of fBTcl_SetWideIntObjfR and fBTcl_GetWideIntFromObjfR,) an
  67. .VE 8.4
  68. attempt will be made to convert it to one.
  69. .AP Tcl_Interp *interp in/out
  70. If an error occurs during conversion,
  71. an error message is left in the interpreter's result object
  72. unless fIinterpfR is NULL.
  73. .AP int *intPtr out
  74. Points to place to store the integer value
  75. obtained by fBTcl_GetIntFromObjfR from fIobjPtrfR.
  76. .AP long *longPtr out
  77. Points to place to store the long integer value
  78. obtained by fBTcl_GetLongFromObjfR from fIobjPtrfR.
  79. .AP Tcl_WideInt *widePtr out
  80. .VS 8.4
  81. Points to place to store the wide integer value
  82. obtained by fBTcl_GetWideIntFromObjfR from fIobjPtrfR.
  83. .VE 8.4
  84. .BE
  85. .SH DESCRIPTION
  86. .PP
  87. These procedures are used to create, modify, and read
  88. integer and wide integer Tcl objects from C code.
  89. fBTcl_NewIntObjfR, fBTcl_NewLongObjfR,
  90. fBTcl_SetIntObjfR, and fBTcl_SetLongObjfR
  91. create a new object of integer type
  92. or modify an existing object to have integer type,
  93. .VS 8.4
  94. and fBTcl_NewWideIntObjfR and fBTcl_SetWideIntObjfR create a new
  95. object of wide integer type or modify an existing object to have wide
  96. integer type. 
  97. .VE 8.4
  98. fBTcl_NewIntObjfR and fBTcl_SetIntObjfR set the object to have the
  99. integer value given by fIintValuefR,
  100. fBTcl_NewLongObjfR and fBTcl_SetLongObjfR
  101. set the object to have the
  102. long integer value given by fIlongValuefR,
  103. .VS 8.4
  104. and fBTcl_NewWideIntObjfR and fBTcl_SetWideIntObjfR set the object
  105. to have the wide integer value given by fIwideValuefR.
  106. fBTcl_NewIntObjfR, fBTcl_NewLongObjfR and fBTcl_NewWideIntObjfR
  107. return a pointer to a newly created object with reference count zero.
  108. These procedures set the object's type to be integer
  109. and assign the integer value to the object's internal representation
  110. fIlongValuefR or fIwideValuefR member (as appropriate).
  111. fBTcl_SetIntObjfR, fBTcl_SetLongObjfR
  112. and fBTcl_SetWideIntObjfR
  113. .VE 8.4
  114. invalidate any old string representation and,
  115. if the object is not already an integer object,
  116. free any old internal representation.
  117. .PP
  118. fBTcl_GetIntFromObjfR and fBTcl_GetLongFromObjfR
  119. attempt to return an integer value from the Tcl object fIobjPtrfR,
  120. .VS 8.4
  121. and fBTcl_GetWideIntFromObjfR attempts to return a wide integer
  122. value from the Tcl object fIobjPtrfR.
  123. If the object is not already an integer object,
  124. or a wide integer object in the case of fBTcl_GetWideIntFromObjfR
  125. .VE 8.4
  126. they will attempt to convert it to one.
  127. If an error occurs during conversion, they return fBTCL_ERRORfR
  128. and leave an error message in the interpreter's result object
  129. unless fIinterpfR is NULL.
  130. Also, if the long integer held in the object's internal representation
  131. fIlongValuefR member can not be represented in a (non-long) integer,
  132. fBTcl_GetIntFromObjfR returns fBTCL_ERRORfR
  133. and leaves an error message in the interpreter's result object
  134. unless fIinterpfR is NULL.
  135. Otherwise, all three procedures return fBTCL_OKfR and
  136. store the integer, long integer value
  137. .VS 8.4
  138. or wide integer in the address given by fIintPtrfR, fIlongPtrfR
  139. and fIwidePtrfR
  140. .VE 8.4
  141. respectively.  If the object is not already an integer or wide integer
  142. object, the conversion will free any old internal representation.
  143. .SH "SEE ALSO"
  144. Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetObjResult
  145. .SH KEYWORDS
  146. integer, integer object, integer type, internal representation, object, object type, string representation