30 #ifndef INCLUDED_ReportTraits_h_GUID_CEDB196C_04E8_4085_EDCF_C5A1BD81A827
31 #define INCLUDED_ReportTraits_h_GUID_CEDB196C_04E8_4085_EDCF_C5A1BD81A827
62 #define OSVR_X(TYPE) \
63 template <> struct CallbackType<OSVR_##TYPE##Report> { \
64 typedef OSVR_##TYPE##Callback type; \
66 template <> struct ReportFromCallback<OSVR_##TYPE##Callback> { \
67 typedef OSVR_##TYPE##Report type; \
69 template <> struct StateType<OSVR_##TYPE##Report> { \
70 typedef OSVR_##TYPE##State type; \
72 OSVR_INVOKE_REPORT_TYPES_XMACRO()
94 #endif // INCLUDED_ReportTraits_h_GUID_CEDB196C_04E8_4085_EDCF_C5A1BD81A827
typepack::t_< StateType< T >> StateFromReport_t
Alias for the StateType associated with a given ReportType.
Metafunction/trait taking a CallbackType and returning the associated ReportType. ...
typepack::t_< ReportFromCallback< T >> ReportFromCallback_t
Alias for the ReportType associated with a given CallbackType.
Metafunction/trait taking a ReportType and returning the associated CallbackType. ...
Generated header for "X-Macro" usage of the preprocessor macro OSVR_INVOKE_REPORT_TYPES_XMACRO.
Metafunction/trait taking a ReportType and returning the associated StateType.
typename T::type t_
A convenience alias template to extract the nested type within the supplied T.
typepack::t_< CallbackType< T >> CallbackFromReport_t
Alias for the CallbackType associated with a given ReportType.