Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
name_value_pair_macro.hpp File Reference

Go to the source code of this file.

Macros

#define VA_NARGS_IMPL(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, N, ...)    N
 
#define VA_NARGS(...)
 
#define _NVP1(F, G, x)   F(#x), G(x)
 
#define _NVP2(F, G, x, y)   F(#x), G(x), F(#y), G(y)
 
#define _NVP3(F, G, x, y, z)   F(#x), G(x), F(#y), G(y), F(#z), G(z)
 
#define _NVP4(F, G, x, ...)   _NVP1(F, G, x), _NVP3(F, G, __VA_ARGS__)
 
#define _NVP5(F, G, x, ...)   _NVP1(F, G, x), _NVP4(F, G, __VA_ARGS__)
 
#define _NVP6(F, G, x, ...)   _NVP1(F, G, x), _NVP5(F, G, __VA_ARGS__)
 
#define _NVP7(F, G, x, ...)   _NVP1(F, G, x), _NVP6(F, G, __VA_ARGS__)
 
#define _NVP8(F, G, x, ...)   _NVP1(F, G, x), _NVP7(F, G, __VA_ARGS__)
 
#define _NVP9(F, G, x, ...)   _NVP1(F, G, x), _NVP8(F, G, __VA_ARGS__)
 
#define _NVP10(F, G, x, ...)   _NVP1(F, G, x), _NVP9(F, G, __VA_ARGS__)
 
#define _NVP11(F, G, x, ...)   _NVP1(F, G, x), _NVP10(F, G, __VA_ARGS__)
 
#define _NVP12(F, G, x, ...)   _NVP1(F, G, x), _NVP11(F, G, __VA_ARGS__)
 
#define _NVP13(F, G, x, ...)   _NVP1(F, G, x), _NVP12(F, G, __VA_ARGS__)
 
#define _NVP14(F, G, x, ...)   _NVP1(F, G, x), _NVP13(F, G, __VA_ARGS__)
 
#define _NVP15(F, G, x, ...)   _NVP1(F, G, x), _NVP14(F, G, __VA_ARGS__)
 
#define _NVP16(F, G, x, ...)   _NVP1(F, G, x), _NVP15(F, G, __VA_ARGS__)
 
#define _NVP17(F, G, x, ...)   _NVP1(F, G, x), _NVP16(F, G, __VA_ARGS__)
 
#define _NVP18(F, G, x, ...)   _NVP1(F, G, x), _NVP17(F, G, __VA_ARGS__)
 
#define _NVP19(F, G, x, ...)   _NVP1(F, G, x), _NVP18(F, G, __VA_ARGS__)
 
#define _NVP20(F, G, x, ...)   _NVP1(F, G, x), _NVP19(F, G, __VA_ARGS__)
 
#define _NVP21(F, G, x, ...)   _NVP1(F, G, x), _NVP20(F, G, __VA_ARGS__)
 
#define _NVP22(F, G, x, ...)   _NVP1(F, G, x), _NVP21(F, G, __VA_ARGS__)
 
#define _NVP23(F, G, x, ...)   _NVP1(F, G, x), _NVP22(F, G, __VA_ARGS__)
 
#define _NVP24(F, G, x, ...)   _NVP1(F, G, x), _NVP23(F, G, __VA_ARGS__)
 
#define _NVP25(F, G, x, ...)   _NVP1(F, G, x), _NVP24(F, G, __VA_ARGS__)
 
#define _NVP26(F, G, x, ...)   _NVP1(F, G, x), _NVP25(F, G, __VA_ARGS__)
 
#define _NVP27(F, G, x, ...)   _NVP1(F, G, x), _NVP26(F, G, __VA_ARGS__)
 
#define _NVP28(F, G, x, ...)   _NVP1(F, G, x), _NVP27(F, G, __VA_ARGS__)
 
#define _NVP29(F, G, x, ...)   _NVP1(F, G, x), _NVP28(F, G, __VA_ARGS__)
 
#define _NVP30(F, G, x, ...)   _NVP1(F, G, x), _NVP29(F, G, __VA_ARGS__)
 
#define _NVP31(F, G, x, ...)   _NVP1(F, G, x), _NVP30(F, G, __VA_ARGS__)
 
#define _NVP32(F, G, x, ...)   _NVP1(F, G, x), _NVP31(F, G, __VA_ARGS__)
 
#define _NVP33(F, G, x, ...)   _NVP1(F, G, x), _NVP32(F, G, __VA_ARGS__)
 
#define _NVP34(F, G, x, ...)   _NVP1(F, G, x), _NVP33(F, G, __VA_ARGS__)
 
#define _NVP35(F, G, x, ...)   _NVP1(F, G, x), _NVP34(F, G, __VA_ARGS__)
 
#define _NVP36(F, G, x, ...)   _NVP1(F, G, x), _NVP35(F, G, __VA_ARGS__)
 
#define _NVP37(F, G, x, ...)   _NVP1(F, G, x), _NVP36(F, G, __VA_ARGS__)
 
#define _NVP38(F, G, x, ...)   _NVP1(F, G, x), _NVP37(F, G, __VA_ARGS__)
 
#define _NVP39(F, G, x, ...)   _NVP1(F, G, x), _NVP38(F, G, __VA_ARGS__)
 
#define _NVP40(F, G, x, ...)   _NVP1(F, G, x), _NVP39(F, G, __VA_ARGS__)
 
#define CONCAT(a, b)   a##b
 
#define _NVP_N(n)   CONCAT(_NVP, n)
 
#define NVPFG(F, G, ...)   _NVP_N(VA_NARGS(__VA_ARGS__))(F, G, __VA_ARGS__)
 
#define NVP(...)   NVPFG(, , __VA_ARGS__)
 

Macro Definition Documentation

◆ _NVP1

#define _NVP1 (   F,
  G,
 
)    F(#x), G(x)

Definition at line 98 of file name_value_pair_macro.hpp.

◆ _NVP10

#define _NVP10 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP9(F, G, __VA_ARGS__)

Definition at line 108 of file name_value_pair_macro.hpp.

◆ _NVP11

#define _NVP11 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP10(F, G, __VA_ARGS__)

Definition at line 109 of file name_value_pair_macro.hpp.

◆ _NVP12

#define _NVP12 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP11(F, G, __VA_ARGS__)

Definition at line 110 of file name_value_pair_macro.hpp.

◆ _NVP13

#define _NVP13 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP12(F, G, __VA_ARGS__)

Definition at line 111 of file name_value_pair_macro.hpp.

◆ _NVP14

#define _NVP14 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP13(F, G, __VA_ARGS__)

Definition at line 112 of file name_value_pair_macro.hpp.

◆ _NVP15

#define _NVP15 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP14(F, G, __VA_ARGS__)

Definition at line 113 of file name_value_pair_macro.hpp.

◆ _NVP16

#define _NVP16 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP15(F, G, __VA_ARGS__)

Definition at line 114 of file name_value_pair_macro.hpp.

◆ _NVP17

#define _NVP17 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP16(F, G, __VA_ARGS__)

Definition at line 115 of file name_value_pair_macro.hpp.

◆ _NVP18

#define _NVP18 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP17(F, G, __VA_ARGS__)

Definition at line 116 of file name_value_pair_macro.hpp.

◆ _NVP19

#define _NVP19 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP18(F, G, __VA_ARGS__)

Definition at line 117 of file name_value_pair_macro.hpp.

◆ _NVP2

#define _NVP2 (   F,
  G,
  x,
 
)    F(#x), G(x), F(#y), G(y)

Definition at line 99 of file name_value_pair_macro.hpp.

◆ _NVP20

#define _NVP20 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP19(F, G, __VA_ARGS__)

Definition at line 118 of file name_value_pair_macro.hpp.

◆ _NVP21

#define _NVP21 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP20(F, G, __VA_ARGS__)

Definition at line 119 of file name_value_pair_macro.hpp.

◆ _NVP22

#define _NVP22 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP21(F, G, __VA_ARGS__)

Definition at line 120 of file name_value_pair_macro.hpp.

◆ _NVP23

#define _NVP23 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP22(F, G, __VA_ARGS__)

Definition at line 121 of file name_value_pair_macro.hpp.

◆ _NVP24

#define _NVP24 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP23(F, G, __VA_ARGS__)

Definition at line 122 of file name_value_pair_macro.hpp.

◆ _NVP25

#define _NVP25 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP24(F, G, __VA_ARGS__)

Definition at line 123 of file name_value_pair_macro.hpp.

◆ _NVP26

#define _NVP26 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP25(F, G, __VA_ARGS__)

Definition at line 124 of file name_value_pair_macro.hpp.

◆ _NVP27

#define _NVP27 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP26(F, G, __VA_ARGS__)

Definition at line 125 of file name_value_pair_macro.hpp.

◆ _NVP28

#define _NVP28 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP27(F, G, __VA_ARGS__)

Definition at line 126 of file name_value_pair_macro.hpp.

◆ _NVP29

#define _NVP29 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP28(F, G, __VA_ARGS__)

Definition at line 127 of file name_value_pair_macro.hpp.

◆ _NVP3

#define _NVP3 (   F,
  G,
  x,
  y,
 
)    F(#x), G(x), F(#y), G(y), F(#z), G(z)

Definition at line 100 of file name_value_pair_macro.hpp.

◆ _NVP30

#define _NVP30 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP29(F, G, __VA_ARGS__)

Definition at line 128 of file name_value_pair_macro.hpp.

◆ _NVP31

#define _NVP31 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP30(F, G, __VA_ARGS__)

Definition at line 129 of file name_value_pair_macro.hpp.

◆ _NVP32

#define _NVP32 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP31(F, G, __VA_ARGS__)

Definition at line 130 of file name_value_pair_macro.hpp.

◆ _NVP33

#define _NVP33 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP32(F, G, __VA_ARGS__)

Definition at line 131 of file name_value_pair_macro.hpp.

◆ _NVP34

#define _NVP34 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP33(F, G, __VA_ARGS__)

Definition at line 132 of file name_value_pair_macro.hpp.

◆ _NVP35

#define _NVP35 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP34(F, G, __VA_ARGS__)

Definition at line 133 of file name_value_pair_macro.hpp.

◆ _NVP36

#define _NVP36 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP35(F, G, __VA_ARGS__)

Definition at line 134 of file name_value_pair_macro.hpp.

◆ _NVP37

#define _NVP37 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP36(F, G, __VA_ARGS__)

Definition at line 135 of file name_value_pair_macro.hpp.

◆ _NVP38

#define _NVP38 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP37(F, G, __VA_ARGS__)

Definition at line 136 of file name_value_pair_macro.hpp.

◆ _NVP39

#define _NVP39 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP38(F, G, __VA_ARGS__)

Definition at line 137 of file name_value_pair_macro.hpp.

◆ _NVP4

#define _NVP4 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP3(F, G, __VA_ARGS__)

Definition at line 102 of file name_value_pair_macro.hpp.

◆ _NVP40

#define _NVP40 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP39(F, G, __VA_ARGS__)

Definition at line 138 of file name_value_pair_macro.hpp.

◆ _NVP5

#define _NVP5 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP4(F, G, __VA_ARGS__)

Definition at line 103 of file name_value_pair_macro.hpp.

◆ _NVP6

#define _NVP6 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP5(F, G, __VA_ARGS__)

Definition at line 104 of file name_value_pair_macro.hpp.

◆ _NVP7

#define _NVP7 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP6(F, G, __VA_ARGS__)

Definition at line 105 of file name_value_pair_macro.hpp.

◆ _NVP8

#define _NVP8 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP7(F, G, __VA_ARGS__)

Definition at line 106 of file name_value_pair_macro.hpp.

◆ _NVP9

#define _NVP9 (   F,
  G,
  x,
  ... 
)    _NVP1(F, G, x), _NVP8(F, G, __VA_ARGS__)

