31template <
bool B,
typename T =
void>
37template <
bool B,
typename T =
void>
42#if defined(__has_include) && __has_include(<type_traits>)
50template <
typename T>
struct is_integral {
static const bool value =
false; };
52template <>
struct is_integral<bool> {
static const bool value =
true; };
53template <>
struct is_integral<char> {
static const bool value =
true; };
54template <>
struct is_integral<signed char> {
static const bool value =
true; };
55template <>
struct is_integral<unsigned char> {
static const bool value =
true; };
56template <>
struct is_integral<short> {
static const bool value =
true; };
57template <>
struct is_integral<unsigned short> {
static const bool value =
true; };
58template <>
struct is_integral<int> {
static const bool value =
true; };
59template <>
struct is_integral<unsigned int> {
static const bool value =
true; };
60template <>
struct is_integral<long> {
static const bool value =
true; };
61template <>
struct is_integral<unsigned long> {
static const bool value =
true; };
62template <>
struct is_integral<long long> {
static const bool value =
true; };
63template <>
struct is_integral<unsigned long long> {
static const bool value =
true; };
69template <
typename T,
typename U>
70struct is_same {
static const bool value =
false; };
72struct is_same<T, T> {
static const bool value =
true; };
86#if __cplusplus >= 201103L
91template <
typename T>
struct remove_const<const T> {
typedef T type; };
98 typedef typename remove_const<typename remove_volatile<T>::type>::type type;
103 typedef typename remove_cv<typename remove_reference<T>::type>::type type;
Definition pq_traits.h:109
Definition pq_traits.h:32
Definition pq_traits.h:50
Definition pq_traits.h:70
Definition pq_traits.h:90
Definition pq_traits.h:97
Definition pq_traits.h:102
Definition pq_traits.h:84
Definition pq_traits.h:93
Definition pq_traits.h:78