ivl 679
ivl::array_nd< T, data::wrap_array< A, ATTR, DERIVED_INFO > > Class Template Reference

#include <array_nd.hpp>

Inherits ivl::array_common_base< C >.

List of all members.

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_typeoperator= (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)

Detailed Description

template<class T, class A, class ATTR, class DERIVED_INFO>
class ivl::array_nd< T, data::wrap_array< A, ATTR, DERIVED_INFO > >

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.


Member Function Documentation

template<class T , class A , class ATTR , class DERIVED_INFO >
template<class S >
const_reference_t ivl::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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations