VSF Documented
Macros
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, ...)   MACRO1
 
#define CHOOSE_MACRO_VA_ARG(MACRO_WITH_ARGS, MACRO_WITH_NO_ARGS, ...)
 
#define ESP_VA_NARG(...)   _ESP_NARG(_0, ##__VA_ARGS__, _ESP_RSEQ_N())
 
#define _ESP_NARG(...)   _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, ...)   N
 
#define _ESP_RSEQ_N()
 
#define ESP_UNUSED(x)   ((void)(x))
 
#define ESP_INFINITE_LOOP()
 

Macro Definition Documentation

◆ _ESP_CHOOSE_VA_ARG_INN

#define _ESP_CHOOSE_VA_ARG_INN (   one,
  two,
  MACRO1,
  MACRO2,
  ... 
)    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 (   ...)    _ESP_NARG(_0, ##__VA_ARGS__, _ESP_RSEQ_N())

◆ _ESP_NARG

#define _ESP_NARG (   ...)    _ESP_GET_NTH_ARG(__VA_ARGS__)

◆ _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,
  ... 
)    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)    ((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@c3767bf