16 #include <type_traits>
19 inline namespace _V1 {
24 inline typename std::enable_if<!std::is_pointer<T>::value,
void>::type
26 std::cout <<
"<unknown> : " << val << std::endl;
30 inline typename std::enable_if<std::is_pointer<T>::value,
void>::type
32 std::cout <<
"<unknown> : " <<
reinterpret_cast<const void *
>(val)
37 std::cout <<
"pi_platform : " << val << std::endl;
40 template <>
inline void print<>(
PiEvent val) {
41 std::cout <<
"pi_event : " << val << std::endl;
44 template <>
inline void print<>(
PiMem val) {
45 std::cout <<
"pi_mem : " << val << std::endl;
48 template <>
inline void print<>(
PiEvent *val) {
57 template <>
inline void print<>(
const PiEvent *val) {
58 std::cout <<
"const pi_event * : " << val;
68 << rgn->
size << std::endl;
72 std::cout <<
"pi_buff_rect_region width_bytes/height/depth : "
83 std::cout <<
"pi_image_region width/height/depth : " << rgn->
width <<
"/"
88 std::cout <<
"pi_image_offset x/y/z : " << off->
x <<
"/" << off->
y <<
"/"
89 << off->
z << std::endl;
97 <<
" -- num_mip_lvls/num_smpls/image_type : "
104 if (val == PI_SUCCESS)
111 template <>
inline void print<>(std::nullptr_t) {
115 template <>
inline void print<>(
char *val) {
116 std::cout <<
"<char * > : " <<
static_cast<void *
>(val) << std::endl;
119 template <>
inline void print<>(
const char *val) {
120 std::cout <<
"<const char *>: " << val << std::endl;
124 template <
typename Arg0,
typename... Args>
137 std::cout <<
"\t[out]pi_event * : " << val;
148 std::cout <<
"\t[out]pi_mem * : " << val;
163 std::cout <<
"\t[out]<unknown> ** : " << val;
173 template <
typename Arg0,
typename... Args>
175 using T = decltype(arg0);
__SYCL_EXTERN_STREAM_ATTRS ostream cout
Linked to standard output.
std::enable_if<!std::is_pointer< T >::value, void >::type print(T val)
C++ wrapper of extern "C" PI interfaces.