⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstract.h

📁 python s60 1.4.5版本的源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
     DL_IMPORT(PyObject *) PyObject_Type(PyObject *o);

       /*
	 On success, returns a type object corresponding to the object
	 type of object o. On failure, returns NULL.  This is
	 equivalent to the Python expression: type(o).
       */

     DL_IMPORT(int) PyObject_Size(PyObject *o);

       /*
         Return the size of object o.  If the object, o, provides
	 both sequence and mapping protocols, the sequence size is
	 returned. On error, -1 is returned.  This is the equivalent
	 to the Python expression: len(o).

       */

       /* For DLL compatibility */
#undef PyObject_Length
     DL_IMPORT(int) PyObject_Length(PyObject *o);
#define PyObject_Length PyObject_Size


     DL_IMPORT(PyObject *) PyObject_GetItem(PyObject *o, PyObject *key);

       /*
	 Return element of o corresponding to the object, key, or NULL
	 on failure. This is the equivalent of the Python expression:
	 o[key].

       */

     DL_IMPORT(int) PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v);

       /*
	 Map the object, key, to the value, v.  Returns
	 -1 on failure.  This is the equivalent of the Python
	 statement: o[key]=v.
       */

     DL_IMPORT(int) PyObject_DelItemString(PyObject *o, char *key);

       /*
         Remove the mapping for object, key, from the object *o.
         Returns -1 on failure.  This is equivalent to
         the Python statement: del o[key].
       */

     DL_IMPORT(int) PyObject_DelItem(PyObject *o, PyObject *key);

       /*
	 Delete the mapping for key from *o.  Returns -1 on failure.
	 This is the equivalent of the Python statement: del o[key].
       */

     DL_IMPORT(int) PyObject_AsCharBuffer(PyObject *obj,
					  const char **buffer,
					  int *buffer_len);

       /* 
	  Takes an arbitrary object which must support the (character,
	  single segment) buffer interface and returns a pointer to a
	  read-only memory location useable as character based input
	  for subsequent processing.

	  0 is returned on success.  buffer and buffer_len are only
	  set in case no error occurrs. Otherwise, -1 is returned and
	  an exception set.

       */

     DL_IMPORT(int) PyObject_CheckReadBuffer(PyObject *obj);

      /*  
	  Checks whether an arbitrary object supports the (character,
	  single segment) buffer interface.  Returns 1 on success, 0
	  on failure.

      */

     DL_IMPORT(int) PyObject_AsReadBuffer(PyObject *obj,
					  const void **buffer,
					  int *buffer_len);

       /* 
	  Same as PyObject_AsCharBuffer() except that this API expects
	  (readable, single segment) buffer interface and returns a
	  pointer to a read-only memory location which can contain
	  arbitrary data.

	  0 is returned on success.  buffer and buffer_len are only
	  set in case no error occurrs.  Otherwise, -1 is returned and
	  an exception set.

       */

     DL_IMPORT(int) PyObject_AsWriteBuffer(PyObject *obj,
					   void **buffer,
					   int *buffer_len);

       /* 
	  Takes an arbitrary object which must support the (writeable,
	  single segment) buffer interface and returns a pointer to a
	  writeable memory location in buffer of size buffer_len.

	  0 is returned on success.  buffer and buffer_len are only
	  set in case no error occurrs. Otherwise, -1 is returned and
	  an exception set.

       */

/* Iterators */

     DL_IMPORT(PyObject *) PyObject_GetIter(PyObject *);
     /* Takes an object and returns an iterator for it.
        This is typically a new iterator but if the argument
	is an iterator, this returns itself. */

#define PyIter_Check(obj) \
    (PyType_HasFeature((obj)->ob_type, Py_TPFLAGS_HAVE_ITER) && \
     (obj)->ob_type->tp_iternext != NULL)

     DL_IMPORT(PyObject *) PyIter_Next(PyObject *);
     /* Takes an iterator object and calls its tp_iternext slot,
	returning the next value.  If the iterator is exhausted,
	this returns NULL without setting an exception.
	NULL with an exception means an error occurred. */

