98 return start == inOtherSlice.start &&
stop == inOtherSlice.stop &&
step == inOtherSlice.step;
110 return !(*
this == inOtherSlice);
142 start += inArraySize;
144 if (
start >
static_cast<int32>(inArraySize - 1))
154 if (
stop >
static_cast<int32>(inArraySize))
210 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:127
int32 start
Definition: Slice.hpp:47
void makePositiveAndValidate(uint32 inArraySize)
Definition: Slice.hpp:137
bool operator==(const Slice &inOtherSlice) const noexcept
Definition: Slice.hpp:96
constexpr Slice(int32 inStart, int32 inStop, int32 inStep) noexcept
Definition: Slice.hpp:83
constexpr Slice(int32 inStop) noexcept
Definition: Slice.hpp:61
uint32 numElements(uint32 inArraySize)
Definition: Slice.hpp:188
constexpr Slice(int32 inStart, int32 inStop) noexcept
Definition: Slice.hpp:71
int32 stop
Definition: Slice.hpp:48
friend std::ostream & operator<<(std::ostream &inOStream, const Slice &inSlice)
Definition: Slice.hpp:208
constexpr Slice()=default
std::string str() const
Definition: Slice.hpp:118
bool operator!=(const Slice &inOtherSlice) const noexcept
Definition: Slice.hpp:108
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