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

📄 abstract.h

📁 python s60 1.4.5版本的源代码
💻 H
📖 第 1 页 / 共 3 页
字号:

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

       */

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

       /*
	 Returns the remainder 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_InPlacePower(PyObject *o1, PyObject *o2,
     						 PyObject *o3);

       /*
	 Returns the result of raising o1 to the power of o2, possibly
	 in-place, or null on failure.  This is the equivalent of the Python
	 expression: o1 **= o2, or pow(o1, o2, o3) if o3 is present.

       */

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

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

       */

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

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

       */

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

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

       */

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

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

       */

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

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

       */


/*  Sequence protocol:*/

     DL_IMPORT(int) PySequence_Check(PyObject *o);

       /*
         Return 1 if the object provides sequence protocol, and zero
	 otherwise.  

	 This function always succeeds.

       */

     DL_IMPORT(int) PySequence_Size(PyObject *o);

       /*
         Return the size of sequence object o, or -1 on failure.

       */

       /* For DLL compatibility */
#undef PySequence_Length
     DL_IMPORT(int) PySequence_Length(PyObject *o);
#define PySequence_Length PySequence_Size


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

       /*
	 Return the concatenation of o1 and o2 on success, and NULL on
	 failure.   This is the equivalent of the Python
	 expression: o1+o2.

       */

     DL_IMPORT(PyObject *) PySequence_Repeat(PyObject *o, int count);

       /*
	 Return the result of repeating sequence object o count times,
	 or NULL on failure.  This is the equivalent of the Python
	 expression: o1*count.

       */

     DL_IMPORT(PyObject *) PySequence_GetItem(PyObject *o, int i);

       /*
	 Return the ith element of o, or NULL on failure. This is the
	 equivalent of the Python expression: o[i].
       */

     DL_IMPORT(PyObject *) PySequence_GetSlice(PyObject *o, int i1, int i2);

       /*
	 Return the slice of sequence object o between i1 and i2, or
	 NULL on failure. This is the equivalent of the Python
	 expression: o[i1:i2].

       */

     DL_IMPORT(int) PySequence_SetItem(PyObject *o, int i, PyObject *v);

       /*
	 Assign object v to the ith element of o.  Returns
	 -1 on failure.  This is the equivalent of the Python
	 statement: o[i]=v.

       */

     DL_IMPORT(int) PySequence_DelItem(PyObject *o, int i);

       /*
	 Delete the ith element of object v.  Returns
	 -1 on failure.  This is the equivalent of the Python
	 statement: del o[i].
       */

     DL_IMPORT(int) PySequence_SetSlice(PyObject *o, int i1, int i2,
                                        PyObject *v);

       /*
         Assign the sequence object, v, to the slice in sequence
	 object, o, from i1 to i2.  Returns -1 on failure. This is the
	 equivalent of the Python statement: o[i1:i2]=v.
       */

     DL_IMPORT(int) PySequence_DelSlice(PyObject *o, int i1, int i2);

       /*
	 Delete the slice in sequence object, o, from i1 to i2.
	 Returns -1 on failure. This is the equivalent of the Python
	 statement: del o[i1:i2].
       */

     DL_IMPORT(PyObject *) PySequence_Tuple(PyObject *o);

       /*
	 Returns the sequence, o, as a tuple on success, and NULL on failure.
	 This is equivalent to the Python expression: tuple(o)
       */


     DL_IMPORT(PyObject *) PySequence_List(PyObject *o);
       /*
	 Returns the sequence, o, as a list on success, and NULL on failure.
	 This is equivalent to the Python expression: list(o)
       */

     DL_IMPORT(PyObject *) PySequence_Fast(PyObject *o, const char* m);
       /*
         Returns the sequence, o, as a tuple, unless it's already a
         tuple or list.  Use PySequence_Fast_GET_ITEM to access the
         members of this list, and PySequence_Fast_GET_SIZE to get its length.

         Returns NULL on failure.  If the object does not support iteration,
         raises a TypeError exception with m as the message text.
       */

#define PySequence_Fast_GET_SIZE(o) \
	(PyList_Check(o) ? PyList_GET_SIZE(o) : PyTuple_GET_SIZE(o))
       /*
	 Return the size of o, assuming that o was returned by
         PySequence_Fast and is not NULL.
       */

#define PySequence_Fast_GET_ITEM(o, i)\
     (PyList_Check(o) ? PyList_GET_ITEM(o, i) : PyTuple_GET_ITEM(o, i))
       /*
	 Return the ith element of o, assuming that o was returned by
         PySequence_Fast, and that i is within bounds.
       */

     DL_IMPORT(int) PySequence_Count(PyObject *o, PyObject *value);

       /*
         Return the number of occurrences on value on o, that is,
	 return the number of keys for which o[key]==value.  On
	 failure, return -1.  This is equivalent to the Python
	 expression: o.count(value).
       */

     DL_IMPORT(int) PySequence_Contains(PyObject *seq, PyObject *ob);
       /*
         Return -1 if error; 1 if ob in seq; 0 if ob not in seq.
         Use __contains__ if possible, else _PySequence_IterSearch().
       */

