ivl 679
|
#include <wrap_array_nd_class.hpp>
Inherits array_common_base< array_nd< T, data::wrap_array< A, ATTR, DERIVED_INFO > > >.
Public Types | |
typedef a_t::size_nd_ref_type | size_nd_ref_type |
return type of size_nd in that data-specific class | |
typedef a_t::size_type | size_type |
parameter of resize, in each class of the hierarchy | |
typedef a_t::stride_ref_type | stride_ref_type |
return type of size_nd in that data-specific class | |
Public Member Functions | |
base_class & | base () |
get base class | |
Element access (multidimensional) | |
Elements can be accessed by specifying the | |
template<class S > | |
reference_t | operator() (const array< size_t, S > &indx) |
template<class S > | |
const_reference_t | operator() (const array< size_t, S > &indx) const |
Size functions (multidimensional) | |
size_nd_ref_type | size_nd () const |
Get the size for each dimension. | |
size_t | size_nd (size_t d) const |
Get the size for a specific dimension. | |
stride_ref_type | stride () const |
Get the stride for each dimension. | |
size_t | stride (size_t dim) const |
Get the stride for a particular dimension. | |
size_type | size () const |
Get the size for each dimension. | |
size_t | size (size_t d) const |
Get the size for a specific dimension. | |
size_t | ndims () const |
Get the number of dimensions. | |
Resize Functions | |
template<class S > | |
void | resize (const array< size_t, S > &newsize, const T &s) |
resize (n-dim) | |
template<class S > | |
void | resize (const array< size_t, S > &newsize) |
resize (n-dim) without padding | |
template<class S > | |
void | reshape (const array< size_t, S > &newsize, const T &s) |
reshape (n-dim) | |
template<class S > | |
void | reshape (const array< size_t, S > &newsize) |
reshape (n-dim) without padding | |
constructors | |
array_nd () | |
Default constructor. | |
array_nd (A &a1) | |
construction from the reference arrays | |
array_nd (const array_nd &a) | |
Copy constructor. | |
filler constructors | |
array_nd (size_t count) | |
array_nd (size_t count, const T &s) | |
array_nd (size_t count, const T *data) | |
template<class S > | |
array_nd (const array< size_t, S > &sz) | |
template<class S > | |
array_nd (const array< size_t, S > &sz, const T &s) | |
template<class S > | |
array_nd (const array< size_t, S > &sz, const T *ptr) | |
template<class S , class J , class D > | |
array_nd (const array< size_t, S > &sz, const array< J, D > &a) | |
template<class J , class S > | |
array_nd (const array_nd< J, S > &a) | |
template<class J , class S > | |
array_nd (array_nd< J, S > &a) | |
(special for ref_iterator) Construct from array_nd | |
Assignment Operators | |
this_type & | operator= (const this_type &in) |
C++ copy-constructor. | |
iterator_nd's | |
typedef array_nd::const_iterator | const_iterator |
typedef types::best_iterator_nd< a_t > ::type | best_iterator_nd |
typedef types::best_iterator_nd< a_t, 0, false >::type | best_fast_iterator_nd |
typedef types::best_reverse_iterator_nd < a_t >::type | best_reverse_iterator_nd |
typedef types::t_if < types::t_not< typename a_t::is_writeable > , types::not_a_type, best_iterator_nd >::type | iterator_nd |
typedef types::t_if < types::t_not< typename a_t::is_writeable > , types::not_a_type, best_fast_iterator_nd >::type | _fast_iterator_nd |
typedef types::t_if < types::t_not< typename a_t::is_writeable > , types::not_a_type, best_reverse_iterator_nd > ::type | reverse_iterator_nd |
typedef a_t::const_iterator_nd | const_iterator_nd |
typedef a_t::_fast_const_iterator_nd | _fast_const_iterator_nd |
typedef a_t::const_reverse_iterator_nd | const_reverse_iterator_nd |
typedef a_t::iter_nd_border_walker | iter_nd_border_walker |
best_iterator_nd | _begin (size_t d) |
best_iterator_nd | _begin (size_t d, const best_iterator_nd &it_nd) |
best_iterator_nd | _iter (size_t d, const best_iter_t &it) |
template<class S > | |
best_iterator_nd | _iter (size_t d, array< size_t, S > ind) |
best_iterator_nd | _next (size_t d, const best_iterator_nd &it_nd) |
best_iterator_nd | _end (size_t d) |
best_iterator_nd | _last (size_t d) |
const_iterator_nd | _begin (size_t d) const |
const_iterator_nd | _begin (size_t d, const const_iterator_nd &it_nd) const |
const_iterator_nd | _iter (size_t d, const const_iterator &it) const |
template<class S > | |
const_iterator_nd | _iter (size_t d, array< size_t, S > ind) const |
const_iterator_nd | _next (size_t d, const const_iterator_nd &it_nd) const |
const_iterator_nd | _end (size_t d) const |
const_iterator_nd | _last (size_t d) const |
best_reverse_iterator_nd | _rbegin (size_t d) |
best_reverse_iterator_nd | _rbegin (size_t d, const best_reverse_iterator_nd &it_nd) |
best_reverse_iterator_nd | _riter (size_t d, const best_iter_t &it) |
template<class S > | |
best_reverse_iterator_nd | _riter (size_t d, array< size_t, S > ind) |
best_reverse_iterator_nd | _rnext (size_t d, const best_reverse_iterator_nd &it_nd) |
best_iterator_nd | _rend (size_t d) |
best_iterator_nd | _rlast (size_t d) |
const_reverse_iterator_nd | _rbegin (size_t d) const |
const_reverse_iterator_nd | _rbegin (size_t d, const const_reverse_iterator_nd &it_nd) const |
const_reverse_iterator_nd | _riter (size_t d, const const_iterator &it) const |
template<class S > | |
const_reverse_iterator_nd | _riter (size_t d, array< size_t, S > ind) const |
const_reverse_iterator_nd | _rnext (size_t d, const const_reverse_iterator_nd &it_nd) const |
const_reverse_iterator_nd | _rend (size_t d) const |
const_reverse_iterator_nd | _rlast (size_t d) const |
best_fast_iterator_nd | _fast_begin (size_t d) |
best_fast_iterator_nd | _fast_last (size_t d) |
_fast_const_iterator_nd | _fast_begin (size_t d) const |
_fast_const_iterator_nd | _fast_last (size_t d) const |
iter_nd_border_walker | first_to_last (size_t d) |
iter_nd_border_walker | begin_to_end (size_t d) |
Wrap array is a superset for force class. Force class is a wrapper of another normal array that is writeable and possibly resizeable. The only action of this class is that it hides the wrapped class and pointer from the rest of ivl, and it has some special behavior so that overlap always returns false in any circumstances. So this array won't detect data overlapping with other arrays, allowing the experienced user to force an array to not be copied when it is input and output at the same time when upon request.
const_reference_t array_nd< T, data::wrap_array< A, ATTR, DERIVED_INFO > >::operator() | ( | const array< size_t, S > & | indx | ) | const [inline] |
Selects a single, mutable element of the array, using a size_array for the coordinates.