Alexandria 2.31.0
SDC-CH common library for the Euclid project
|
Public Member Functions | |
~ContainerWrapper ()=default | |
ContainerWrapper (const ContainerWrapper &)=delete | |
ContainerWrapper (ContainerWrapper &&)=default | |
template<typename... Args> | |
ContainerWrapper (Args &&... args) | |
size_t | size () const final |
template<typename T2 > | |
auto | nbytesImpl (int) const -> decltype(std::declval< Container< T2 > >().nbytes()) |
template<typename T2 > | |
size_t | nbytesImpl (...) const |
size_t | nbytes () const final |
Get the size in bytes. | |
template<typename T2 > | |
auto | resizeImpl (const std::vector< size_t > &shape) -> decltype((void) std::declval< Container< T2 > >().resize(std::vector< size_t >{}), void()) |
template<typename T2 > | |
auto | resizeImpl (const std::vector< size_t > &shape) -> decltype((void) std::declval< Container< T2 > >().resize(size_t{}), void()) |
void | resize (const std::vector< size_t > &shape) final |
std::unique_ptr< ContainerInterface > | copy () const final |
Expected to generate a deep copy of the underlying data. | |
![]() | |
virtual | ~ContainerInterface ()=default |
T | get (size_t offset) const |
Get the element at the given absolute offset (in bytes) | |
T & | get (size_t offset) |
Get a reference to the element at the given absolute offset (in bytes) | |
Public Attributes | |
Container< T > | m_container |
char * | m_data_ptr |
![]() | |
char * | m_data_ptr |
|
default |
|
delete |
|
default |
|
inlineexplicit |
Definition at line 554 of file NdArray.h.
References Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_container, and Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_data_ptr.
|
inlinefinalvirtual |
Expected to generate a deep copy of the underlying data.
Implements Euclid::NdArray::NdArray< T >::ContainerInterface.
Definition at line 601 of file NdArray.h.
References Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_container.
|
inlinefinalvirtual |
Get the size in bytes.
Implements Euclid::NdArray::NdArray< T >::ContainerInterface.
|
inline |
Definition at line 568 of file NdArray.h.
References Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_container.
|
inline |
Definition at line 563 of file NdArray.h.
References Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_container.
|
inlinefinalvirtual |
Implements Euclid::NdArray::NdArray< T >::ContainerInterface.
Definition at line 596 of file NdArray.h.
References Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_container, Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_data_ptr, and Euclid::NdArray::NdArray< T >::shape().
|
inline |
|
inline |
|
inlinefinalvirtual |
Implements Euclid::NdArray::NdArray< T >::ContainerInterface.
Definition at line 558 of file NdArray.h.
References Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_container.
Container<T> Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_container |
Definition at line 545 of file NdArray.h.
Referenced by Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::ContainerWrapper(), Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::copy(), Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::nbytesImpl(), Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::nbytesImpl(), Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::resize(), and Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::size().
char* Euclid::NdArray::NdArray< T >::ContainerInterface::m_data_ptr |
Owned by the specific implementation ContainerWrapper, but exposed here to avoid indirections
Definition at line 514 of file NdArray.h.
Referenced by Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::ContainerWrapper(), and Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::resize().