/*  Number Protocol:*/

     DL_IMPORT(int) PyNumber_Check(PyObject *o);

       /*
         Returns 1 if the object, o, provides numeric protocols, and
	 false otherwise. 

	 This function always succeeds.

       */

     DL_IMPORT(PyObject *) PyNumber_Add(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of adding o1 and o2, or null on failure.
	 This is the equivalent of the Python expression: o1+o2.


       */

     DL_IMPORT(PyObject *) PyNumber_Subtract(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of subtracting o2 from o1, or null on
	 failure.  This is the equivalent of the Python expression:
	 o1-o2.

       */

     DL_IMPORT(PyObject *) PyNumber_Multiply(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of multiplying o1 and o2, or null on
	 failure.  This is the equivalent of the Python expression:
	 o1*o2.


       */

     DL_IMPORT(PyObject *) PyNumber_Divide(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of dividing o1 by o2, or null on failure.
	 This is the equivalent of the Python expression: o1/o2.


       */

     DL_IMPORT(PyObject *) PyNumber_FloorDivide(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of dividing o1 by o2 giving an integral result,
	 or null on failure.
	 This is the equivalent of the Python expression: o1//o2.


       */

     DL_IMPORT(PyObject *) PyNumber_TrueDivide(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of dividing o1 by o2 giving a float result,
	 or null on failure.
	 This is the equivalent of the Python expression: o1/o2.


       */

     DL_IMPORT(PyObject *) PyNumber_Remainder(PyObject *o1, PyObject *o2);

       /*
	 Returns the remainder of dividing o1 by o2, or null on
	 failure.  This is the equivalent of the Python expression:
	 o1%o2.


       */

     DL_IMPORT(PyObject *) PyNumber_Divmod(PyObject *o1, PyObject *o2);

       /*
	 See the built-in function divmod.  Returns NULL on failure.
	 This is the equivalent of the Python expression:
	 divmod(o1,o2).


       */

     DL_IMPORT(PyObject *) PyNumber_Power(PyObject *o1, PyObject *o2,
                                          PyObject *o3);

       /*
	 See the built-in function pow.  Returns NULL on failure.
	 This is the equivalent of the Python expression:
	 pow(o1,o2,o3), where o3 is optional.

       */

     DL_IMPORT(PyObject *) PyNumber_Negative(PyObject *o);

       /*
	 Returns the negation of o on success, or null on failure.
	 This is the equivalent of the Python expression: -o.

       */

     DL_IMPORT(PyObject *) PyNumber_Positive(PyObject *o);

       /*
         Returns the (what?) of o on success, or NULL on failure.
	 This is the equivalent of the Python expression: +o.

       */

     DL_IMPORT(PyObject *) PyNumber_Absolute(PyObject *o);

       /*
	 Returns the absolute value of o, or null on failure.  This is
	 the equivalent of the Python expression: abs(o).

       */

     DL_IMPORT(PyObject *) PyNumber_Invert(PyObject *o);

       /*
	 Returns the bitwise negation of o on success, or NULL on
	 failure.  This is the equivalent of the Python expression:
	 ~o.


       */

     DL_IMPORT(PyObject *) PyNumber_Lshift(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of left shifting o1 by o2 on success, or
	 NULL on failure.  This is the equivalent of the Python
	 expression: o1 << o2.


       */

     DL_IMPORT(PyObject *) PyNumber_Rshift(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of right shifting o1 by o2 on success, or
	 NULL on failure.  This is the equivalent of the Python
	 expression: o1 >> o2.

       */

     DL_IMPORT(PyObject *) PyNumber_And(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of bitwise and of o1 and o2 on success, or
	 NULL on failure. This is the equivalent of the Python
	 expression: o1&o2.


       */

     DL_IMPORT(PyObject *) PyNumber_Xor(PyObject *o1, PyObject *o2);

       /*
	 Returns the bitwise exclusive or of o1 by o2 on success, or
	 NULL on failure.  This is the equivalent of the Python
	 expression: o1^o2.


       */

     DL_IMPORT(PyObject *) PyNumber_Or(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of bitwise or or o1 and o2 on success, or
	 NULL on failure.  This is the equivalent of the Python
	 expression: o1|o2.

       */

     /* Implemented elsewhere:

     int PyNumber_Coerce(PyObject **p1, PyObject **p2);

	 This function takes the addresses of two variables of type
	 PyObject*.

	 If the objects pointed to by *p1 and *p2 have the same type,
	 increment their reference count and return 0 (success).
	 If the objects can be converted to a common numeric type,
	 replace *p1 and *p2 by their converted value (with 'new'
	 reference counts), and return 0.
	 If no conversion is possible, or if some other error occurs,
	 return -1 (failure) and don't increment the reference counts.
	 The call PyNumber_Coerce(&o1, &o2) is equivalent to the Python
	 statement o1, o2 = coerce(o1, o2).

       */

     DL_IMPORT(PyObject *) PyNumber_Int(PyObject *o);

       /*
	 Returns the o converted to an integer object on success, or
	 NULL on failure.  This is the equivalent of the Python
	 expression: int(o).

       */

     DL_IMPORT(PyObject *) PyNumber_Long(PyObject *o);

       /*
	 Returns the o converted to a long integer object on success,
	 or NULL on failure.  This is the equivalent of the Python
	 expression: long(o).

       */

     DL_IMPORT(PyObject *) PyNumber_Float(PyObject *o);

       /*
	 Returns the o converted to a float object on success, or NULL
	 on failure.  This is the equivalent of the Python expression:
	 float(o).
       */
	 
/*  In-place variants of (some of) the above number protocol functions */

     DL_IMPORT(PyObject *) PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of adding o2 to o1, possibly in-place, or null
	 on failure.  This is the equivalent of the Python expression:
	 o1 += o2.

       */

     DL_IMPORT(PyObject *) PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of subtracting o2 from o1, possibly in-place or
	 null on failure.  This is the equivalent of the Python expression:
	 o1 -= o2.

       */

     DL_IMPORT(PyObject *) PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of multiplying o1 by o2, possibly in-place, or
	 null on failure.  This is the equivalent of the Python expression:
	 o1 *= o2.

       */

     DL_IMPORT(PyObject *) PyNumber_InPlaceDivide(PyObject *o1, PyObject *o2);

       /*
	 Returns the result of dividing o1 by o2, possibly in-place, or null
	 on failure.  This is the equivalent of the Python expression:
	 o1 /= o2.

       */

     DL_IMPORT(PyObject *) PyNumber_InPlaceFloorDivide(PyObject *o1,
						       PyObject *o2);

       /*
	 Returns the result of dividing o1 by o2 giving an integral result,
	 possibly in-place, or null on failure.
	 This is the equivalent of the Python expression:
	 o1 /= o2.

       */

     DL_IMPORT(PyObject *) PyNumber_InPlaceTrueDivide(PyObject *o1,
						      PyObject *o2);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -