15#ifndef GPUCOMMONTYPETRAITS_H
16#define GPUCOMMONTYPETRAITS_H
20#if !defined(GPUCA_GPUCODE_DEVICE) || defined(__CUDACC__) || defined(__HIPCC__)
21#ifndef GPUCA_GPUCODE_COMPILEKERNELS
28template <
bool B,
class T,
class F>
32template <
class T,
class F>
33struct conditional<false,
T, F> {
36template <
bool B,
class T,
class F>
37using contitional_t =
typename conditional<B, T, F>::type;
38template <
class T,
class U>
40 static constexpr bool value =
false;
44 static constexpr bool value =
true;
46template <
class T,
class U>
47static constexpr bool is_same_v = is_same<T, U>::value;
48template <
bool B,
class T =
void>
52struct enable_if<true,
T> {
60struct remove_cv<const
T> {
64struct remove_cv<volatile
T> {
68struct remove_cv<const volatile
T> {
76struct remove_const<const
T> {
80struct remove_volatile {
84struct remove_volatile<volatile
T> {
89 static constexpr bool value =
false;
92struct is_pointer_t<
T*> {
93 static constexpr bool value =
true;
96struct is_pointer : is_pointer_t<typename std::remove_cv<T>::type> {
GLsizei const GLfloat * value
GLint GLint GLsizei GLint GLenum GLenum type
Defining DataPointCompositeObject explicitly as copiable.