XRTraits C++ OpenXR Utilities
Typedefs
RAII Handle Wrappers

Types performing RAII-style automatic destruction of handles. More...

Typedefs

using xrtraits::UniqueInstance = std::unique_ptr< std::remove_pointer_t< XrInstance >, handle_destroyers::OpenXRHandleDestroyer >
 Scoped RAII pointer type wrapping XrInstance. More...
 
using xrtraits::UniqueSession = std::unique_ptr< std::remove_pointer_t< XrSession >, handle_destroyers::OpenXRHandleDestroyer >
 Scoped RAII pointer type wrapping XrSession. More...
 
using xrtraits::UniqueSwapchain = std::unique_ptr< std::remove_pointer_t< XrSwapchain >, handle_destroyers::OpenXRHandleDestroyer >
 Scoped RAII pointer type wrapping XrSwapchain. More...
 
using xrtraits::UniqueAction = std::unique_ptr< std::remove_pointer_t< XrAction >, handle_destroyers::OpenXRHandleDestroyer >
 Scoped RAII pointer type wrapping XrAction. More...
 
using xrtraits::UniqueActionSet = std::unique_ptr< std::remove_pointer_t< XrActionSet >, handle_destroyers::OpenXRHandleDestroyer >
 Scoped RAII pointer type wrapping XrActionSet. More...
 
using xrtraits::UniqueSpace = std::unique_ptr< std::remove_pointer_t< XrSpace >, handle_destroyers::OpenXRHandleDestroyer >
 Scoped RAII pointer type wrapping XrSpace. More...
 

Detailed Description

Types performing RAII-style automatic destruction of handles.

These are currently using std::unique_ptr for their implementation, which does mean that they won't work on 32-bit platforms (where handles are 64-bit integers).

Todo:
Make a custom class template to replace the use of std::unique_ptr for 32-bit compatibility.

Typedef Documentation

◆ UniqueAction

using xrtraits::UniqueAction = typedef std::unique_ptr<std::remove_pointer_t<XrAction>, handle_destroyers::OpenXRHandleDestroyer>

#include <xrtraits/UniqueHandles.h>

Scoped RAII pointer type wrapping XrAction.

◆ UniqueActionSet

using xrtraits::UniqueActionSet = typedef std::unique_ptr<std::remove_pointer_t<XrActionSet>, handle_destroyers::OpenXRHandleDestroyer>

#include <xrtraits/UniqueHandles.h>

Scoped RAII pointer type wrapping XrActionSet.

◆ UniqueInstance

using xrtraits::UniqueInstance = typedef std::unique_ptr<std::remove_pointer_t<XrInstance>, handle_destroyers::OpenXRHandleDestroyer>

#include <xrtraits/UniqueHandles.h>

Scoped RAII pointer type wrapping XrInstance.

◆ UniqueSession

using xrtraits::UniqueSession = typedef std::unique_ptr<std::remove_pointer_t<XrSession>, handle_destroyers::OpenXRHandleDestroyer>

#include <xrtraits/UniqueHandles.h>

Scoped RAII pointer type wrapping XrSession.

◆ UniqueSpace

using xrtraits::UniqueSpace = typedef std::unique_ptr<std::remove_pointer_t<XrSpace>, handle_destroyers::OpenXRHandleDestroyer>

#include <xrtraits/UniqueHandles.h>

Scoped RAII pointer type wrapping XrSpace.

◆ UniqueSwapchain

using xrtraits::UniqueSwapchain = typedef std::unique_ptr<std::remove_pointer_t<XrSwapchain>, handle_destroyers::OpenXRHandleDestroyer>

#include <xrtraits/UniqueHandles.h>

Scoped RAII pointer type wrapping XrSwapchain.