Awkward Array: SliceRange Class Reference

Loading...
Searching...
No Matches
Public Member Functions | List of all members
SliceRange Class Reference

Represents a Python `slice` object (usual syntax: `array[start:stop:step]`). More...

`#include <Slice.h>`

Inheritance diagram for SliceRange:

## Public Member Functions
| SliceRange (int64_t start, int64_t stop, int64_t step)
| Creates a SliceRange from a full set of parameters.
int64_t | start () const
| The inclusive starting position.
int64_t | stop () const
| The exclusive stopping position.
int64_t | step () const
| The step size, which may be negative but must not be zero.
bool | hasstart () const
| Returns `true` if start is not `Slice::none`; `false` otherwise.
bool | hasstop () const
| Returns `true` if stop is not `Slice::none`; `false` otherwise.
const SliceItemPtr | shallow_copy () const override
| Copies this node without copying any associated arrays.
const std::string | tostring () const override
| Returns a string representation of this slice item (single-line custom format).
bool | preserves_type (const Index64 &advanced) const override
| Returns `true` if this slice would preserve an array's slice and therefore should pass on `Content::parameters`.
virtual bool | referentially_equal (const SliceItemPtr &other) const override
| Returns `true` if this slice item has all the same buffers and parameters as `other`; `false` otherwise.
Public Member Functions inherited from SliceItem
virtual | ~SliceItem ()
| Virtual destructor acts as a first non-inline virtual function that determines a specific translation unit in which vtable shall be emitted.
virtual const SliceItemPtr | shallow_copy () const =0
| Copies this node without copying any associated arrays.
virtual const std::string | tostring () const =0
| Returns a string representation of this slice item (single-line custom format).
virtual bool | preserves_type (const Index64 &advanced) const =0
| Returns `true` if this slice would preserve an array's slice and therefore should pass on `Content::parameters`.
virtual bool | referentially_equal (const SliceItemPtr &other) const =0
| Returns `true` if this slice item has all the same buffers and parameters as `other`; `false` otherwise.

## Detailed Description

Represents a Python `slice` object (usual syntax: `array[start:stop:step]`).

## Constructor & Destructor Documentation

## ◆ SliceRange()

SliceRange | ( | int64_t | start,
|  | int64_t | stop,
|  | int64_t | step
| ) |  |

Creates a SliceRange from a full set of parameters.

Parameters

  start | The inclusive starting position.
  stop | The exclusive stopping position.
  step | The step size, which may be negative but must not be zero.

Any start, stop, or step may be `Slice::none`. Appropriate values are derived from an array's `length` the same way they are in Python.

## Member Function Documentation

## ◆ hasstart()

bool hasstart | ( |  | ) | const

Returns `true` if start is not `Slice::none`; `false` otherwise.

## ◆ hasstop()

bool hasstop | ( |  | ) | const

Returns `true` if stop is not `Slice::none`; `false` otherwise.

## ◆ preserves_type()

bool preserves_type | ( | const Index64 & | advanced | ) | const
| overridevirtual

Returns `true` if this slice would preserve an array's slice and therefore should pass on `Content::parameters`.

Parameters

  advanced | The index that is passed through `Content::getitem_next`.

Always `true` for SliceRange.

Implements SliceItem.

## ◆ referentially_equal()

virtual bool referentially_equal | ( | const SliceItemPtr & | other | ) | const
| overridevirtual

Returns `true` if this slice item has all the same buffers and parameters as `other`; `false` otherwise.

Parameters

  other | The slice item to compare this with.

Implements SliceItem.

## ◆ shallow_copy()

const SliceItemPtr shallow_copy | ( |  | ) | const
| overridevirtual

Copies this node without copying any associated arrays.

Implements SliceItem.

## ◆ start()

int64_t start | ( |  | ) | const

The inclusive starting position.

This value may be `Slice::none`; if so, the value used would be derived from an array's `length` the same way they are in Python.

## ◆ step()

int64_t step | ( |  | ) | const

The step size, which may be negative but must not be zero.

This value may be `Slice::none`; if so, the value used would be derived from an array's `length` the same way they are in Python.

## ◆ stop()

int64_t stop | ( |  | ) | const

The exclusive stopping position.

This value may be `Slice::none`; if so, the value used would be derived from an array's `length` the same way they are in Python.

## ◆ tostring()

const std::string tostring | ( |  | ) | const
| overridevirtual

Returns a string representation of this slice item (single-line custom format).

Implements SliceItem.

The documentation for this class was generated from the following file:

- include/awkward/Slice.h