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.