101 return start == inOtherSlice.start &&
stop == inOtherSlice.stop &&
step == inOtherSlice.step;
113 return !(*
this == inOtherSlice);
146 start += inArraySize;
148 if (
start >
static_cast<int32>(inArraySize - 1))
159 if (
stop >
static_cast<int32>(inArraySize))
218 inOStream << inSlice.
str();
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition: Error.hpp:36
A Class for slicing into NdArrays.
Definition: Slice.hpp:44
int32 step
Definition: Slice.hpp:49
void print() const
Definition: Slice.hpp:131
int32 start
Definition: Slice.hpp:47
void makePositiveAndValidate(uint32 inArraySize)
Definition: Slice.hpp:141
bool operator==(const Slice &inOtherSlice) const noexcept
Definition: Slice.hpp:99
constexpr Slice(int32 inStart, int32 inStop, int32 inStep) noexcept
Definition: Slice.hpp:85
constexpr Slice(int32 inStop) noexcept
Definition: Slice.hpp:61
uint32 numElements(uint32 inArraySize)
Definition: Slice.hpp:196
constexpr Slice(int32 inStart, int32 inStop) noexcept
Definition: Slice.hpp:72
int32 stop
Definition: Slice.hpp:48
friend std::ostream & operator<<(std::ostream &inOStream, const Slice &inSlice)
Definition: Slice.hpp:216
constexpr Slice()=default
std::string str() const
Definition: Slice.hpp:121
bool operator!=(const Slice &inOtherSlice) const noexcept
Definition: Slice.hpp:111
std::string num2str(dtype inNumber)
Definition: num2str.hpp:46
Definition: Coordinate.hpp:45
void swap(NdArray< dtype > &inArray1, NdArray< dtype > &inArray2) noexcept
Definition: swap.hpp:42
std::int32_t int32
Definition: Types.hpp:36
std::uint32_t uint32
Definition: Types.hpp:40