VSF Documented
esp_macros.h File Reference
#include <assert.h>
#include "esp_compiler.h"

Go to the source code of this file.

Macros

#define _ESP_CHOOSE_VA_ARG_INN(one, two, MACRO1, MACRO2, ...)
 
#define CHOOSE_MACRO_VA_ARG(MACRO_WITH_ARGS, MACRO_WITH_NO_ARGS, ...)
 
#define ESP_VA_NARG(...)
 
#define _ESP_NARG(...)
 
#define _ESP_GET_NTH_ARG(_01, _02, _03, _04, _05, _06, _07, _08, _09, _10, _11, _12, _13, _14, _15, _16, N, ...)
 
#define _ESP_RSEQ_N()
 
#define ESP_UNUSED(x)
 
#define ESP_INFINITE_LOOP()
 

Macro Definition Documentation

◆ _ESP_CHOOSE_VA_ARG_INN

#define _ESP_CHOOSE_VA_ARG_INN ( one,
two,
MACRO1,
MACRO2,
... )
Value:
MACRO1

◆ CHOOSE_MACRO_VA_ARG

#define CHOOSE_MACRO_VA_ARG ( MACRO_WITH_ARGS,
MACRO_WITH_NO_ARGS,
... )
Value:
_ESP_CHOOSE_VA_ARG_INN(0, ##__VA_ARGS__, \
MACRO_WITH_ARGS, MACRO_WITH_NO_ARGS, 0)
#define _ESP_CHOOSE_VA_ARG_INN(one, two, MACRO1, MACRO2,...)
Definition esp_macros.h:51

◆ ESP_VA_NARG

#define ESP_VA_NARG ( ...)
Value:
_ESP_NARG(_0, ##__VA_ARGS__, _ESP_RSEQ_N())
#define _ESP_RSEQ_N()
Definition esp_macros.h:67
#define _ESP_NARG(...)
Definition esp_macros.h:63

◆ _ESP_NARG

#define _ESP_NARG ( ...)
Value:
_ESP_GET_NTH_ARG(__VA_ARGS__)
#define _ESP_GET_NTH_ARG(_01, _02, _03, _04, _05, _06, _07, _08, _09, _10, _11, _12, _13, _14, _15, _16, N,...)
Definition esp_macros.h:64

◆ _ESP_GET_NTH_ARG

#define _ESP_GET_NTH_ARG ( _01,
_02,
_03,
_04,
_05,
_06,
_07,
_08,
_09,
_10,
_11,
_12,
_13,
_14,
_15,
_16,
N,
... )
Value:
N

◆ _ESP_RSEQ_N

#define _ESP_RSEQ_N ( )
Value:
15,14,13,12,11,10, \
9, 8, 7, 6, 5, 4, 3, 2, 1, 0

◆ ESP_UNUSED

#define ESP_UNUSED ( x)
Value:
((void)(x))

◆ ESP_INFINITE_LOOP

#define ESP_INFINITE_LOOP ( )
Value:
do { \
ESP_COMPILER_DIAGNOSTIC_PUSH_IGNORE("-Wanalyzer-infinite-loop") \
while(1); \
ESP_COMPILER_DIAGNOSTIC_POP("-Wanalyzer-infinite-loop") \
} while(1)
Generated from commit: vsfteam/vsf@ceb53fd