Skyscraper 2.0
xr::UniqueXrHandle< HandleType > Class Template Reference

#include <XrHandle.h>

Public Member Functions

 UniqueXrHandle ()=default
 
 UniqueXrHandle (const UniqueXrHandle &)=delete
 
 UniqueXrHandle (UniqueXrHandle &&other) noexcept
 
 ~UniqueXrHandle () noexcept
 
UniqueXrHandleoperator= (const UniqueXrHandle &)=delete
 
UniqueXrHandleoperator= (UniqueXrHandle &&other) noexcept
 
bool operator== (const UniqueXrHandle &other) noexcept
 
bool operator!= (const UniqueXrHandle &other) noexcept
 
 operator bool () const noexcept
 
HandleType Get () const noexcept
 
HandleType * Put (PFN_DestroyFunction destroyFunction) noexcept
 
void Reset () noexcept
 

Private Types

using PFN_DestroyFunction = XrResult(XRAPI_PTR*)(HandleType)
 

Private Attributes

HandleType m_handle {XR_NULL_HANDLE}
 
PFN_DestroyFunction m_destroyer {nullptr}
 

Detailed Description

template<typename HandleType>
class xr::UniqueXrHandle< HandleType >

Definition at line 11 of file XrHandle.h.

Member Typedef Documentation

◆ PFN_DestroyFunction

template<typename HandleType >
using xr::UniqueXrHandle< HandleType >::PFN_DestroyFunction = XrResult(XRAPI_PTR*)(HandleType)
private

Definition at line 12 of file XrHandle.h.

Constructor & Destructor Documentation

◆ UniqueXrHandle() [1/3]

template<typename HandleType >
xr::UniqueXrHandle< HandleType >::UniqueXrHandle ( )
default

◆ UniqueXrHandle() [2/3]

template<typename HandleType >
xr::UniqueXrHandle< HandleType >::UniqueXrHandle ( const UniqueXrHandle< HandleType > & )
delete

◆ UniqueXrHandle() [3/3]

template<typename HandleType >
xr::UniqueXrHandle< HandleType >::UniqueXrHandle ( UniqueXrHandle< HandleType > && other)
inlinenoexcept

Definition at line 17 of file XrHandle.h.

◆ ~UniqueXrHandle()

template<typename HandleType >
xr::UniqueXrHandle< HandleType >::~UniqueXrHandle ( )
inlinenoexcept

Definition at line 21 of file XrHandle.h.

References xr::UniqueXrHandle< HandleType >::Reset().

Here is the call graph for this function:

Member Function Documentation

◆ Get()

◆ operator bool()

template<typename HandleType >
xr::UniqueXrHandle< HandleType >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 47 of file XrHandle.h.

References xr::UniqueXrHandle< HandleType >::m_handle.

◆ operator!=()

template<typename HandleType >
bool xr::UniqueXrHandle< HandleType >::operator!= ( const UniqueXrHandle< HandleType > & other)
inlinenoexcept

Definition at line 43 of file XrHandle.h.

References xr::UniqueXrHandle< HandleType >::m_handle.

◆ operator=() [1/2]

template<typename HandleType >
UniqueXrHandle & xr::UniqueXrHandle< HandleType >::operator= ( const UniqueXrHandle< HandleType > & )
delete

◆ operator=() [2/2]

template<typename HandleType >
UniqueXrHandle & xr::UniqueXrHandle< HandleType >::operator= ( UniqueXrHandle< HandleType > && other)
inlinenoexcept

Definition at line 26 of file XrHandle.h.

References xr::UniqueXrHandle< HandleType >::m_destroyer, xr::UniqueXrHandle< HandleType >::m_handle, and xr::UniqueXrHandle< HandleType >::Reset().

Here is the call graph for this function:

◆ operator==()

template<typename HandleType >
bool xr::UniqueXrHandle< HandleType >::operator== ( const UniqueXrHandle< HandleType > & other)
inlinenoexcept

Definition at line 39 of file XrHandle.h.

References xr::UniqueXrHandle< HandleType >::m_handle.

◆ Put()

template<typename HandleType >
HandleType * xr::UniqueXrHandle< HandleType >::Put ( PFN_DestroyFunction destroyFunction)
inlinenoexcept

◆ Reset()

Member Data Documentation

◆ m_destroyer

template<typename HandleType >
PFN_DestroyFunction xr::UniqueXrHandle< HandleType >::m_destroyer {nullptr}
private

◆ m_handle


The documentation for this class was generated from the following file: