GNU Radio Manual and C++ API Reference 3.10.5.1
The Free & Open Software Radio Ecosystem
obj-x86_64-linux-gnu/gnuradio-runtime/python/gnuradio/gr/bindings/pydoc_macros.h
Go to the documentation of this file.
1#ifndef PYDOC_MACROS_H
2#define PYDOC_MACROS_H
3
4#define __EXPAND(x) x
5#define __COUNT(_1, _2, _3, _4, _5, _6, _7, COUNT, ...) COUNT
6#define __VA_SIZE(...) __EXPAND(__COUNT(__VA_ARGS__, 7, 6, 5, 4, 3, 2, 1))
7#define __CAT1(a, b) a##b
8#define __CAT2(a, b) __CAT1(a, b)
9#define __DOC1(n1) __doc_##n1
10#define __DOC2(n1, n2) __doc_##n1##_##n2
11#define __DOC3(n1, n2, n3) __doc_##n1##_##n2##_##n3
12#define __DOC4(n1, n2, n3, n4) __doc_##n1##_##n2##_##n3##_##n4
13#define __DOC5(n1, n2, n3, n4, n5) __doc_##n1##_##n2##_##n3##_##n4##_##n5
14#define __DOC6(n1, n2, n3, n4, n5, n6) __doc_##n1##_##n2##_##n3##_##n4##_##n5##_##n6
15#define __DOC7(n1, n2, n3, n4, n5, n6, n7) \
16 __doc_##n1##_##n2##_##n3##_##n4##_##n5##_##n6##_##n7
17#define DOC(...) __EXPAND(__EXPAND(__CAT2(__DOC, __VA_SIZE(__VA_ARGS__)))(__VA_ARGS__))
18
19#endif // PYDOC_MACROS_H