using = ; using = ; // actually a 64 bit pointer // should make use of parent info using = uint64_t; // should make use of function parameters typedef void (*) (void); struct { ; }; // should make use of member types union { ; }; constexpr auto = ; // make use of @expand enum { = , }; enum { = 1UL << = #error Unhandle enum type for , }; ( , ); #ifndef __VK_HPP #define __VK_HPP #include <cstdint> #include <cstddef> #ifdef __cplusplus extern "C" { #endif struct Display; struct VisualID; using Window = unsigned long; struct ANativeWindow; struct MirConnection; struct MirSurface; struct wl_display; struct wl_surface; using HANDLE = void*; using HINSTANCE = HANDLE; using HWND = HANDLE; using SECURITY_ATTRIBUTES = HANDLE; using DWORD = uint32_t; using LPCWSTR = char16_t*; struct xcb_connection_t; struct xcb_visualid_t; using xcb_window_t = uint32_t; using XID = unsigned long; using RROutput = XID; // because, in its wisdom, the spec doesn't actually allow us to // extract the value for VK_NULL_HANDLE from the XML we'll just // hard code it here. #define VK_NULL_HANDLE uintptr_t(0) #ifdef __cplusplus } #endif #endif #error Unmatched element < =>