#define PY_ITERSEARCH_COUNT    1
#define PY_ITERSEARCH_INDEX    2
#define PY_ITERSEARCH_CONTAINS 3
     DL_IMPORT(int) _PySequence_IterSearch(PyObject *seq, PyObject *obj,
     		    int operation);
	/*
	  Iterate over seq.  Result depends on the operation:
	  PY_ITERSEARCH_COUNT:  return # of times obj appears in seq; -1 if
	  	error.
	  PY_ITERSEARCH_INDEX:  return 0-based index of first occurence of
	  	obj in seq; set ValueError and return -1 if none found;
	  	also return -1 on error.
	  PY_ITERSEARCH_CONTAINS:  return 1 if obj in seq, else 0; -1 on
	  	error.
	*/

/* For DLL-level backwards compatibility */
#undef PySequence_In
     DL_IMPORT(int) PySequence_In(PyObject *o, PyObject *value);

/* For source-level backwards compatibility */
#define PySequence_In PySequence_Contains

       /*
	 Determine if o contains value.  If an item in o is equal to
	 X, return 1, otherwise return 0.  On error, return -1.  This
	 is equivalent to the Python expression: value in o.
       */

     DL_IMPORT(int) PySequence_Index(PyObject *o, PyObject *value);

       /*
	 Return the first index for which o[i]=value.  On error,
	 return -1.    This is equivalent to the Python
	 expression: o.index(value).
       */

/* In-place versions of some of the above Sequence functions. */

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

       /*
	 Append o2 to o1, in-place when possible. Return the resulting
	 object, which could be o1, or NULL on failure.  This is the
	 equivalent of the Python expression: o1 += o2.

       */

     DL_IMPORT(PyObject *) PySequence_InPlaceRepeat(PyObject *o, int count);

       /*
	 Repeat o1 by count, in-place when possible. Return the resulting
	 object, which could be o1, or NULL on failure.  This is the
	 equivalent of the Python expression: o1 *= count.

       */

/*  Mapping protocol:*/

     DL_IMPORT(int) PyMapping_Check(PyObject *o);

       /*
         Return 1 if the object provides mapping protocol, and zero
	 otherwise.  

	 This function always succeeds.
       */

     DL_IMPORT(int) PyMapping_Size(PyObject *o);

       /*
         Returns the number of keys in object o on success, and -1 on
	 failure.  For objects that do not provide sequence protocol,
	 this is equivalent to the Python expression: len(o).
       */

       /* For DLL compatibility */
#undef PyMapping_Length
     DL_IMPORT(int) PyMapping_Length(PyObject *o);
#define PyMapping_Length PyMapping_Size


     /* implemented as a macro:

     int PyMapping_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].
       */
#define PyMapping_DelItemString(O,K) PyObject_DelItemString((O),(K))

     /* implemented as a macro:

     int PyMapping_DelItem(PyObject *o, PyObject *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].
       */
#define PyMapping_DelItem(O,K) PyObject_DelItem((O),(K))

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

       /*
	 On success, return 1 if the mapping object has the key, key,
	 and 0 otherwise.  This is equivalent to the Python expression:
	 o.has_key(key). 

	 This function always succeeds.
       */

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

       /*
	 Return 1 if the mapping object has the key, key,
	 and 0 otherwise.  This is equivalent to the Python expression:
	 o.has_key(key). 

	 This function always succeeds.

       */

     /* Implemented as macro:

     PyObject *PyMapping_Keys(PyObject *o);

         On success, return a list of the keys in object o.  On
	 failure, return NULL. This is equivalent to the Python
	 expression: o.keys().
       */
#define PyMapping_Keys(O) PyObject_CallMethod(O,"keys",NULL)

     /* Implemented as macro:

     PyObject *PyMapping_Values(PyObject *o);

         On success, return a list of the values in object o.  On
	 failure, return NULL. This is equivalent to the Python
	 expression: o.values().
       */
#define PyMapping_Values(O) PyObject_CallMethod(O,"values",NULL)

     /* Implemented as macro:

     PyObject *PyMapping_Items(PyObject *o);

         On success, return a list of the items in object o, where
	 each item is a tuple containing a key-value pair.  On
	 failure, return NULL. This is equivalent to the Python
	 expression: o.items().

       */
#define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL)

     DL_IMPORT(PyObject *) PyMapping_GetItemString(PyObject *o, char *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) PyMapping_SetItemString(PyObject *o, char *key,
                                            PyObject *value);

       /*
	 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_IsInstance(PyObject *object, PyObject *typeorclass);
      /* isinstance(object, typeorclass) */

DL_IMPORT(int) PyObject_IsSubclass(PyObject *object, PyObject *typeorclass);
      /* issubclass(object, typeorclass) */


#ifdef __cplusplus
}
#endif
#endif /* Py_ABSTRACTOBJECT_H */

⌨️ 快捷键说明

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