|
Marray
|
Runtime-Flexible multi-dimensional array. More...
#include <marray.hxx>
Public Types | |
| typedef View< T, false, A > | base |
| typedef base::value_type | value_type |
| typedef base::pointer | pointer |
| typedef base::const_pointer | const_pointer |
| typedef base::reference | reference |
| typedef base::const_reference | const_reference |
| typedef base::iterator | iterator |
| typedef base::reverse_iterator | reverse_iterator |
| typedef base::const_iterator | const_iterator |
| typedef base::const_reverse_iterator | const_reverse_iterator |
| typedef A::template rebind < value_type >::other | allocator_type |
Public Types inherited from andres::View< T, false, A > | |
| 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 |
Public Types inherited from andres::ViewExpression< View< T, isConst, A >, T > | |
| typedef View< T, isConst, A > | expression_type |
| typedef T | value_type |
Public Member Functions | |
| Marray (const allocator_type &=allocator_type()) | |
| Empty constructor. | |
| Marray (const T &, const CoordinateOrder &=defaultOrder, const allocator_type &=allocator_type()) | |
| Construct 0-dimensional (scalar) array. | |
| template<class ShapeIterator > | |
| Marray (ShapeIterator, ShapeIterator, const T &=T(), const CoordinateOrder &=defaultOrder, const allocator_type &=allocator_type()) | |
| Construct Marray with initialization. | |
| template<class ShapeIterator > | |
| Marray (const InitializationSkipping &, ShapeIterator, ShapeIterator, const CoordinateOrder &=defaultOrder, const allocator_type &=allocator_type()) | |
| Construct Marray without initialization. | |
| Marray (const Marray< T, A > &) | |
| Copy from a Marray. | |
| template<class E , class Te > | |
| Marray (const ViewExpression< E, Te > &, const allocator_type &=allocator_type()) | |
| Construct Marray from ViewExpression. | |
| template<class TLocal , bool isConstLocal, class ALocal > | |
| Marray (const View< TLocal, isConstLocal, ALocal > &) | |
| Copy from a View. | |
| ~Marray () | |
| Destructor. | |
| Marray< T, A > & | operator= (const T &) |
| Assignment. | |
| Marray< T, A > & | operator= (const Marray< T, A > &) |
| Assignment. | |
| template<class TLocal , bool isConstLocal, class ALocal > | |
| Marray< T, A > & | operator= (const View< TLocal, isConstLocal, ALocal > &) |
| Assignment from View. | |
| template<class E , class Te > | |
| Marray< T, A > & | operator= (const ViewExpression< E, Te > &) |
| void | assign (const allocator_type &=allocator_type()) |
| Clear Marray. | |
| template<class ShapeIterator > | |
| void | resize (ShapeIterator, ShapeIterator, const T &=T()) |
| Resize (existing entries are preserved, new entries are initialized). | |
| template<class ShapeIterator > | |
| void | resize (const InitializationSkipping &, ShapeIterator, ShapeIterator) |
| Resize (existing entries are preserved). | |
Public Member Functions inherited from andres::View< T, false, A > | |
| View (const allocator_type &=allocator_type()) | |
| View (pointer, const allocator_type &=allocator_type()) | |
| View (const View< T, false, A > &) | |
| View (ShapeIterator, ShapeIterator, pointer, const CoordinateOrder &=defaultOrder, const CoordinateOrder &=defaultOrder, const allocator_type &=allocator_type()) | |
| View (ShapeIterator, ShapeIterator, StrideIterator, pointer, const CoordinateOrder &, const allocator_type &=allocator_type()) | |
| View< T, isConst, A > & | operator= (const View< T, true, A > &) |
| View< T, isConst, A > & | operator= (const View< T, false, A > &) |
| void | assign (ShapeIterator, ShapeIterator, pointer, const CoordinateOrder &=defaultOrder, const CoordinateOrder &=defaultOrder, const allocator_type &=allocator_type()) |
| void | assign (ShapeIterator, ShapeIterator, StrideIterator, pointer, const CoordinateOrder &, const allocator_type &=allocator_type()) |
| const std::size_t | dimension () const |
| const std::size_t | size () const |
| const std::size_t | shape (const std::size_t) const |
| const std::size_t * | shapeBegin () const |
| const std::size_t * | shapeEnd () const |
| const std::size_t | strides (const std::size_t) const |
| const std::size_t * | stridesBegin () const |
| const std::size_t * | stridesEnd () const |
| const CoordinateOrder & | coordinateOrder () const |
| const bool | isSimple () const |
| bool | overlaps (const View< TLocal, isConstLocal, ALocal > &) const |
| reference | operator() (U) |
| reference | operator() (U) const |
| reference | operator() (const std::size_t, const std::size_t) |
| reference | operator() (const std::size_t, const std::size_t) const |
| reference | operator() (const std::size_t, const std::size_t, const std::size_t) |
| reference | operator() (const std::size_t, const std::size_t, const std::size_t) const |
| reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t) |
| reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t) const |
| reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t) |
| reference | operator() (const std::size_t, const std::size_t, const std::size_t, const std::size_t, const std::size_t) const |
| 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 | 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 |
| void | view (BaseIterator, ShapeIterator, View< T, isConst, A > &) const |
| void | view (BaseIterator, ShapeIterator, const CoordinateOrder &, View< T, isConst, A > &) const |
| View< T, isConst, A > | view (BaseIterator, ShapeIterator) const |
| View< T, isConst, A > | view (BaseIterator, ShapeIterator, const CoordinateOrder &) const |
| void | constView (BaseIterator, ShapeIterator, View< T, true, A > &) const |
| void | constView (BaseIterator, ShapeIterator, const CoordinateOrder &, View< T, true, A > &) const |
| View< T, true, A > | constView (BaseIterator, ShapeIterator) const |
| View< T, true, A > | constView (BaseIterator, ShapeIterator, const CoordinateOrder &) const |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| reverse_iterator | rbegin () |
| const_reverse_iterator | rbegin () const |
| reverse_iterator | rend () |
| const_reverse_iterator | rend () const |
| void | reshape (ShapeIterator, ShapeIterator) |
| void | permute (CoordinateIterator) |
| void | transpose (const std::size_t, const std::size_t) |
| void | transpose () |
| void | shift (const int) |
| void | squeeze () |
| View< T, isConst, A > | reshapedView (ShapeIterator, ShapeIterator) const |
| View< T, isConst, A > | permutedView (CoordinateIterator) const |
| View< T, isConst, A > | transposedView (const std::size_t, const std::size_t) const |
| View< T, isConst, A > | transposedView () const |
| View< T, isConst, A > | shiftedView (const int) const |
| View< T, isConst, A > | boundView (const std::size_t, const std::size_t=0) const |
| View< T, isConst, A > | squeezedView () const |
| void | coordinatesToIndex (CoordinateIterator, std::size_t &) const |
| void | coordinatesToOffset (CoordinateIterator, std::size_t &) const |
| void | indexToCoordinates (std::size_t, CoordinateIterator) const |
| void | indexToOffset (std::size_t, std::size_t &) const |
| std::string | asString (const StringStyle &=MatrixStyle) const |
Public Member Functions inherited from andres::ViewExpression< View< T, isConst, A >, T > | |
| 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 | |
Runtime-Flexible multi-dimensional array.
Definition at line 545 of file marray.hxx.
| typedef A::template rebind<value_type>::other andres::Marray< T, A >::allocator_type |
Definition at line 559 of file marray.hxx.
| typedef View<T, false, A> andres::Marray< T, A >::base |
Definition at line 549 of file marray.hxx.
| typedef base::const_iterator andres::Marray< T, A >::const_iterator |
Definition at line 557 of file marray.hxx.
| typedef base::const_pointer andres::Marray< T, A >::const_pointer |
Definition at line 552 of file marray.hxx.
| typedef base::const_reference andres::Marray< T, A >::const_reference |
Definition at line 554 of file marray.hxx.
| typedef base::const_reverse_iterator andres::Marray< T, A >::const_reverse_iterator |
Definition at line 558 of file marray.hxx.
| typedef base::iterator andres::Marray< T, A >::iterator |
Definition at line 555 of file marray.hxx.
| typedef base::pointer andres::Marray< T, A >::pointer |
Definition at line 551 of file marray.hxx.
| typedef base::reference andres::Marray< T, A >::reference |
Definition at line 553 of file marray.hxx.
| typedef base::reverse_iterator andres::Marray< T, A >::reverse_iterator |
Definition at line 556 of file marray.hxx.
| typedef base::value_type andres::Marray< T, A >::value_type |
Definition at line 550 of file marray.hxx.
|
inline |
|
inline |
Construct 0-dimensional (scalar) array.
| value | Value of the single data item. |
| coordinateOrder | Flag specifying whether FirstMajorOrder or LastMajorOrder is to be used. As the Marray can be resized after construction, the coordinate order has to be set even for a 0-dimensional Marray. |
| allocator | Allocator. |
Definition at line 3270 of file marray.hxx.
|
inline |
Construct Marray with initialization.
| begin | Iterator to the beginning of a sequence that determines the shape. |
| end | Iterator to the end of that sequence. |
| value | Value with which all entries are initialized. |
| coordinateOrder | Flag specifying whether FirstMajorOrder or LastMajorOrder is to be used. |
| allocator | Allocator. |
Definition at line 3409 of file marray.hxx.
|
inline |
Construct Marray without initialization.
| is | Flag to be set to SkipInitialization. |
| begin | Iterator to the beginning of a sequence that determines the shape. |
| end | Iterator to the end of that sequence. |
| coordinateOrder | Flag specifying whether FirstMajorOrder or LastMajorOrder is to be used. |
| allocator | Allocator. |
Definition at line 3443 of file marray.hxx.
|
inline |
|
inline |
Construct Marray from ViewExpression.
| expression | ViewExpression. |
| allocator | Allocator. |
Definition at line 3362 of file marray.hxx.
|
inline |
|
inline |
Destructor.
Definition at line 3495 of file marray.hxx.
|
inline |
Clear Marray.
Leaves the Marray in the same state as if the empty constructor had been called. Previously allocated memory is de-allocated.
| allocator | Allocator. |
Reimplemented from andres::View< T, false, A >.
Definition at line 3230 of file marray.hxx.
|
inline |
Assignment.
| value | Value. |
All entries are set to value.
Reimplemented from andres::View< T, false, A >.
Definition at line 3644 of file marray.hxx.
| Marray< T, A > & andres::Marray< T, A >::operator= | ( | const Marray< T, A > & | in | ) |
Assignment.
This operator works as follows:
| in | Marray (source). |
Definition at line 3516 of file marray.hxx.
| Marray< T, A > & andres::Marray< T, A >::operator= | ( | const View< TLocal, isConstLocal, ALocal > & | in | ) |
Assignment from View.
This operator works as follows:
| in | View (source). |
Reimplemented from andres::View< T, false, A >.
Definition at line 3564 of file marray.hxx.
|
inline |
Reimplemented from andres::View< T, false, A >.
Definition at line 3659 of file marray.hxx.
| void andres::Marray< T, A >::resize | ( | ShapeIterator | begin, |
| ShapeIterator | end, | ||
| const T & | value = T() |
||
| ) |
Resize (existing entries are preserved, new entries are initialized).
| begin | Iterator to the beginning of a sequence that determines the new shape. |
| end | Iterator to the end of that sequence. |
| value | Initial value to be assigned to newly allocated entries. |
Definition at line 3766 of file marray.hxx.
| void andres::Marray< T, A >::resize | ( | const InitializationSkipping & | is, |
| ShapeIterator | begin, | ||
| ShapeIterator | end | ||
| ) |
Resize (existing entries are preserved).
| is | Flag to be set to SkipInitialization. |
| begin | Iterator to the beginning of a sequence that determines the new shape. |
| end | Iterator to the end of that sequence. |
Definition at line 3786 of file marray.hxx.
1.8.1.2