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