Go to the documentation of this file.
41 #ifndef CRL_MULTISENSE_DETAILS_PORTABILITY_HH
42 #define CRL_MULTISENSE_DETAILS_PORTABILITY_HH
44 #define CRL_UNUSED(var) (void)(var)
46 #if defined(CRL_HAVE_CONSTEXPR)
47 #define CRL_CONSTEXPR constexpr
49 #define CRL_CONSTEXPR const
52 #if __cplusplus > 199711L
54 #define CRL_THREAD_LOCAL thread_local
55 #elif defined (__GNUC__)
57 #define CRL_THREAD_LOCAL __thread
58 #elif defined (_MSC_VER)
60 #define CRL_THREAD_LOCAL __declspec(thread)
62 #error "This compiler is not yet supported. Please contact Carnegie Robotics support at http://support.carnegierobotics.com for assistance."
65 #if defined (__GNUC__)
68 #define CRL_PRETTY_FUNCTION __PRETTY_FUNCTION__
69 #elif defined (_MSC_VER)
71 #define CRL_PRETTY_FUNCTION __FUNCSIG__
72 #elif __STDC_VERSION >= 199901L
74 #define CRL_PRETTY_FUNCTION __func__
76 #error "This compiler is not yet supported. Please contact Carnegie Robotics support at http://support.carnegierobotics.com for assistance."
79 #if !defined(MULTISENSE_API)
80 #if defined (_MSC_VER)
81 #define MULTISENSE_API __declspec(dllexport)
83 #define MULTISENSE_API
92 #define usleep(usec) Sleep((usec)/1000)
96 #define closesocket close