diff options
Diffstat (limited to 'src/xcb_event.hh')
| -rw-r--r-- | src/xcb_event.hh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/xcb_event.hh b/src/xcb_event.hh new file mode 100644 index 0000000..5934603 --- /dev/null +++ b/src/xcb_event.hh @@ -0,0 +1,32 @@ +#ifndef XCB_EVENT_HH +#define XCB_EVENT_HH + +#include <memory> +#include <stdlib.h> +#include <xcb/xcb.h> +#include <xcb/xcb_event.h> + +namespace xcb { + +namespace internal { + +struct FreeDeleter { + void operator() (void* ptr) { + free(ptr); + } +}; + +} // namespace internal + +typedef std::unique_ptr<xcb_generic_event_t, + internal::FreeDeleter> generic_event; + +typedef std::unique_ptr<xcb_generic_error_t, + internal::FreeDeleter> generic_error; + +template<typename T> +using reply = std::unique_ptr<T, internal::FreeDeleter>; + +} // namespace xcb + +#endif // XCB_EVENT_HH |
