XRTraits C++ OpenXR Utilities
Namespaces | Classes | Typedefs | Functions | Variables
xrtraits Namespace Reference

Main namespace for these C++ OpenXR utilities. More...

Namespaces

 casts
 Casts for OpenXR tagged types, as well as utilities for traversing a next chain.
 
 exceptions
 Namespace for custom exception types that may be thrown internal to the utilities.
 
 traits
 C++11/14/17 "type traits" for manipulating and reasoning about types at compile-time.
 

Classes

struct  Initialized
 

Typedefs

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

Functions

template<typename T >
T * initXrType (T *storage)
 
template<typename T >
T * initXrType (void *storage)
 
template<typename T >
T * initXrType (T &storage)
 
template<typename T >
make_zeroed ()
 
template<typename T >
std::vector< T > make_zeroed_vector (size_t n)
 
template<typename T , typename F , typename... Args>
std::vector< T > doTwoCall (F &&wrappedCall, Args &&... a)
 
template<typename T , typename F , typename... Args>
std::vector< T > doTwoCallWithSizeHint (uint32_t sizeHint, F &&wrappedCall, Args &&... a)
 
template<typename T , typename F , typename... Args>
XrResult doTwoCallInPlace (std::vector< T > &container, F &&wrappedCall, Args &&... a)
 

Variables

template<typename T >
constexpr bool is_pointer_v = std::is_pointer<T>::value
 Variable template wrapping std::is_pointer<T>::value. More...
 
template<typename T >
constexpr bool is_reference_v = std::is_reference<T>::value
 Variable template wrapping std::is_reference<T>::value. More...
 
template<typename T >
constexpr bool is_const_v = std::is_const<T>::value
 Variable template wrapping std::is_const<T>::value. More...
 
template<typename T , typename U >
constexpr bool is_same_v = std::is_same<T, U>::value
 Variable template wrapping std::is_same<T, U>::value. More...
 

Detailed Description

Main namespace for these C++ OpenXR utilities.

Variable Documentation

◆ is_const_v

template<typename T >
constexpr bool xrtraits::is_const_v = std::is_const<T>::value

Variable template wrapping std::is_const<T>::value.

◆ is_pointer_v

template<typename T >
constexpr bool xrtraits::is_pointer_v = std::is_pointer<T>::value

Variable template wrapping std::is_pointer<T>::value.

◆ is_reference_v

template<typename T >
constexpr bool xrtraits::is_reference_v = std::is_reference<T>::value

Variable template wrapping std::is_reference<T>::value.

◆ is_same_v

template<typename T , typename U >
constexpr bool xrtraits::is_same_v = std::is_same<T, U>::value

Variable template wrapping std::is_same<T, U>::value.

Referenced by xrtraits::Initialized< T >::Initialized(), and xrtraits::casts::xr_tagged_risky_cast().