C-libs 0.1.0
Some C utils libraries
 
Loading...
Searching...
No Matches
and Loop Helpers

Macros

#define __STR(s)
 
#define STR(s)
 
#define GLUE(a, b)
 
#define UNIQUE_TOKEN(name)
 
#define FOREVER   for (;;)
 
#define RANGE(begin, end)
 
#define RANGE_STEP(begin, end, step)
 

Detailed Description

Useful macros for tokens and safer loop constructs.

Macro Definition Documentation

◆ __STR

#define __STR ( s)
Value:
#s

◆ FOREVER

#define FOREVER   for (;;)

◆ GLUE

#define GLUE ( a,
b )
Value:
__GLUE(a, b)

◆ RANGE

#define RANGE ( begin,
end )
Value:
for (i64 UNIQUE_TOKEN(i) = (begin); UNIQUE_TOKEN(i) != (end); \
UNIQUE_TOKEN(i) += (((begin) < (end)) ? (+1) : (-1)))
#define UNIQUE_TOKEN(name)
Definition util_macros.h:241
signed long long int i64
64-bit signed integer
Definition util_macros.h:104

◆ RANGE_STEP

#define RANGE_STEP ( begin,
end,
step )
Value:
for (i64 UNIQUE_TOKEN(i) = (begin); \
(((end) > (begin)) && (UNIQUE_TOKEN(i) < (end))) \
|| (((end) <= (begin)) && (UNIQUE_TOKEN(i) > (end))); \
UNIQUE_TOKEN(i) += \
((((begin) < (end)) && ((step) > 0)) ? (+(step)) : (-(step))))

◆ STR

#define STR ( s)
Value:
#define __STR(s)
Definition util_macros.h:237

◆ UNIQUE_TOKEN

#define UNIQUE_TOKEN ( name)
Value:
GLUE(GLUE(__, name##_), __LINE__)
#define GLUE(a, b)
Definition util_macros.h:240