OSVR-Core
Classes | Typedefs
osvr::common::traits Namespace Reference

Type traits and metaprogramming supports related to specially-handled reports. More...

Classes

struct  CallbackType
 Metafunction/trait taking a ReportType and returning the associated CallbackType. More...
 
struct  KeepStateForReport
 Type predicate: Whether callbacks of a report type should store state for that type. More...
 
struct  KeepStateForReport< OSVR_ImagingReport >
 Don't store the imaging reports as state, since doing so would involve extra lifetime management. More...
 
struct  ReportFromCallback
 Metafunction/trait taking a CallbackType and returning the associated ReportType. More...
 
struct  ReportStateGetter
 Helper traits struct for reportState(), to access the state member of the various report types. More...
 
struct  ReportStateGetter< OSVR_DirectionReport >
 
struct  ReportStateGetter< OSVR_Location2DReport >
 
struct  ReportStateGetter< OSVR_OrientationReport >
 
struct  ReportStateGetter< OSVR_PoseReport >
 
struct  ReportStateGetter< OSVR_PositionReport >
 
struct  StateType
 Metafunction/trait taking a ReportType and returning the associated StateType. More...
 

Typedefs

template<typename T >
using CallbackFromReport_t = typepack::t_< CallbackType< T >>
 Alias for the CallbackType associated with a given ReportType.
 
template<typename T >
using StateFromReport_t = typepack::t_< StateType< T >>
 Alias for the StateType associated with a given ReportType.
 
template<typename T >
using ReportFromCallback_t = typepack::t_< ReportFromCallback< T >>
 Alias for the ReportType associated with a given CallbackType.
 
using ReportTypeList = typepack::list< OSVR_AnalogReport, OSVR_ButtonReport, OSVR_PoseReport, OSVR_PositionReport, OSVR_OrientationReport, OSVR_VelocityReport, OSVR_LinearVelocityReport, OSVR_AngularVelocityReport, OSVR_AccelerationReport, OSVR_LinearAccelerationReport, OSVR_AngularAccelerationReport, OSVR_ImagingReport, OSVR_ImagingReport, OSVR_Location2DReport, OSVR_DirectionReport, OSVR_EyeTracker2DReport, OSVR_EyeTracker3DReport, OSVR_EyeTrackerBlinkReport, OSVR_NaviVelocityReport, OSVR_NaviPositionReport, OSVR_SkeletonReport >
 A typelist containing all internally-handled report types.
 

Detailed Description

Type traits and metaprogramming supports related to specially-handled reports.