mirror of
https://github.com/bkaradzic/bx.git
synced 2026-02-17 20:52:37 +01:00
Added BX_UNUSED_x macro dispatcher.
This commit is contained in:
@@ -11,9 +11,9 @@
|
||||
#define BX_VA_ARGS_COUNT_DETAIL(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8, _a9, _a10, _a11, _a12, _a13, _a14, _a15, _a16, _last, ...) _last
|
||||
#define BX_VA_ARGS_COUNT(...) BX_VA_ARGS_COUNT_DETAIL(__VA_ARGS__, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
|
||||
|
||||
#define BX_MACRO_DISPATCHER_DETAIL1(_func, _argCount) _func ## _argCount
|
||||
#define BX_MACRO_DISPATCHER_DETAIL2(_func, _argCount) BX_MACRO_DISPATCHER_DETAIL1(_func, _argCount)
|
||||
#define BX_MACRO_DISPATCHER(_func, ...) BX_MACRO_DISPATCHER_DETAIL2(_func, BX_VA_ARGS_COUNT(__VA_ARGS__) )
|
||||
#define BX_MACRO_DISPATCHER_DETAIL2(_func, _argCount) _func ## _argCount
|
||||
#define BX_MACRO_DISPATCHER_DETAIL1(_func, _argCount) BX_MACRO_DISPATCHER_DETAIL2(_func, _argCount)
|
||||
#define BX_MACRO_DISPATCHER(_func, ...) BX_MACRO_DISPATCHER_DETAIL1(_func, BX_VA_ARGS_COUNT(__VA_ARGS__) )
|
||||
|
||||
#define BX_MAKEFOURCC(_a, _b, _c, _d) ( ( (uint32_t)(_a) | ( (uint32_t)(_b) << 8) | ( (uint32_t)(_c) << 16) | ( (uint32_t)(_d) << 24) ) )
|
||||
|
||||
@@ -64,21 +64,34 @@
|
||||
#define BX_ALIGN_STRUCT_256(_struct) BX_ALIGN_STRUCT(256, _struct)
|
||||
|
||||
#define BX_UNUSED(_unused) do { (void)sizeof(_unused); } while(0)
|
||||
#define BX_UNUSED_1(_a1) BX_UNUSED(_a1)
|
||||
#define BX_UNUSED_2(_a1, _a2) BX_UNUSED(_a1); BX_UNUSED(_a2)
|
||||
#define BX_UNUSED_3(_a1, _a2, _a3) BX_UNUSED_2(_a1, _a2); BX_UNUSED(_a3)
|
||||
#define BX_UNUSED_4(_a1, _a2, _a3, _a4) BX_UNUSED_3(_a1, _a2, _a3); BX_UNUSED(_a4)
|
||||
#define BX_UNUSED_5(_a1, _a2, _a3, _a4, _a5) BX_UNUSED_4(_a1, _a2, _a3, _a4); BX_UNUSED(_a5)
|
||||
#define BX_UNUSED_6(_a1, _a2, _a3, _a4, _a5, _a6) BX_UNUSED_5(_a1, _a2, _a3, _a4, _a5); BX_UNUSED(_a6)
|
||||
#define BX_UNUSED_7(_a1, _a2, _a3, _a4, _a5, _a6, _a7) BX_UNUSED_6(_a1, _a2, _a3, _a4, _a5, _a6); BX_UNUSED(_a7)
|
||||
#define BX_UNUSED_8(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8) BX_UNUSED_7(_a1, _a2, _a3, _a4, _a5, _a6, _a7); BX_UNUSED(_a8)
|
||||
#define BX_UNUSED_9(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8, _a9) BX_UNUSED_8(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8); BX_UNUSED(_a9)
|
||||
#define BX_UNUSED_10(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8, _a9, _a10) BX_UNUSED_9(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8, _a9); BX_UNUSED(_a10)
|
||||
#define BX_UNUSED_11(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8, _a9, _a10, _a11) BX_UNUSED_10(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8, _a9, _a10); BX_UNUSED(_a11)
|
||||
#define BX_UNUSED_12(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8, _a9, _a10, _a11, _a12) BX_UNUSED_11(_a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8, _a9, _a10, _a11); BX_UNUSED(_a12)
|
||||
#define BX_UNUSED_VARGS(...) BX_MACRO_DISPATCHER(BX_UNUSED_, __VA_ARGS__)(__VA_ARGS__)
|
||||
|
||||
#define BX_CLASS_NO_COPY_NO_ASSIGNMENT(_class) \
|
||||
_class(const _class&); \
|
||||
_class& operator=(const _class&)
|
||||
|
||||
#ifndef BX_CHECK
|
||||
# define BX_CHECK(...) do {} while(0)
|
||||
# define BX_CHECK(_condition, ...) do { BX_UNUSED_VARGS(__VA_ARGS__); } while(0)
|
||||
#endif // BX_CHECK
|
||||
|
||||
#ifndef BX_TRACE
|
||||
# define BX_TRACE(...) do {} while(0)
|
||||
# define BX_TRACE(...) do { BX_UNUSED_VARGS(__VA_ARGS__); } while(0)
|
||||
#endif // BX_TRACE
|
||||
|
||||
#ifndef BX_WARN
|
||||
# define BX_WARN(...) do {} while(0)
|
||||
# define BX_WARN(_condition, ...) do { BX_UNUSED_VARGS(__VA_ARGS__); } while(0)
|
||||
#endif // BX_CHECK
|
||||
|
||||
#ifndef BX_CONFIG_SPSCQUEUE_USE_MUTEX
|
||||
|
||||
Reference in New Issue
Block a user