スライスオブジェクト (slice object)
***********************************

PyTypeObject PySlice_Type

   The type object for slice objects.  This is the same as "slice" and
   "types.SliceType".

int PySlice_Check(PyObject *ob)

   *ob* がスライスオブジェクトの場合に真を返します; *ob* は *NULL* で
   あってはなりません。

PyObject* PySlice_New(PyObject *start, PyObject *stop, PyObject *step)
    *Return value: New reference.*

   指定した値から新たなスライスオブジェクトを返します。パラメタ
   *start*, *stop*, および *step* はスライスオブジェクトにおける同名の
   属性として用いられます。これらの値はいずれも *NULL* にでき、対応す
   る値には "None" が使われます。新たなオブジェクトをアロケーションで
   きない場合には *NULL* を返します。

int PySlice_GetIndices(PySliceObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step)

   スライスオブジェクト *slice* における *start*, *stop*, および
   *step* のインデクス値を取得します。このときシーケンスの長さを
   *length* と仮定します。*length* よりも大きなインデクスになるとエラ
   ーとして扱います。

   成功のときには "0" を、エラーのときには例外をセットせずに "-1" を返
   します (ただし、指定インデクスのいずれか一つが "None" ではなく、か
   つ整数に変換できなかった場合を除きます。この場合、 "-1" を返して例
   外をセットします)。

   You probably do not want to use this function.  If you want to use
   slice objects in versions of Python prior to 2.3, you would
   probably do well to incorporate the source of
   "PySlice_GetIndicesEx()", suitably renamed, in the source of your
   extension.

   バージョン 2.5 で変更: This function used an "int" type for
   *length* and an "int *" type for *start*, *stop*, and *step*. This
   might require changes in your code for properly supporting 64-bit
   systems.

int PySlice_GetIndicesEx(PySliceObject *slice, Py_ssize_t length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength)

   "PySlice_GetIndices()" の便利な代替です。  *slice* における、
   *start*,  *stop* および *step* のインデクス値を取得をします。シーケ
   ンスの長さを *length* 、スライスの長さを *slicelength* に格納します
   。境界外のインデクスは通常のスライスと一貫した方法でクリップされま
   す。

   成功のときには "0" を、エラーのときには例外をセットして "-1" を返し
   ます。

   バージョン 2.3 で追加.

   バージョン 2.5 で変更: This function used an "int" type for
   *length* and an "int *" type for *start*, *stop*, *step*, and
   *slicelength*. This might require changes in your code for properly
   supporting 64-bit systems.


Ellipsis Object
***************

PyObject *Py_Ellipsis

   The Python "Ellipsis" object.  This object has no methods.  It
   needs to be treated just like any other object with respect to
   reference counts.  Like "Py_None" it is a singleton object.