Definition at line 107 of file name_value_pair_macro.hpp.

◆ _NVP_N

#define _NVP_N (   n)    CONCAT(_NVP, n)

Definition at line 141 of file name_value_pair_macro.hpp.

◆ CONCAT

#define CONCAT (   a,
  b 
)    a##b

Definition at line 140 of file name_value_pair_macro.hpp.

◆ NVP

#define NVP (   ...)    NVPFG(, , __VA_ARGS__)

Definition at line 143 of file name_value_pair_macro.hpp.

◆ NVPFG

#define NVPFG (   F,
  G,
  ... 
)    _NVP_N(VA_NARGS(__VA_ARGS__))(F, G, __VA_ARGS__)

Definition at line 142 of file name_value_pair_macro.hpp.

◆ VA_NARGS

#define VA_NARGS (   ...)

Definition at line 52 of file name_value_pair_macro.hpp.

◆ VA_NARGS_IMPL

#define VA_NARGS_IMPL (   _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7,
  _8,
  _9,
  _10,
  _11,
  _12,
  _13,
  _14,
  _15,
  _16,
  _17,
  _18,
  _19,
  _20,
  _21,
  _22,
  _23,
  _24,
  _25,
  _26,
  _27,
  _28,
  _29,
  _30,
  _31,
  _32,
  _33,
  _34,
  _35,
  _36,
  _37,
  _38,
  _39,
  _40,
  N,
  ... 
)     N

Definition at line 8 of file name_value_pair_macro.hpp.