15 #include <type_traits>
18 inline namespace _V1 {
23 inline typename std::enable_if<!std::is_pointer<T>::value,
void>::type
25 std::cout <<
"<unknown> : " << val << std::endl;
29 inline typename std::enable_if<std::is_pointer<T>::value,
void>::type
31 std::cout <<
"<unknown> : " <<
reinterpret_cast<const void *
>(val)
36 std::cout <<
"pi_platform : " << val << std::endl;
39 template <>
inline void print<>(
PiEvent val) {
40 std::cout <<
"pi_event : " << val << std::endl;
43 template <>
inline void print<>(
PiMem val) {
44 std::cout <<
"pi_mem : " << val << std::endl;
47 template <>
inline void print<>(
PiEvent *val) {
56 template <>
inline void print<>(
const PiEvent *val) {
57 std::cout <<
"const pi_event * : " << val;
67 << rgn->
size << std::endl;
71 std::cout <<
"pi_buff_rect_region width_bytes/height/depth : "
82 std::cout <<
"pi_image_region width/height/depth : " << rgn->
width <<
"/"
87 std::cout <<
"pi_image_offset x/y/z : " << off->
x <<
"/" << off->
y <<
"/"
88 << off->
z << std::endl;
96 <<
" -- num_mip_lvls/num_smpls/image_type : "
103 if (val == PI_SUCCESS)
110 template <>
inline void print<>(std::nullptr_t) {
114 template <>
inline void print<>(
char *val) {
115 std::cout <<
"<char * > : " <<
static_cast<void *
>(val) << std::endl;
118 template <>
inline void print<>(
const char *val) {
119 std::cout <<
"<const char *>: " << val << std::endl;
123 template <
typename Arg0,
typename... Args>
136 std::cout <<
"\t[out]pi_event * : " << val;
147 std::cout <<
"\t[out]pi_mem * : " << val;
162 std::cout <<
"\t[out]<unknown> ** : " << val;
172 template <
typename Arg0,
typename... Args>
174 using T = decltype(arg0);