3 #include <muda/muda_def.h> 13 using raw_type_t = std::remove_all_extents_t<std::remove_reference_t<T>>;
33 using read_only_viewer_t =
typename read_only_viewer<T>::type;
36 constexpr
bool is_read_only_viewer_v = std::is_same_v<T, read_only_viewer_t<T>>;
39 using read_write_viewer_t =
typename read_write_viewer<T>::type;
42 constexpr
bool is_read_write_viewer_v = std::is_same_v<T, read_write_viewer_t<T>>;
45 constexpr
bool is_uniform_viewer_v =
46 is_read_only_viewer_v<T> && is_read_write_viewer_v<T>;
51 MUDA_GENERIC MUDA_INLINE T* remove_const(
const T* ptr) noexcept
53 return const_cast<T*
>(ptr);
57 MUDA_GENERIC MUDA_INLINE T& remove_const(
const T& ref) noexcept
59 return const_cast<T&
>(ref);
Definition: type_modifier.h:21
Definition: type_modifier.h:27