21 #include <type_traits> 22 #include "atlas/array/ArrayViewDefs.h" 24 #define ENABLE_IF_NOT_CONST typename std::enable_if<!std::is_const<Value>::value, Value>::type* = nullptr 25 #define ENABLE_IF_CONST typename std::enable_if<std::is_const<Value>::value, Value>::type* = nullptr 40 template <
typename Value>
43 template <
typename Value,
int Rank>
46 template <
typename Value,
int Rank>
49 template <
typename Value,
int Rank>
52 template <
typename Value,
int Rank>
53 ArrayView<Value, Rank> make_view( Array& array );
55 template <
typename Value,
int Rank>
56 ArrayView<const Value, Rank> make_view(
const Array& array );
59 template <
class Value,
int Rank, ENABLE_IF_NOT_CONST>
60 LocalView<Value, Rank> make_view( Value data[],
const ArrayShape& shape );
62 template <
class Value,
int Rank, ENABLE_IF_NOT_CONST>
63 LocalView<const Value, Rank> make_view(
const Value data[],
const ArrayShape& shape );
65 template <
class Value,
int Rank, ENABLE_IF_CONST>
66 LocalView<Value, Rank> make_view( Value data[],
const ArrayShape& shape );
68 template <
class Value,
int Rank, ENABLE_IF_CONST>
69 LocalView<Value, Rank> make_view(
typename std::remove_const<Value>::type data[],
const ArrayShape& shape );
73 template <
typename Value,
unsigned int Rank, ENABLE_IF_NOT_CONST>
74 LocalView<Value, Rank> make_view( Value data[],
size_t size );
76 template <
typename Value,
unsigned int Rank, ENABLE_IF_NOT_CONST>
77 LocalView<const Value, Rank> make_view(
const Value data[],
size_t size );
79 template <
typename Value,
unsigned int Rank, ENABLE_IF_CONST>
80 LocalView<Value, Rank> make_view( Value data[],
size_t size );
82 template <
typename Value,
unsigned int Rank, ENABLE_IF_CONST>
83 LocalView<Value, Rank> make_view(
typename std::remove_const<Value>::type data[],
size_t size );
85 template <
typename Value,
int Rank>
86 ArrayView<Value, Rank> make_host_view( Array& array );
88 template <
typename Value,
int Rank>
89 ArrayView<const Value, Rank> make_host_view(
const Array& array );
91 template <
typename Value,
int Rank>
92 ArrayView<Value, Rank> make_device_view( Array& array );
94 template <
typename Value,
int Rank>
95 ArrayView<const Value, Rank> make_device_view(
const Array& array );
98 template <
typename Value,
int Rank>
99 IndexView<Value, Rank> make_indexview( Array& array );
101 template <
typename Value,
int Rank>
102 IndexView<const Value, Rank> make_indexview(
const Array& array );
105 template <
typename Value,
int Rank>
106 IndexView<Value, Rank> make_host_indexview( Array& array );
108 template <
typename Value,
int Rank>
109 IndexView<const Value, Rank> make_host_indexview(
const Array& array );
122 #undef ENABLE_IF_NOT_CONST 123 #undef ENABLE_IF_CONST Contains all atlas classes and methods.
Definition: atlas-grids.cc:33