AARE
Data analysis library for PSI hybrid detectors
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes
aare::NDView< T, Ndim > Class Template Reference

#include <NDView.hpp>

Public Member Functions

 NDView ()
 
 NDView (T *buffer, std::array< ssize_t, Ndim > shape)
 
 NDView (T *buffer, const std::vector< ssize_t > &shape)
 
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T & >::type operator() (Ix... index)
 
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T & >::type operator() (Ix... index) const
 
ssize_t size () const
 
 NDView (const NDView &)=default
 
 NDView (NDView &&)=default
 
T * begin ()
 
T * end ()
 
T & operator() (ssize_t i)
 
T & operator[] (ssize_t i)
 
bool operator== (const NDView &other) const
 
NDViewoperator+= (const T val)
 
NDViewoperator-= (const T val)
 
NDViewoperator*= (const T val)
 
NDViewoperator/= (const T val)
 
NDViewoperator/= (const NDView &other)
 
NDViewoperator= (const T val)
 
NDViewoperator= (const NDView &other)
 
auto & shape ()
 
auto shape (ssize_t i) const
 
T * data ()
 

Private Member Functions

template<class BinaryOperation >
NDViewelemenwise (T val, BinaryOperation op)
 
template<class BinaryOperation >
NDViewelemenwise (const NDView &other, BinaryOperation op)
 

Private Attributes

T * buffer_ {nullptr}
 
std::array< ssize_t, Ndim > strides_ {}
 
std::array< ssize_t, Ndim > shape_ {}
 
ssize_t size_ {}
 

Constructor & Destructor Documentation

◆ NDView() [1/5]

template<typename T , ssize_t Ndim = 2>
aare::NDView< T, Ndim >::NDView ( )
inline

◆ NDView() [2/5]

template<typename T , ssize_t Ndim = 2>
aare::NDView< T, Ndim >::NDView ( T *  buffer,
std::array< ssize_t, Ndim >  shape 
)
inline

◆ NDView() [3/5]

template<typename T , ssize_t Ndim = 2>
aare::NDView< T, Ndim >::NDView ( T *  buffer,
const std::vector< ssize_t > &  shape 
)
inline

◆ NDView() [4/5]

template<typename T , ssize_t Ndim = 2>
aare::NDView< T, Ndim >::NDView ( const NDView< T, Ndim > &  )
default

◆ NDView() [5/5]

template<typename T , ssize_t Ndim = 2>
aare::NDView< T, Ndim >::NDView ( NDView< T, Ndim > &&  )
default

Member Function Documentation

◆ begin()

template<typename T , ssize_t Ndim = 2>
T * aare::NDView< T, Ndim >::begin ( )
inline

◆ data()

template<typename T , ssize_t Ndim = 2>
T * aare::NDView< T, Ndim >::data ( )
inline

◆ elemenwise() [1/2]

template<typename T , ssize_t Ndim = 2>
template<class BinaryOperation >
NDView & aare::NDView< T, Ndim >::elemenwise ( const NDView< T, Ndim > &  other,
BinaryOperation  op 
)
inlineprivate

◆ elemenwise() [2/2]

template<typename T , ssize_t Ndim = 2>
template<class BinaryOperation >
NDView & aare::NDView< T, Ndim >::elemenwise ( val,
BinaryOperation  op 
)
inlineprivate

◆ end()

template<typename T , ssize_t Ndim = 2>
T * aare::NDView< T, Ndim >::end ( )
inline

◆ operator()() [1/3]

template<typename T , ssize_t Ndim = 2>
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T & >::type aare::NDView< T, Ndim >::operator() ( Ix...  index)
inline

◆ operator()() [2/3]

template<typename T , ssize_t Ndim = 2>
template<typename... Ix>
std::enable_if< sizeof...(Ix)==Ndim, T & >::type aare::NDView< T, Ndim >::operator() ( Ix...  index) const
inline

◆ operator()() [3/3]

template<typename T , ssize_t Ndim = 2>
T & aare::NDView< T, Ndim >::operator() ( ssize_t  i)
inline

◆ operator*=()

template<typename T , ssize_t Ndim = 2>
NDView & aare::NDView< T, Ndim >::operator*= ( const T  val)
inline

◆ operator+=()

template<typename T , ssize_t Ndim = 2>
NDView & aare::NDView< T, Ndim >::operator+= ( const T  val)
inline

◆ operator-=()

template<typename T , ssize_t Ndim = 2>
NDView & aare::NDView< T, Ndim >::operator-= ( const T  val)
inline

◆ operator/=() [1/2]

template<typename T , ssize_t Ndim = 2>
NDView & aare::NDView< T, Ndim >::operator/= ( const NDView< T, Ndim > &  other)
inline

◆ operator/=() [2/2]

template<typename T , ssize_t Ndim = 2>
NDView & aare::NDView< T, Ndim >::operator/= ( const T  val)
inline

◆ operator=() [1/2]

template<typename T , ssize_t Ndim = 2>
NDView & aare::NDView< T, Ndim >::operator= ( const NDView< T, Ndim > &  other)
inline

◆ operator=() [2/2]

template<typename T , ssize_t Ndim = 2>
NDView & aare::NDView< T, Ndim >::operator= ( const T  val)
inline

◆ operator==()

template<typename T , ssize_t Ndim = 2>
bool aare::NDView< T, Ndim >::operator== ( const NDView< T, Ndim > &  other) const
inline

◆ operator[]()

template<typename T , ssize_t Ndim = 2>
T & aare::NDView< T, Ndim >::operator[] ( ssize_t  i)
inline

◆ shape() [1/2]

template<typename T , ssize_t Ndim = 2>
auto & aare::NDView< T, Ndim >::shape ( )
inline

◆ shape() [2/2]

template<typename T , ssize_t Ndim = 2>
auto aare::NDView< T, Ndim >::shape ( ssize_t  i) const
inline

◆ size()

template<typename T , ssize_t Ndim = 2>
ssize_t aare::NDView< T, Ndim >::size ( ) const
inline

Field Documentation

◆ buffer_

template<typename T , ssize_t Ndim = 2>
T* aare::NDView< T, Ndim >::buffer_ {nullptr}
private

◆ shape_

template<typename T , ssize_t Ndim = 2>
std::array<ssize_t, Ndim> aare::NDView< T, Ndim >::shape_ {}
private

◆ size_

template<typename T , ssize_t Ndim = 2>
ssize_t aare::NDView< T, Ndim >::size_ {}
private

◆ strides_

template<typename T , ssize_t Ndim = 2>
std::array<ssize_t, Ndim> aare::NDView< T, Ndim >::strides_ {}
private

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