Types
ToNimSliceState = enum tnssInvalidStep = -1, ## step is not 1 or -1 tnssOk, tnssOverflow ## overflow in start, stop or step
- Source Edit
Procs
proc indices(slice: PySliceObject; size: int): Indices[int] {....raises: [], tags: [RootEffect, WriteIOEffect], forbids: [].}
-
PySlice_Unpack and adjust_slice_indexes
result is clamped, as CPython does.
Source Edit proc indices(slice: PySliceObject; size: PyIntObject | int; res: var Indices[int]): bool
- returns false on overflow Source Edit
proc indices(slice: PySliceObject; size: PyIntObject): Indices[PyIntObject] {. ...raises: [], tags: [RootEffect], forbids: [].}
- Source Edit
proc indicesPySliceObjectMethod(selfNoCast: PyObject; args: openArray[PyObject] = @[]; kwargs: PyKwArgType = nil): PyObject {.cdecl, ...raises: [], tags: [RootEffect], forbids: [].}
- Source Edit
proc newPySliceObjectMagic(args: openArray[PyObject] = @[]; kwargs: PyKwArgType = nil): PyObject {.cdecl, ...raises: [], tags: [RootEffect], forbids: [].}
- Source Edit
proc reprPySliceObjectMagic(selfNoCast: PyObject): PyObject {.cdecl, ...raises: [], tags: [RootEffect], forbids: [].}
- Source Edit
proc startAsInt[I: PyIntObject | int](slice: PySliceObject; size: I): I
- Source Edit
proc stepAsInt(slice: PySliceObject): int {....raises: [], tags: [RootEffect, WriteIOEffect], forbids: [].}
- Source Edit
proc stepAsLong(slice: PySliceObject): PyIntObject {....raises: [], tags: [], forbids: [].}
- Source Edit
proc stopAsInt[I: PyIntObject | int](slice: PySliceObject; size: I): I
- Source Edit
proc toNimSlice(slice: PySliceObject; size: PyIntObject | int; res: var Slice[int]): ToNimSliceState
- Source Edit
proc toNimSlice(tup: Indices[int]; size: int; res: var Slice[int]): bool {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc toNimSlice(tup: Indices[PyIntObject]; size: PyIntObject | int; res: var Slice[int]): ToNimSliceState
- Source Edit
Methods
method `$`(self: PySliceObject): string {....raises: [], tags: [RootEffect], forbids: [].}
- Source Edit
Exports
-
$, ofExactPySliceObject, ofPyEllipsisObject, calLenOrRetOF, pyEllipsisObjectType, newPyEllipsisObjectMagic, ofExactPyEllipsisObject, newPySlice, getSliceItems, newPyEllipsisSimple, pySliceObjectType, calLen, pyEllipsis, PySliceObject, PyEllipsisObject, reprPyEllipsisObjectMagic, ofPySliceObject, newPySliceSimple