Environment macros introduced for portability This file must be kept C compliant.
More...
|
#define | SPS_LIKELY(x) (x) |
|
#define | SPS_UNLIKELY(x) (x) |
|
#define | SPS_ASS_ALIGNED(x, y) (x) |
|
#define | __BEGIN__ { |
|
#define | __END__ goto exit; exit: ; } |
|
#define | STR_HELPER(x) #x |
|
#define | STR(x) STR_HELPER(x) |
|
#define | NUMARGS(...) SELECT_5TH(__VA_ARGS__, 4, 3, 2, 1, 0, throwaway, throwaway) |
|
#define | SELECT_5TH(a1, a2, a3, a4, a5, ...) a5 |
|
#define | RETURN_FIRST(...) RETURN_FIRST_HELPER(__VA_ARGS__, throwaway) |
|
#define | RETURN_FIRST_HELPER(first, ...) return first; |
|
#define | FIRST(...) FIRST_HELPER(__VA_ARGS__, throwaway) |
|
#define | FIRST_HELPER(first, ...) first |
|
#define | REST(...) REST_HELPER(NNUM(__VA_ARGS__), __VA_ARGS__) |
|
#define | REST_HELPER(qty, ...) REST_HELPER2(qty, __VA_ARGS__) |
|
#define | REST_HELPER2(qty, ...) REST_HELPER_##qty(__VA_ARGS__) |
|
#define | REST_HELPER_ONE(first) |
|
#define | REST_HELPER_TWOORMORE(first, ...) , __VA_ARGS__ |
|
#define | NNUM(...) |
|
#define | SELECT_10TH(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, ...) a10 |
|
#define | CONCATENATE(arg1, arg2) CONCATENATE1(arg1, arg2) |
|
#define | CONCATENATE1(arg1, arg2) CONCATENATE2(arg1, arg2) |
|
#define | CONCATENATE2(arg1, arg2) arg1##arg2 |
|
#define | FOR_EACH_1(what, x) what(x) |
|
#define | FOR_EACH_2(what, x, ...) |
|
#define | FOR_EACH_3(what, x, ...) |
|
#define | FOR_EACH_4(what, x, ...) |
|
#define | FOR_EACH_5(what, x, ...) |
|
#define | FOR_EACH_6(what, x, ...) |
|
#define | FOR_EACH_7(what, x, ...) |
|
#define | FOR_EACH_8(what, x, ...) |
|
#define | FOR_EACH_9(what, x, ...) |
|
#define | FOR_EACH_10(what, x, ...) |
|
#define | FOR_EACH_11(what, x, ...) |
|
#define | FOR_EACH_12(what, x, ...) |
|
#define | FOR_EACH_13(what, x, ...) |
|
#define | FOR_EACH_NARG(...) FOR_EACH_NARG_(__VA_ARGS__, FOR_EACH_RSEQ_N()) |
|
#define | FOR_EACH_NARG_(...) FOR_EACH_ARG_N(__VA_ARGS__) |
|
#define | FOR_EACH_ARG_N(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, N, ...) N |
|
#define | FOR_EACH_RSEQ_N() 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 |
|
#define | FOR_EACH_(N, what, ...) CONCATENATE(FOR_EACH_, N)(what, __VA_ARGS__) |
|
#define | FOR_EACH(what, ...) FOR_EACH_(FOR_EACH_NARG(__VA_ARGS__), what, __VA_ARGS__) |
|
#define | SPS_UNREFERENCED_PARAMETER(x) ((void)(x)) |
|
#define | SPS_UNREFERENCED_PARAMETERS(...) FOR_EACH( SPS_UNREFERENCED_PARAMETER, __VA_ARGS__) |
|
#define | SPS_ATTR_DESTRUCTOR __attribute__((destructor(101))) |
|
Environment macros introduced for portability This file must be kept C compliant.
- Author
- Jens Munk Hansen jens..nosp@m.munk.nosp@m..hans.nosp@m.en@g.nosp@m.mail..nosp@m.com
- Date
- Sat Nov 29 17:48:45 2014