|
Monado OpenXR Runtime
|
CRTP glue wrapper for xrt_device. More...
#include <glue/g_device.hpp>
Public Member Functions | |
| DeviceBase () noexcept | |
| Fully resets and sets function pointers on xrt_device. | |
| ~DeviceBase () noexcept=default | |
| Destructor. | |
| const T & | derived () const noexcept |
| T & | derived () noexcept |
| const xrt_device * | getXDev () const noexcept |
| Gets the underlying xrt_device pointer. | |
| xrt_device * | getXDev () noexcept |
| Gets the underlying xrt_device pointer. | |
Static Public Member Functions | |
| static const T * | fromXDev (const xrt_device *xdev) noexcept |
| Gets the pointer to the derived class from a xrt_device. | |
| static T * | fromXDev (xrt_device *xdev) noexcept |
| Gets the pointer to the derived class from a xrt_device. | |
CRTP glue wrapper for xrt_device.
Relies on standard layout to recover the derived object from the C struct, and has some requirements and limitations because of that. See C++ glue wrappers for the guide and conventions for these wrappers.
Unlike the other wrappers it wires function pointers selectively: the functions DeviceFunctions bitmask decides which C function pointers are installed, so T only has to implement C++ methods for the features it turns on.
|
inlinenoexcept |
Fully resets and sets function pointers on xrt_device.
References xrt::util::DeviceBase< T, functions >::getXDev(), u_device_id_assign(), and u_device_populate_function_pointers().
|
defaultnoexcept |
Destructor.
|
inlinestaticnoexcept |
Gets the pointer to the derived class from a xrt_device.
|
inlinestaticnoexcept |
Gets the pointer to the derived class from a xrt_device.
|
inlinenoexcept |
Gets the underlying xrt_device pointer.
Referenced by xrt::util::DeviceBase< T, functions >::DeviceBase().
|
inlinenoexcept |
Gets the underlying xrt_device pointer.