54 =
requires(T t, T_Mut mut_t, T_Const const_t,
alpaka::Vec<
typename T::index_type, T::dim()> vec) {
57 typename T::reference;
58 typename T::const_reference;
60 typename T::const_pointer;
62 { *mut_t } -> std::same_as<typename T::reference>;
63 { *const_t } -> std::same_as<typename T::const_reference>;
64 { mut_t.data() } -> std::same_as<typename T::pointer>;
65 { const_t.data() } -> std::same_as<typename T::const_pointer>;
67 { mut_t[vec] } -> std::same_as<typename T::reference>;
68 { const_t[vec] } -> std::same_as<typename T::const_reference>;
70 requires(T::dim() != 1u) || (T::dim() == 1u &&
requires {
71 { mut_t[
typename T::index_type{0}] } -> std::same_as<typename T::reference>;
73 requires(T::dim() != 1u) || (T::dim() == 1u &&
requires {
74 { const_t[
typename T::index_type{0}] } -> std::same_as<typename T::const_reference>;