template<class T, size_t N, bool Reverse = false, bool Const = true>
class ArraySlice< T, N, Reverse, Const >
Class for a view on a slice of an array.
Doesn't copy the contents of the array, it's just a reference to the original array.
- Template Parameters
-
T | The type of elements of the Array. |
N | The size of the slice. |
Reverse | Whether the slice is reversed or not. |
Const | Whether to save a read-only or mutable reference to the Array. |
Definition at line 164 of file Array.hpp.
|
(Note that these are not member functions.)
|
template<class T , size_t N, bool Reverse, bool Const> |
ArraySlice< T, N, Reverse, Const >::iterator | operator+ (typename ArraySlice< T, N, Reverse, Const >::iterator::difference_type n, typename ArraySlice< T, N, Reverse, Const >::iterator a) |
| <T, N, Reverse, Const>::iterator More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2> |
bool | operator== (ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b) |
| Slice == Slice. More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse2, bool Const2> |
bool | operator== (const Array< T1, N1 > &a, ArraySlice< T2, N2, Reverse2, Const2 > b) |
| Array == Slice. More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Const1> |
bool | operator== (ArraySlice< T1, N1, Reverse1, Const1 > a, const Array< T2, N2 > &b) |
| Slice == Array. More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2> |
bool | operator!= (ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b) |
| Slice != Slice. More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse2, bool Const2> |
bool | operator!= (const Array< T1, N1 > &a, ArraySlice< T2, N2, Reverse2, Const2 > b) |
| Array != Slice. More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Const1> |
bool | operator!= (ArraySlice< T1, N1, Reverse1, Const1 > a, const Array< T2, N2 > &b) |
| Slice != Array. More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2> |
Array< decltype(T1 {}+T2 {}), N1 > | operator+ (ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b) |
| Slice + Slice. More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2> |
const ArraySlice< T1, N1, Reverse1, Const1 > & | operator+= (const ArraySlice< T1, N1, Reverse1, Const1 > &a, const ArraySlice< T2, N2, Reverse2, Const2 > &b) |
| Slice += Slice. More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2> |
Array< decltype(T1 {} - T2 {}), N1 > | operator- (ArraySlice< T1, N1, Reverse1, Const1 > a, ArraySlice< T2, N2, Reverse2, Const2 > b) |
| Slice - Slice. More...
|
|
template<class T1 , class T2 , size_t N1, size_t N2, bool Reverse1, bool Reverse2, bool Const1, bool Const2> |
const ArraySlice< T1, N1, Reverse1, Const1 > & | operator-= (const ArraySlice< T1, N1, Reverse1, Const1 > &a, const ArraySlice< T2, N2, Reverse2, Const2 > &b) |
| Slice -= Slice. More...
|
|
template<class T1 , class T2 , size_t N1, bool Reverse1, bool Const1> |
Array< decltype(T1 {} *T2 {}), N1 > | operator* (ArraySlice< T1, N1, Reverse1, Const1 > a, T2 b) |
| Slice * Scalar. More...
|
|
template<class T1 , class T2 , size_t N2, bool Reverse2, bool Const2> |
Array< decltype(T1 {} *T2 {}), N2 > | operator* (T1 a, ArraySlice< T2, N2, Reverse2, Const2 > b) |
| Scalar * Slice. More...
|
|
template<class T1 , class T2 , size_t N1, bool Reverse1, bool Const1> |
const ArraySlice< T1, N1, Reverse1, Const1 > & | operator*= (const ArraySlice< T1, N1, Reverse1, Const1 > &a, T2 b) |
| Slice *= Scalar. More...
|
|
template<class T1 , class T2 , size_t N1, bool Reverse1, bool Const1> |
Array< decltype(T1 {}/T2 {}), N1 > | operator/ (ArraySlice< T1, N1, Reverse1, Const1 > a, T2 b) |
| Slice / Scalar. More...
|
|
template<class T1 , class T2 , size_t N1, bool Reverse1, bool Const1> |
const ArraySlice< T1, N1, Reverse1, Const1 > & | operator/= (const ArraySlice< T1, N1, Reverse1, Const1 > &a, T2 b) |
| Slice /= Scalar. More...
|
|
template<class T , size_t N, bool Reverse, bool Const> |
Array< decltype(-T {}), N > | operator- (ArraySlice< T, N, Reverse, Const > a) |
| -Slice More...
|
|