Alexandria
2.25.0
SDC-CH common library for the Euclid project
|
Public Member Functions | |
~ContainerWrapper ()=default | |
ContainerWrapper (const ContainerWrapper &)=delete | |
ContainerWrapper (ContainerWrapper &&) noexcept=default | |
template<typename... Args> | |
ContainerWrapper (Args &&... args) | |
size_t | size () const final |
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. More... | |
![]() | |
virtual | ~ContainerInterface ()=default |
T | get (size_t offset) const |
Get the element at the given absolute offset (in bytes) More... | |
T & | get (size_t offset) |
Get a reference to the element at the given absolute offset (in bytes) More... | |
size_t | nbytes () const |
Get the size in bytes. More... | |
Public Attributes | |
Container< T > | m_container |
char * | m_data_ptr |
![]() | |
char * | m_data_ptr |
|
default |
|
delete |
|
defaultnoexcept |
|
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 587 of file NdArray.h.
References Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::m_container.
|
inlinefinalvirtual |
Implements Euclid::NdArray::NdArray< T >::ContainerInterface.
Definition at line 582 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 >::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 512 of file NdArray.h.
Referenced by Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::ContainerWrapper(), and Euclid::NdArray::NdArray< T >::ContainerWrapper< Container >::resize().