ndarray
NumPy-friendly multidimensional arrays in C++
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
ndarray::detail::Core< N > Class Template Reference

Public Types

typedef boost::mpl::int_< N > ND
 number of dimensions
 
typedef Core< N-1 > Super
 base class
 
typedef boost::intrusive_ptr< CorePtr
 intrusive_ptr to Core
 
typedef boost::intrusive_ptr< Core const > ConstPtr
 const intrusive_ptr to Core
 

Public Member Functions

Ptr copy () const
 
Size getSize () const
 Return the size of the Nth dimension.
 
Offset getStride () const
 Return the stride of the Nth dimension.
 
void setSize (Size size)
 Set the size of the Nth dimension.
 
void setStride (Offset stride)
 Set the stride of the Nth dimension.
 
template<int M>
Offset computeOffset (Vector< Size, M > const &index) const
 Recursively compute the offset to an element.
 
template<int M>
void fillShape (Vector< Size, M > &shape) const
 Recursively fill a shape vector.
 
template<int M>
void fillStrides (Vector< Offset, M > &strides) const
 Recursively fill a strides vector.
 
Size getNumElements () const
 Recursively determine the total number of elements.
 

Static Public Member Functions

template<int M>
static Ptr create (Vector< Size, M > const &shape, Vector< Offset, M > const &strides, Manager::Ptr const &manager=Manager::Ptr())
 Create a Core::Ptr with the given shape, strides, and manager.
 
template<int M>
static Ptr create (Vector< Size, M > const &shape, DataOrderEnum order, Manager::Ptr const &manager=Manager::Ptr())
 Create a Core::Ptr with the given shape and manager with contiguous strides.
 
static Ptr create (Manager::Ptr const &manager=Manager::Ptr())
 Create a Core::Ptr with the given manager and zero shape and strides.
 

Protected Member Functions

template<int M>
 Core (Vector< Size, M > const &shape, Vector< Offset, M > const &strides, Manager::Ptr const &manager)
 
template<int M>
 Core (Vector< Size, M > const &shape, Manager::Ptr const &manager)
 
template<int M>
 Core (Vector< Size, M > const &shape, Offset stride, Manager::Ptr const &manager)
 
 Core (Manager::Ptr const &manager)
 
 Core (Core const &other)
 

The documentation for this class was generated from the following file: