| 
|   | ~arraynd_base ()=default | 
|   | Destructor.  More...
  | 
|   | 
| std::array< int64, ndims >  | dims () const | 
|   | Returns the lengths of each dimension.  More...
  | 
|   | 
| std::array< int64, ndims >  | strides () const | 
|   | Returns the number of element-size steps in memory between successive elements for each dimension.  More...
  | 
|   | 
| bool  | empty () const | 
|   | Returns true if there is at least one element.  More...
  | 
|   | 
| int64  | size () const | 
|   | Returns the total number of elements.  More...
  | 
|   | 
| int64  | offset () const | 
|   | Returns the number of element-size steps in memory before the first element.  More...
  | 
|   | 
| const T *  | data () const | 
|   | Returns a pointer to the element data (const).  More...
  | 
|   | 
| T *  | data () | 
|   | Returns a pointer to the element data.  More...
  | 
|   | 
| bool  | is_contiguous () const | 
|   | Returns true if a row-major traversal of the multidimensional array accesses each element of data in sequence.  More...
  | 
|   | 
| bool  | is_view () const | 
|   | Returns true if this multidimensional array is a view of another, meaning that data is shared.  More...
  | 
|   | 
| bool  | is_readonly () const | 
|   | Returns true if the data is readonly, in which case attempts to modify it raise a std::logic_error.  More...
  | 
|   | 
| const T &  | operator() (const std::array< int64, ndims > &indices) const | 
|   | Returns a reference to an element (const).  More...
  | 
|   | 
| T &  | operator() (const std::array< int64, ndims > &indices) | 
|   | Returns a reference to an element.  More...
  | 
|   | 
| const T &  | operator() (const arraynd_base< int64, 1 > &indices) const | 
|   | Returns a reference to an element (const).  More...
  | 
|   | 
| T &  | operator() (const arraynd_base< int64, 1 > &indices) | 
|   | Returns a reference to an element.  More...
  | 
|   | 
| template<typename... Indices>  | 
| const T &  | operator() (Indices... indices) const | 
|   | Returns a reference to an element (const).  More...
  | 
|   | 
| template<typename... Indices>  | 
| T &  | operator() (Indices... indices) | 
|   | Returns a reference to an element.  More...
  | 
|   | 
| void  | fill (const T &value) | 
|   | Replaces every element with value.  More...
  | 
|   | 
| void  | assign (const arraynd_base< T, ndims > &rhs) | 
|   | Replaces every element with the corresponding value in rhs.  More...
  | 
|   | 
| void  | assign_from_function (std::function< T(const std::array< int64, ndims > &indices)> func) | 
|   | Replaces every element with the result of func evaluated at the cooresponding indices.  More...
  | 
|   | 
| bool  | traverse (std::function< bool(const std::array< int64, ndims > &indices, const T &value)> func) const | 
|   | Traverses the multidimensional array in row-major order, calling func at every element.  More...
  | 
|   | 
 | 
|   | arraynd_base () | 
|   | 
|   | arraynd_base (const std::array< int64, ndims > &dims, const T &value) | 
|   | 
|   | arraynd_base (const std::array< int64, ndims > &dims, const std::vector< T > &data) | 
|   | 
|   | arraynd_base (const std::array< int64, ndims > &dims, std::function< T(const std::array< int64, ndims > &indices)> func) | 
|   | 
|   | arraynd_base (const arraynd_base< T, ndims+1 > &rhs, int64 index, bool is_readonly) | 
|   | 
|   | arraynd_base (const arraynd_base< T, ndims > &rhs, range r, bool is_readonly) | 
|   | 
|   | arraynd_base (const arraynd_base< T, ndims > &rhs, bool is_view, bool is_readonly) | 
|   | 
|   | arraynd_base (const arraynd_base< T, ndims > &rhs) | 
|   | 
| arraynd_base< T, ndims > &  | operator= (const arraynd_base< T, ndims > &rhs) | 
|   | 
|   | arraynd_base (arraynd_base< T, ndims > &&)=default | 
|   | 
| arraynd_base< T, ndims > &  | operator= (arraynd_base< T, ndims > &&)=default | 
|   | 
template<typename T, int64 ndims>
class sydevs::arraynd_base< T, ndims >
A base class template for a multidimensional array with elements of type T arranged in a lattice of ndim dimensions. 
arraynd_base contains all member variables, all member functions that behave the same for ndims == 1 and ndims > 1, and all member functions that do not return a multidimensional array. 
 
template<typename T , int64 ndims> 
      
        
          | bool sydevs::arraynd_base< T, ndims >::traverse  | 
          ( | 
          std::function< bool(const std::array< int64, ndims > &indices, const T &value)>  | 
          func | ) | 
           const | 
        
      
 
Traverses the multidimensional array in row-major order, calling func at every element. 
For each element traversed in row-major order, func is called with the indices of the element and the element's value. If func returns true, the traversal continues. If func returns false, the traversal is terminated.
- Parameters
 - 
  
    | func | The function to be called at every element.  | 
  
   
- Returns
 true if the entire multidimensional array is traversed and func returns true at every element; false otherwise.