Marray
|
Array-Interface to an interval of memory. More...
#include <marray.hxx>
Public Types | |
typedef T | value_type |
typedef marray_detail::IfBool < isConst, const T *, T * > ::type | pointer |
typedef const T * | const_pointer |
typedef marray_detail::IfBool < isConst, const T &, T & > ::type | reference |
typedef const T & | const_reference |
typedef Iterator< T, isConst, A > | iterator |
typedef Iterator< T, true, A > | const_iterator |
typedef std::reverse_iterator < iterator > | reverse_iterator |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
typedef ViewExpression< View < T, isConst, A >, T > | base |
typedef A::template rebind < value_type >::other | allocator_type |
![]() | |
typedef View< T, isConst, A > | expression_type |
typedef T | value_type |
Public Member Functions | |
View (const allocator_type &=allocator_type()) | |
Empty constructor. | |
View (pointer, const allocator_type &=allocator_type()) | |
Construct View from a scalar. | |
View (const View< T, false, A > &) | |
Construct View from a View on mutable data. | |
template<class ShapeIterator > | |
View (ShapeIterator, ShapeIterator, pointer, const CoordinateOrder &=defaultOrder, const CoordinateOrder &=defaultOrder, const allocator_type &=allocator_type()) | |
Construct unstrided View. | |
template<class ShapeIterator , class StrideIterator > | |
View (ShapeIterator, ShapeIterator, StrideIterator, pointer, const CoordinateOrder &, const allocator_type &=allocator_type()) | |
Construct strided View. | |
View< T, isConst, A > & | operator= (const T &) |
Assignment. | |
View< T, isConst, A > & | operator= (const View< T, true, A > &) |
Assignment. | |
View< T, isConst, A > & | operator= (const View< T, false, A > &) |
Assignment. | |
template<class TLocal , bool isConstLocal, class ALocal > | |
View< T, isConst, A > & | operator= (const View< TLocal, isConstLocal, ALocal > &) |
Assignment. | |
template<class E , class Te > | |
View< T, isConst, A > & | operator= (const ViewExpression< E, Te > &) |
void | assign (const allocator_type &=allocator_type()) |
Clear View. | |
template<class ShapeIterator > | |
void | assign (ShapeIterator, ShapeIterator, pointer, const CoordinateOrder &=defaultOrder, const CoordinateOrder &=defaultOrder, const allocator_type &=allocator_type()) |
Initialize unstrided View. | |
template<class ShapeIterator , class StrideIterator > | |
void | assign (ShapeIterator, ShapeIterator, StrideIterator, pointer, const CoordinateOrder &, const allocator_type &=allocator_type()) |
Initialize strided View. | |
const std::size_t | dimension () const |
Get the dimension. | |
const std::size_t | size () const |
Get the number of data items. | |
const std::size_t | shape (const std::size_t) const |
Get the shape in one dimension. | |
const std::size_t * | shapeBegin () const |
Get a constant iterator to the beginning of the shape vector. | |
const std::size_t * | shapeEnd () const |
Get a constant iterator to the end of the shape vector. | |
const std::size_t | strides (const std::size_t) const |
Get the strides in one dimension. | |
const std::size_t * | stridesBegin () const |
Get a constant iterator to the beginning of the strides vector. | |
const std::size_t * | stridesEnd () const |
Get a constant iterator to the end of the strides vector. | |
const CoordinateOrder & | coordinateOrder () const |
Get the coordinate order used for scalar indexing and iterators. | |
const bool | isSimple () const |
Determine whether the shape strides equal the strides of the View. | |
template<class TLocal , bool isConstLocal, class ALocal > | |
bool | overlaps (const View< TLocal, isConstLocal, ALocal > &) const |
Check whether two Views overlap. | |
template<class U > | |
reference | operator() (U) |
Reference data. | |
template<class U > | |
reference | operator() (U) const |
Reference data. | |
reference | operator() (const std::size_t, const std::size_t) |
Reference data in a 2-dimensional View by coordinates. | |
reference | operator() (const std::size_t, const std::size_t) const |
Reference data in a 2-dimensional View by coordinates. | |
reference | operator() (const std::size_t, const std::size_t, const std::size_t) |
Reference data in a 3-dimensional View by coordinates. | |
reference | operator() (const std::size_t, const std::size_t, const std::size_t) const |
Reference data in a 3-dimensional View by coordinates. | |
reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t) |
Reference data in a 4-dimensional View by coordinates. | |
reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t) const |
Reference data in a 4-dimensional View by coordinates. | |
reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t) |
Reference data in a 5-dimensional View by coordinates. | |
reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t) const |
Reference data in a 5-dimensional View by coordinates. | |
reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t) |
Reference data in a 10-dimensional View by coordinates. | |
reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t) const |
Reference data in a 10-dimensional View by coordinates. | |
template<class BaseIterator , class ShapeIterator > | |
void | view (BaseIterator, ShapeIterator, View< T, isConst, A > &) const |
Get a sub-view with the same coordinate order. | |
template<class BaseIterator , class ShapeIterator > | |
void | view (BaseIterator, ShapeIterator, const CoordinateOrder &, View< T, isConst, A > &) const |
Get a sub-view. | |
template<class BaseIterator , class ShapeIterator > | |
View< T, isConst, A > | view (BaseIterator, ShapeIterator) const |
Get a sub-view with the same coordinate order. | |
template<class BaseIterator , class ShapeIterator > | |
View< T, isConst, A > | view (BaseIterator, ShapeIterator, const CoordinateOrder &) const |
Get a sub-view. | |
template<class BaseIterator , class ShapeIterator > | |
void | constView (BaseIterator, ShapeIterator, View< T, true, A > &) const |
Get a sub-view to constant data with the same coordinate order. | |
template<class BaseIterator , class ShapeIterator > | |
void | constView (BaseIterator, ShapeIterator, const CoordinateOrder &, View< T, true, A > &) const |
Get a sub-view to constant data. | |
template<class BaseIterator , class ShapeIterator > | |
View< T, true, A > | constView (BaseIterator, ShapeIterator) const |
Get a sub-view to constant data with the same coordinate order. | |
template<class BaseIterator , class ShapeIterator > | |
View< T, true, A > | constView (BaseIterator, ShapeIterator, const CoordinateOrder &) const |
Get a sub-view to constant data. | |
iterator | begin () |
Get an iterator to the beginning. | |
iterator | end () |
Get the end-iterator. | |
const_iterator | begin () const |
Get an iterator to the beginning. | |
const_iterator | end () const |
Get the end-iterator. | |
reverse_iterator | rbegin () |
Get a reserve iterator to the beginning. | |
reverse_iterator | rend () |
Get the reverse end-iterator. | |
const_reverse_iterator | rbegin () const |
Get a reserve iterator to the beginning. | |
const_reverse_iterator | rend () const |
Get the reverse end-iterator. | |
template<class ShapeIterator > | |
void | reshape (ShapeIterator, ShapeIterator) |
Reshape the View. | |
template<class CoordinateIterator > | |
void | permute (CoordinateIterator) |
Permute dimensions. | |
void | transpose (const std::size_t, const std::size_t) |
Exchange two dimensions. | |
void | transpose () |
Reverse dimensions. | |
void | shift (const int) |
Cycle shift dimensions. | |
void | squeeze () |
Remove singleton dimensions by setting their coordinates to zero. | |
template<class ShapeIterator > | |
View< T, isConst, A > | reshapedView (ShapeIterator, ShapeIterator) const |
Get a reshaped View. | |
template<class CoordinateIterator > | |
View< T, isConst, A > | permutedView (CoordinateIterator) const |
Get a View with permuted dimensions. | |
View< T, isConst, A > | transposedView (const std::size_t, const std::size_t) const |
Get a View with two dimensions exchanged. | |
View< T, isConst, A > | transposedView () const |
Get a View with dimensions reversed. | |
View< T, isConst, A > | shiftedView (const int) const |
Get a View which dimensions cycle shifted. | |
View< T, isConst, A > | boundView (const std::size_t, const std::size_t=0) const |
Get a View where one coordinate is bound to a value. | |
View< T, isConst, A > | squeezedView () const |
Get a View where all singleton dimensions have been removed by setting their coordinates to zero. | |
template<class CoordinateIterator > | |
void | coordinatesToIndex (CoordinateIterator, std::size_t &) const |
Compute the index that corresponds to a sequence of coordinates. | |
template<class CoordinateIterator > | |
void | coordinatesToOffset (CoordinateIterator, std::size_t &) const |
Compute the offset that corresponds to a sequence of coordinates. | |
template<class CoordinateIterator > | |
void | indexToCoordinates (std::size_t, CoordinateIterator) const |
Compute the coordinate sequence that corresponds to an index. | |
void | indexToOffset (std::size_t, std::size_t &) const |
Compute the offset that corresponds to an index. | |
std::string | asString (const StringStyle &=MatrixStyle) const |
Output as string. | |
![]() | |
bool | overlaps (const View< Tv, isConst, A > &v) const |
const T & | operator() (Accessor it) const |
const T & | operator[] (const std::size_t offset) const |
operator View< T, isConst, A > & () | |
operator View< T, isConst, A >const & () const |
Friends | |
class | View |
class | Marray |
Array-Interface to an interval of memory.
A view makes a subset of memory look as if it was stored in an Marray. With the help of a view, data in a subset of memory can be accessed and manipulated conveniently. In contrast to arrays which allocate and de-allocate their own memory, views only reference memory that has been allocated by other means. Perhaps the simplest and most important use of views is to read and manipulate sub-arrays.
Notes on arithmetic operators of View:
Definition at line 209 of file marray.hxx.
typedef A::template rebind<value_type>::other andres::View< T, isConst, A >::allocator_type |
Definition at line 223 of file marray.hxx.
typedef ViewExpression<View<T, isConst, A>, T> andres::View< T, isConst, A >::base |
Definition at line 222 of file marray.hxx.
typedef Iterator<T, true, A> andres::View< T, isConst, A >::const_iterator |
Definition at line 219 of file marray.hxx.
typedef const T* andres::View< T, isConst, A >::const_pointer |
Definition at line 215 of file marray.hxx.
typedef const T& andres::View< T, isConst, A >::const_reference |
Definition at line 217 of file marray.hxx.
typedef std::reverse_iterator<const_iterator> andres::View< T, isConst, A >::const_reverse_iterator |
Definition at line 221 of file marray.hxx.
typedef Iterator<T, isConst, A> andres::View< T, isConst, A >::iterator |
Definition at line 218 of file marray.hxx.
typedef marray_detail::IfBool<isConst, const T*, T*>::type andres::View< T, isConst, A >::pointer |
Definition at line 214 of file marray.hxx.
typedef marray_detail::IfBool<isConst, const T&, T&>::type andres::View< T, isConst, A >::reference |
Definition at line 216 of file marray.hxx.
typedef std::reverse_iterator<iterator> andres::View< T, isConst, A >::reverse_iterator |
Definition at line 220 of file marray.hxx.
typedef T andres::View< T, isConst, A >::value_type |
Definition at line 213 of file marray.hxx.
|
inline |
Empty constructor.
The empty constructor sets the data pointer to 0. It does not allocate memory for a scalar.
allocator | Allocator. |
Definition at line 802 of file marray.hxx.
|
inline |
Construct View from a scalar.
data | Pointer to data. |
allocator | Allocator. |
Definition at line 833 of file marray.hxx.
|
inline |
Construct View from a View on mutable data.
in | View on mutable data. |
Definition at line 850 of file marray.hxx.
|
inline |
Construct unstrided View.
begin | Iterator to the beginning of a sequence that defines the shape. |
end | Iterator to the end of this sequence. |
data | Pointer to data. |
externalCoordinateOrder | Flag specifying the order of coordinates based on which the strides are computed. |
internalCoordinateOrder | Flag specifying the order of coordinates used for scalar indexing and iterators. |
allocator | Allocator. |
Definition at line 876 of file marray.hxx.
|
inline |
Construct strided View.
begin | Iterator to the beginning of a sequence that defines the shape. |
end | Iterator to the end of this sequence. |
it | Iterator to the beginning of a sequence that defines the strides. |
data | Pointer to data. |
internalCoordinateOrder | Flag specifying the order of coordinates used for scalar indexing and iterators. |
allocator | Allocator. |
Definition at line 907 of file marray.hxx.
|
inline |
Clear View.
Leaves the View in the same state as if the empty constructor had been called.
Reimplemented in andres::Marray< T, A >.
Definition at line 985 of file marray.hxx.
|
inline |
Initialize unstrided View.
begin | Iterator to the beginning of a sequence that defines the shape. |
end | Iterator to the end of this sequence. |
data | Pointer to data. |
externalCoordinateOrder | Flag specifying the order of coordinates based on which the strides are computed. |
internalCoordinateOrder | Flag specifying the order of coordinates used for scalar indexing and iterators. |
allocator | Allocator. |
Definition at line 1010 of file marray.hxx.
|
inline |
Initialize strided View.
begin | Iterator to the beginning of a sequence that defines the shape. |
end | Iterator to the end of this sequence. |
it | Iterator to the beginning of a sequence that defines the strides. |
data | Pointer to data. |
internalCoordinateOrder | Flag specifying the order of coordinates used for scalar indexing and iterators. |
allocator | Allocator. |
Definition at line 1044 of file marray.hxx.
std::string andres::View< T, isConst, A >::asString | ( | const StringStyle & | style = MatrixStyle | ) | const |
Output as string.
Definition at line 2840 of file marray.hxx.
|
inline |
Get an iterator to the beginning.
Definition at line 2594 of file marray.hxx.
|
inline |
Get an iterator to the beginning.
Definition at line 2620 of file marray.hxx.
View< T, isConst, A > andres::View< T, isConst, A >::boundView | ( | const std::size_t | dimension, |
const std::size_t | value = 0 |
||
) | const |
Get a View where one coordinate is bound to a value.
Binds one coordinate to a certain value. This reduces the dimension by 1.
dimension | Dimension of the coordinate to bind. |
value | Value to assign to the coordinate. |
Definition at line 2255 of file marray.hxx.
|
inline |
Get a sub-view to constant data with the same coordinate order.
bit | Iterator to the beginning of a coordinate sequence that determines the start position of the sub-view. |
sit | Iterator to the beginning of a sequence that determines the shape of the sub-view. |
out | Sub-View (output). |
Definition at line 1964 of file marray.hxx.
|
inline |
Get a sub-view to constant data.
bit | Iterator to the beginning of a coordinate sequence that determines the start position of the sub-view. |
sit | Iterator to the beginning of a sequence that determines the shape of the sub-view. |
internalCoordinateOrder | Flag to set the coordinate order for scalar indexing and iterators of the sub-view. |
out | Sub-View (output). |
Definition at line 1987 of file marray.hxx.
|
inline |
Get a sub-view to constant data with the same coordinate order.
bit | Iterator to the beginning of a coordinate sequence that determines the start position of the sub-view. |
sit | Iterator to the beginning of a sequence that determines the shape of the sub-view. |
Definition at line 2016 of file marray.hxx.
|
inline |
Get a sub-view to constant data.
bit | Iterator to the beginning of a coordinate sequence that determines the start position of the sub-view. |
sit | Iterator to the beginning of a sequence that determines the shape of the sub-view. |
internalCoordinateOrder | Flag to set the coordinate order for scalar indexing and iterators of the sub-view. |
Definition at line 2040 of file marray.hxx.
|
inline |
Get the coordinate order used for scalar indexing and iterators.
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1695 of file marray.hxx.
|
inline |
Compute the index that corresponds to a sequence of coordinates.
it | An iterator to the beginning of the coordinate sequence. |
out | Index (output) |
Definition at line 646 of file marray.hxx.
|
inline |
Compute the offset that corresponds to a sequence of coordinates.
it | An iterator to the beginning of the coordinate sequence. |
out | Index (output) |
Definition at line 688 of file marray.hxx.
|
inline |
Get the dimension.
Not well-defined if the data pointer is 0.
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1591 of file marray.hxx.
|
inline |
|
inline |
|
inline |
Compute the coordinate sequence that corresponds to an index.
index | Index |
outit | An iterator into a container into which the coordinate sequence is to be written (output). |
Definition at line 712 of file marray.hxx.
|
inline |
Compute the offset that corresponds to an index.
index | Index. |
out | Offset (output). |
Definition at line 752 of file marray.hxx.
|
inline |
Determine whether the shape strides equal the strides of the View.
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1707 of file marray.hxx.
|
inline |
Reference data.
u | If u is an integer type, scalar indexing is performed. Otherwise, it is assumed that u is an iterator to the beginning of a coordinate sequence. |
Definition at line 1125 of file marray.hxx.
|
inline |
Reference data.
u | If u is an integer type, scalar indexing is performed. Otherwise, it is assumed that u is an iterator to the beginning of a coordinate sequence. |
Definition at line 1143 of file marray.hxx.
|
inline |
Reference data in a 2-dimensional View by coordinates.
This function issues a runtime error if the View is not 2-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
Definition at line 1163 of file marray.hxx.
|
inline |
Reference data in a 2-dimensional View by coordinates.
This function issues a runtime error if the View is not 2-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1185 of file marray.hxx.
|
inline |
Reference data in a 3-dimensional View by coordinates.
This function issues a runtime error if the View is not 3-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
c2 | 3rd coordinate. |
Definition at line 1208 of file marray.hxx.
|
inline |
Reference data in a 3-dimensional View by coordinates.
This function issues a runtime error if the View is not 3-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
c2 | 3rd coordinate. |
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1233 of file marray.hxx.
|
inline |
Reference data in a 4-dimensional View by coordinates.
This function issues a runtime error if the View is not 4-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
c2 | 3rd coordinate. |
c3 | 4th coordinate. |
Definition at line 1259 of file marray.hxx.
|
inline |
Reference data in a 4-dimensional View by coordinates.
This function issues a runtime error if the View is not 4-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
c2 | 3rd coordinate. |
c3 | 4th coordinate. |
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1287 of file marray.hxx.
|
inline |
Reference data in a 5-dimensional View by coordinates.
This function issues a runtime error if the View is not 5-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
c2 | 3rd coordinate. |
c3 | 4th coordinate. |
c4 | 5th coordinate. |
Definition at line 1316 of file marray.hxx.
|
inline |
Reference data in a 5-dimensional View by coordinates.
This function issues a runtime error if the View is not 5-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
c2 | 3rd coordinate. |
c3 | 4th coordinate. |
c4 | 5th coordinate. |
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1346 of file marray.hxx.
|
inline |
Reference data in a 10-dimensional View by coordinates.
This function issues a runtime error if the View is not 5-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
c2 | 3rd coordinate. |
c3 | 4th coordinate. |
c4 | 5th coordinate. |
c5 | 6th coordinate. |
c6 | 7th coordinate. |
c7 | 8th coordinate. |
c8 | 9th coordinate. |
c9 | 10th coordinate. |
Definition at line 1382 of file marray.hxx.
|
inline |
Reference data in a 10-dimensional View by coordinates.
This function issues a runtime error if the View is not 5-dimensional.
c0 | 1st coordinate. |
c1 | 2nd coordinate. |
c2 | 3rd coordinate. |
c3 | 4th coordinate. |
c4 | 5th coordinate. |
c5 | 6th coordinate. |
c6 | 7th coordinate. |
c7 | 8th coordinate. |
c8 | 9th coordinate. |
c9 | 10th coordinate. |
Definition at line 1425 of file marray.hxx.
|
inline |
Assignment.
value | Value. |
All entries are set to value.
Reimplemented in andres::Marray< T, A >.
Definition at line 1805 of file marray.hxx.
|
inline |
Assignment.
operator= (the assignment operator) has a non-trivial behavior. In most cases, it will work as most programmers will expect. Here's a complete description of the semantics of to.operator=(from) or equivalently, to = from.
Consider the following cases: (1) 'to' is mutable (isConst == false) (a) 'from' is mutable (isConst == false) (i) 'to' is initialized (data_ != 0) (ii) 'to' is un-initialized (data_ == 0) (b) 'from' is constant (isConst == true) (2) 'to' is constant (isConst == true)
(i) The operator attempts to copy the data under view 'b' to the memory under view 'a'. This works if both views have the same size, regardless of their dimension and shape. Equality of sizes is checked by an assertion.
(ii) Unless &a == &b (self-assignment), the operator copies the (data) pointer of view 'b' to view 'a', without copying the data itself. In addition, all the properties of view 'b' are copied to view 'a'.
(b) The operator attempts to copy the data under view 'b' to the memory under view 'a'. This works if both views have the same size, regardless of their dimension and shape. Equality of sizes is checked by an assertion. If 'a' is un-initialized the assertion fails (because the size of a will be zero). Unlike in (ii), the pointer is not copied in this case. Thus, a conversion from mutable to const is prevented.
(2) Unless &a == &b (self-assignment), the operator copies the (data) pointer of view 'b' to view 'a', without copying the data itself. In addition, all the properties of view 'b' are copied to view 'a'. Note that changing the data under a constant view would be counter-intuitive.
Definition at line 1755 of file marray.hxx.
|
inline |
Assignment.
Definition at line 1770 of file marray.hxx.
|
inline |
|
inline |
Reimplemented in andres::Marray< T, A >.
Definition at line 1847 of file marray.hxx.
|
inline |
Check whether two Views overlap.
This function returns true if two memory intervals overlap: (1) the interval between the first and the last element of the object whose member function overlaps() is called. (2) the interval between the first and the last element of v.
Note that this not necessarily implies the existence of an element that is addressed by both v and the current object. v could for instance address all odd elements in a vector while the current object addresses all even elements.
v | A view to compare with *this. |
Definition at line 2810 of file marray.hxx.
void andres::View< T, isConst, A >::permute | ( | CoordinateIterator | begin | ) |
Permute dimensions.
begin | Iterator to the beginning of a sequence which has to contain the integers 0, ..., dimension()-1 in any order. Otherwise, a runtime error is thrown. |
Definition at line 2374 of file marray.hxx.
|
inline |
Get a View with permuted dimensions.
begin | Iterator to the beginning of a sequence which has to contain the integers 0, ..., dimension()-1 in any order. Otherwise, a runtime error is thrown. |
Definition at line 2421 of file marray.hxx.
|
inline |
Get a reserve iterator to the beginning.
Definition at line 2647 of file marray.hxx.
|
inline |
Get a reserve iterator to the beginning.
Definition at line 2671 of file marray.hxx.
|
inline |
Get the reverse end-iterator.
Definition at line 2659 of file marray.hxx.
|
inline |
Get the reverse end-iterator.
Definition at line 2683 of file marray.hxx.
|
inline |
Reshape the View.
Two conditions have to be fulfilled in order for reshape to work:
begin | Iterator to the beginning of a sequence that determines the new shape. |
end | Iterator to the end of that sequence. |
Definition at line 2155 of file marray.hxx.
|
inline |
Get a reshaped View.
Two conditions have to be fulfilled:
begin | Iterator to the beginning of a sequence that determines the new shape. |
end | Iterator to the end of that sequence. |
Definition at line 2188 of file marray.hxx.
|
inline |
Get the shape in one dimension.
dimension | Dimension |
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1605 of file marray.hxx.
|
inline |
Get a constant iterator to the beginning of the shape vector.
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1622 of file marray.hxx.
|
inline |
Get a constant iterator to the end of the shape vector.
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1636 of file marray.hxx.
|
inline |
Cycle shift dimensions.
n | Number of positions to shift |
Definition at line 2545 of file marray.hxx.
|
inline |
Get a View which dimensions cycle shifted.
n | Number of positions to shift |
Definition at line 2577 of file marray.hxx.
|
inline |
Get the number of data items.
Reimplemented from andres::ViewExpression< View< T, isConst, A >, T >.
Definition at line 1578 of file marray.hxx.
void andres::View< T, isConst, A >::squeeze | ( | ) |
Remove singleton dimensions by setting their coordinates to zero.
Definition at line 2295 of file marray.hxx.
|
inline |
Get a View where all singleton dimensions have been removed by setting their coordinates to zero.
Definition at line 2335 of file marray.hxx.
|
inline |
Get the strides in one dimension.
dimension | Dimension |
Definition at line 1651 of file marray.hxx.
|
inline |
Get a constant iterator to the beginning of the strides vector.
Definition at line 1668 of file marray.hxx.
|
inline |
Get a constant iterator to the end of the strides vector.
Definition at line 1682 of file marray.hxx.
void andres::View< T, isConst, A >::transpose | ( | const std::size_t | c1, |
const std::size_t | c2 | ||
) |
Exchange two dimensions.
c1 | Dimension |
c2 | Dimension |
Definition at line 2439 of file marray.hxx.
void andres::View< T, isConst, A >::transpose | ( | ) |
Reverse dimensions.
Definition at line 2478 of file marray.hxx.
|
inline |
Get a View with two dimensions exchanged.
c1 | Dimension |
c2 | Dimension |
Definition at line 2511 of file marray.hxx.
|
inline |
Get a View with dimensions reversed.
Definition at line 2529 of file marray.hxx.
|
inline |
Get a sub-view with the same coordinate order.
bit | Iterator to the beginning of a coordinate sequence that determines the start position of the sub-view. |
sit | Iterator to the beginning of a sequence that determines the shape of the sub-view. |
out | Sub-View (output). |
Definition at line 1867 of file marray.hxx.
|
inline |
Get a sub-view.
bit | Iterator to the beginning of a coordinate sequence that determines the start position of the sub-view. |
sit | Iterator to the beginning of a sequence that determines the shape of the sub-view. |
internalCoordinateOrder | Flag to set the coordinate order for scalar indexing and iterators of the sub-view. |
out | Sub-View (output). |
Definition at line 1890 of file marray.hxx.
|
inline |
Get a sub-view with the same coordinate order.
bit | Iterator to the beginning of a coordinate sequence that determines the start position of the sub-view. |
sit | Iterator to the beginning of a sequence that determines the shape of the sub-view. |
Definition at line 1916 of file marray.hxx.
|
inline |
Get a sub-view.
bit | Iterator to the beginning of a coordinate sequence that determines the start position of the sub-view. |
sit | Iterator to the beginning of a sequence that determines the shape of the sub-view. |
internalCoordinateOrder | Flag to set the coordinate order for scalar indexing and iterators of the sub-view. |
Definition at line 1940 of file marray.hxx.
|
friend |
Definition at line 443 of file marray.hxx.
|
friend |
Definition at line 441 of file marray.hxx.