29 #include "../error/exceptions.hpp"
113 explicit slice(
const std::initializer_list<size_t> &l);
132 explicit slice(
size_t index);
168 std::ostream &
operator<<(std::ostream &o,
const slice &s);
170 bool operator==(
const slice &lhs,
const slice &rhs);
172 bool operator!=(
const slice &lhs,
const slice &rhs);
186 size_t size(
const slice &s);
202 size_t span(
const slice &s);
size_t first() const
return the first element
Definition: slice.hpp:148
slice()
default constructor
Definition: slice.hpp:81
void _check_stride(const exception_record &o) const
check stride
exception record
Definition: exceptions.hpp:90
slice & operator=(const slice &s)
copy assignment operator
bool operator==(const array_view< ATYPE > &a, const array_view< ATYPE > &b)
compare two array views
Definition: array_view.hpp:862
size_t last() const
return last element
Definition: slice.hpp:156
void _check_start_stop(const exception_record &o) const
check first and last index
Definition: add_op.hpp:29
~slice()
destructor
Definition: slice.hpp:136
bool operator!=(const array_view< ATYPE > &a, const array_view< ATYPE > &b)
compare two array views
Definition: array_view.hpp:885
size_t span(const slice &s)
compute total elements spanned
size_t _stride
distance between indices
Definition: slice.hpp:54
index slice
Definition: slice.hpp:49
std::ostream & operator<<(std::ostream &stream, const array_view< ATYPE > &v)
output operator for view
Definition: array_view.hpp:903
size_t _first
first index in the slice
Definition: slice.hpp:52
size_t size(const slice &s)
compute slice size
size_t stride() const
return stride
Definition: slice.hpp:164
size_t _last
last index in the slice
Definition: slice.hpp:53