mf
Media Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | List of all members
mf::ndarray_generic< Allocator > Class Template Reference

Array container with type erased multidimensional frames. More...

#include <ndarray_generic.h>

Inheritance diagram for mf::ndarray_generic< Allocator >:
mf::ndarray< 2, byte, Allocator >

Public Types

using view_type = ndarray_view_generic< 2 >
 
- Public Types inherited from mf::ndarray< 2, byte, Allocator >
using view_type = ndarray_view< Dim, byte >
 
using const_view_type = ndarray_view< Dim, const byte >
 
using index_type = typename view_type::index_type
 
using coordinates_type = typename view_type::coordinates_type
 
using shape_type = typename view_type::shape_type
 
using strides_type = typename view_type::strides_type
 
using span_type = typename view_type::span_type
 
using value_type = byte
 
using pointer = byte *
 
using const_pointer = const byte *
 
using reference = byte &
 
using const_reference = const byte &
 
using iterator = typename view_type::iterator
 
using const_iterator = typename const_view_type::iterator
 

Public Member Functions

 ndarray_generic (const ndarray_generic_properties &, std::size_t padding=0, const Allocator &=Allocator())
 
 ndarray_generic (const ndarray_generic &)=default
 
const frame_formatformat () const noexcept
 
view_type view ()
 
- Public Member Functions inherited from mf::ndarray< 2, byte, Allocator >
 ndarray (const shape_type &shp, const Allocator &allocator=Allocator())
 
 ndarray (const const_view_type &)
 
 ndarray (const ndarray &arr)
 
 ~ndarray ()
 
ndarrayoperator= (const const_view_type &arr)
 
ndarrayoperator= (const ndarray &arr)
 
view_type view ()
 
const_view_type view () const
 
const_view_type cview () const
 
 operator view_type () noexcept
 
 operator const_view_type () const noexcept
 
coordinates_type index_to_coordinates (const index_type &index) const
 
index_type coordinates_to_index (const coordinates_type &coord) const
 
pointer coordinates_to_pointer (const coordinates_type &coord)
 
const_pointer coordinates_to_pointer (const coordinates_type &coord) const
 
std::size_t size () const noexcept
 
pointer start () noexcept
 
const_pointer start () const noexcept
 
const shape_typeshape () const noexcept
 
const strides_typestrides () const noexcept
 
std::size_t contiguous_length () const noexcept
 
std::size_t padding () const noexcept
 
decltype(auto) section (Args &&...args)
 
decltype(auto) section (Args &&...args) const
 
decltype(auto) slice (Args &&...args)
 
decltype(auto) slice (Args &&...args) const
 
decltype(auto) operator() (Args &&...args)
 
decltype(auto) operator() (Args &&...args) const
 
decltype(auto) operator[] (Args &&...args)
 
decltype(auto) operator[] (Args &&...args) const
 
decltype(auto) at (Args &&...args)
 
decltype(auto) at (Args &&...args) const
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
iterator end ()
 
const_iterator end () const
 
const_iterator cend () const
 

Additional Inherited Members

- Static Public Attributes inherited from mf::ndarray< 2, byte, Allocator >
static constexpr std::size_t dimension
 
- Protected Member Functions inherited from mf::ndarray< 2, byte, Allocator >
void allocate_ ()
 
void deallocate_ ()
 
 ndarray (const shape_type &shape, std::size_t padding, std::size_t stride, const Allocator &allocator)
 Constructor for use by derived classes. More...
 
strides_type strides_with_padding_ (const shape_type &shape, std::size_t padding)
 
- Protected Attributes inherited from mf::ndarray< 2, byte, Allocator >
Allocator allocator_
 Raw allocator used to allocate memory, in bytes. More...
 
std::size_t stride_
 Stride of elements, in bytes. More...
 
std::size_t padding_
 Padding between frames, in bytes. More...
 
std::size_t allocated_size_
 Allocated memory size, in bytes. More...
 
view_type view_
 View used to access items. More...
 

Detailed Description

template<typename Allocator = raw_allocator>
class mf::ndarray_generic< Allocator >

Array container with type erased multidimensional frames.

Like ndarray_view_generic, it retains frame_format with element type and alignment of frames.

Member Typedef Documentation

template<typename Allocator = raw_allocator>
using mf::ndarray_generic< Allocator >::view_type = ndarray_view_generic<2>

Constructor & Destructor Documentation

template<typename Allocator>
mf::ndarray_generic< Allocator >::ndarray_generic ( const ndarray_generic_properties prop,
std::size_t  padding = 0,
const Allocator &  allocator = Allocator() 
)
template<typename Allocator = raw_allocator>
mf::ndarray_generic< Allocator >::ndarray_generic ( const ndarray_generic< Allocator > &  )
explicitdefault

Member Function Documentation

template<typename Allocator = raw_allocator>
const frame_format& mf::ndarray_generic< Allocator >::format ( ) const
inlinenoexcept
template<typename Allocator = raw_allocator>
view_type mf::ndarray_generic< Allocator >::view ( )
inline

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