atlas::array::Array class

Derived classes

template<typename Value>
class ArrayT

Public types

struct CopyPolicy

Public static functions

static auto create(array::DataType, const ArrayShape&) -> Array*
static auto create(array::DataType, const ArrayShape&, const ArrayLayout&) -> Array*
static auto create(array::DataType, ArraySpec&&) -> Array*
static auto create(ArraySpec&&) -> Array*
template<typename Value>
static auto create(idx_t size0) -> Array*
template<typename Value>
static auto create(idx_t size0, idx_t size1) -> Array*
template<typename Value>
static auto create(idx_t size0, idx_t size1, idx_t size2) -> Array*
template<typename Value>
static auto create(idx_t size0, idx_t size1, idx_t size2, idx_t size3) -> Array*
template<typename Value>
static auto create(idx_t size0, idx_t size1, idx_t size2, idx_t size3, idx_t size4) -> Array*
template<typename Value>
static auto create(const ArrayShape& shape) -> Array*
template<typename Value>
static auto create(const ArrayShape& shape, const ArrayLayout& layout) -> Array*
template<typename Value>
static auto wrap(Value* data, const ArrayShape& shape) -> Array*
template<typename Value>
static auto wrap(Value* data, const ArraySpec& spec) -> Array*

Constructors, destructors, conversion operators

Array() defaulted
~Array() virtual

Public functions

auto footprint() const -> size_t pure virtual
auto bytes() const -> idx_t
auto size() const -> size_t
auto rank() const -> idx_t
auto stride(idx_t i) const -> idx_t
auto shape(idx_t i) const -> idx_t
auto strides() const -> const ArrayStrides&
auto device_strides() const -> const ArrayStrides&
auto shape() const -> const ArrayShape&
auto shapef() const -> const std::vector<int>&
auto stridesf() const -> const std::vector<int>&
auto device_stridesf() const -> const std::vector<int>&
auto contiguous() const -> bool
auto hasDefaultLayout() const -> bool
auto datatype() const -> array::DataType pure virtual
void resize(const ArrayShape& shape) pure virtual
void resize(idx_t size0) pure virtual
void resize(idx_t size0, idx_t size1) pure virtual
void resize(idx_t size0, idx_t size1, idx_t size2) pure virtual
void resize(idx_t size0, idx_t size1, idx_t size2, idx_t size3) pure virtual
void resize(idx_t size0, idx_t size1, idx_t size2, idx_t size3, idx_t size4) pure virtual
void insert(idx_t idx1, idx_t size1) pure virtual
void dump(std::ostream& os) const pure virtual
void accMap() const pure virtual
void accUnmap() const pure virtual
auto accMapped() const -> bool pure virtual
auto storage() -> void* virtual
auto storage() const -> const void* virtual
auto valid() const -> bool
void updateDevice() const
void updateHost() const
void syncHostDevice() const
auto hostNeedsUpdate() const -> bool
auto deviceNeedsUpdate() const -> bool
void setHostNeedsUpdate(bool v) const
void setDeviceNeedsUpdate(bool v) const
auto deviceAllocated() const -> bool
void allocateDevice()
void deallocateDevice()
void reactivateDeviceWriteViews() const
void reactivateHostWriteViews() const
auto spec() const -> const ArraySpec&
void copy(const Array&, const CopyPolicy&) pure virtual
void copy(const Array& other)
template<typename DATATYPE>
auto host_data() const -> DATATYPE const *
template<typename DATATYPE>
auto host_data() -> DATATYPE*
template<typename DATATYPE>
auto device_data() const -> DATATYPE const *
template<typename DATATYPE>
auto device_data() -> DATATYPE*
template<typename DATATYPE>
auto data() const -> DATATYPE const *
template<typename DATATYPE>
auto data() -> DATATYPE*
auto data() const -> void const *
auto data() -> void*
auto data_store() const -> const ArrayDataStore&