atlas
Classes | Typedefs | Functions | Variables
atlas::array Namespace Reference

Contains classes to operate with multidimensional arrays. More...

Classes

struct  add_const
 
struct  add_const< T const >
 
class  Array
 
class  ArrayAlignment
 
class  ArrayDataStore
 
class  ArrayLayout
 
class  ArrayShape
 
class  ArraySpec
 
class  ArrayStrides
 
class  ArrayT
 
class  ArrayT_impl
 
class  ArrayView
 Multi-dimensional access to a Array object or Field object. More...
 
class  DataType
 
struct  Dim
 
struct  FirstDim
 
struct  get_dim
 
struct  get_dim< Dim< cDim > >
 
struct  get_slice_type
 
struct  host_device_array
 
class  IndexView
 Multidimensional access to Array or Field objects containing index fields that are compatible with Fortran indexing. More...
 
struct  is_dim_policy
 
struct  is_dim_policy< Dim< cDim > >
 
struct  is_dim_policy< FirstDim >
 
struct  is_dim_policy< LastDim >
 
struct  LastDim
 
class  LocalIndexView
 
class  LocalView
 Multi-dimensional access existing POD array pointer. More...
 
class  Range
 
struct  Reference
 
struct  remove_const
 
struct  remove_const< T const >
 
struct  StoragePropBuilder
 
struct  StoragePropBuilder< StorageInfo, Rank, std::integer_sequence< std::size_t, I... > >
 
class  SVector
 
class  Table
 Table. More...
 
class  TableRow
 
class  TableView
 
class  Vector
 
class  VectorView
 

Typedefs

typedef std::vector< idx_tArrayIdx
 

Functions

template<typename... idx_t>
ArrayIdx make_idx (idx_t... indices)
 
template<typename... idx_t>
ArrayLayout make_layout (idx_t... indices)
 
ArrayShape make_shape (std::initializer_list< idx_t > sizes)
 
template<typename... idx_t>
ArrayShape make_shape (idx_t... indices)
 
ArrayStrides make_strides (std::initializer_list< idx_t > sizes)
 
template<typename... idx_t>
ArrayStrides make_strides (idx_t... indices)
 
void throw_OutOfRange (const std::string &class_name, char idx_str, int idx, int max)
 
template<int cnt, int DimSkip, typename DATA_TYPE , int RANK>
constexpr std::enable_if<(cnt==RANK), idx_t >::type get_var_size_impl (array::ArrayView< DATA_TYPE, RANK > &field)
 
template<int cnt, int DimSkip, typename DATA_TYPE , int RANK>
constexpr std::enable_if<(cnt !=RANK), idx_t >::type get_var_size_impl (array::ArrayView< DATA_TYPE, RANK > &field)
 
template<int DimSkip, typename DATA_TYPE , int RANK>
constexpr idx_t get_var_size (array::ArrayView< DATA_TYPE, RANK > &field)
 
template<typename DimPolicy , typename DATA_TYPE , int RANK>
constexpr unsigned int get_parallel_dim (array::ArrayView< DATA_TYPE, RANK > &field)
 
template<>
std::string DataType::str< std::byte > ()
 
template<>
std::string DataType::str< const std::byte > ()
 
template<>
DataType::kind_t DataType::kind< std::byte > ()
 
template<>
DataType::kind_t DataType::kind< const std::byte > ()
 
bool operator== (DataType dt1, DataType dt2)
 
bool operator!= (DataType dt1, DataType dt2)
 
bool operator== (DataType dt, DataType::kind_t kind)
 
bool operator!= (DataType dt, DataType::kind_t kind)
 
bool operator== (DataType::kind_t kind, DataType dt)
 
bool operator!= (DataType::kind_t kind, DataType dt)
 
template<typename DATATYPE >
DataType make_datatype ()
 
template<typename Value , int Rank>
ArrayView< Value, Rank > make_host_view (Array &array)
 
template<typename Value , int Rank>
ArrayView< const Value, Rank > make_host_view (const Array &array)
 
template<typename Value , int Rank>
ArrayView< Value, Rank > make_device_view (Array &array)
 
template<typename Value , int Rank>
ArrayView< const Value, Rank > make_device_view (const Array &array)
 
template<typename Value , int Rank>
ArrayView< Value, Rank > make_view (Array &array)
 
template<typename Value , int Rank>
ArrayView< const Value, Rank > make_view (const Array &array)
 
template<typename Value , int Rank>
IndexView< Value, Rank > make_host_indexview (Array &array)
 
template<typename Value , int Rank>
IndexView< const Value, Rank > make_host_indexview (const Array &array)
 
template<typename Value , int Rank>
IndexView< Value, Rank > make_indexview (Array &array)
 
template<typename Value , int Rank>
IndexView< const Value, Rank > make_indexview (const Array &array)
 
template<class Value , int Rank, ENABLE_IF_NOT_CONST >
LocalView< Value, Rank > make_view (Value data[], const ArrayShape &shape)
 
template<class Value , int Rank, ENABLE_IF_NOT_CONST >
LocalView< const Value, Rank > make_view (const Value data[], const ArrayShape &shape)
 
template<class Value , int Rank, ENABLE_IF_CONST >
LocalView< Value, Rank > make_view (typename std::remove_const< Value >::type data[], const ArrayShape &shape)
 
template<typename Value , unsigned int Rank, ENABLE_IF_NOT_CONST >
LocalView< Value, Rank > make_view (Value data[], size_t size)
 
template<typename Value , unsigned int Rank, ENABLE_IF_NOT_CONST >
LocalView< const Value, Rank > make_view (const Value data[], size_t size)
 
template<typename Value , unsigned int Rank, ENABLE_IF_CONST >
LocalView< Value, Rank > make_view (typename std::remove_const< Value >::type data[], size_t size)
 
template IndexView< idx_t, 1 > make_indexview< idx_t, 1 > (Array &)
 
template IndexView< idx_t, 2 > make_indexview< idx_t, 2 > (Array &)
 
template IndexView< const idx_t, 1 > make_indexview< const idx_t, 1 > (Array &)
 
template IndexView< const idx_t, 2 > make_indexview< const idx_t, 2 > (Array &)
 
template IndexView< const idx_t, 1 > make_indexview< idx_t, 1 > (const Array &)
 
template IndexView< const idx_t, 2 > make_indexview< idx_t, 2 > (const Array &)
 
void allocate_managedmem_double (double **a, int N)
 
void allocate_managedmem_float (double **a, int N)
 
void allocate_managedmem_int (int **a, int N)
 
void allocate_managedmem_long (long **a, int N)
 
template<bool ReadOnly>
TableView< ReadOnly > make_table_view (const Table &table)
 
template TableView< true > make_table_view< true > (const Table &)
 
template TableView< false > make_table_view< false > (const Table &)
 
template<typename T >
VectorView< T > make_host_vector_view (Vector< T > vector_)
 
template<typename T >
VectorView< T > make_device_vector_view (Vector< T > vector_)
 
void interprete (const atlas::array::Array &a, atlas::io::ArrayReference &out)
 
void decode (const atlas::io::Metadata &metadata, const atlas::io::Data &data, atlas::array::Array &out)
 

Variables

constexpr bool host_view = false
 
constexpr bool device_view = true
 

Detailed Description

Contains classes to operate with multidimensional arrays.