1*99451b44SJordan Rupprecht #define CLASS(NAME)                             \
2*99451b44SJordan Rupprecht   class NAME {                                  \
3*99451b44SJordan Rupprecht     public:                                     \
4*99451b44SJordan Rupprecht     class Inner {                               \
5*99451b44SJordan Rupprecht       int j = #NAME[0];                         \
6*99451b44SJordan Rupprecht     };                                          \
7*99451b44SJordan Rupprecht     Inner *i = nullptr;                         \
8*99451b44SJordan Rupprecht   };                                            \
9*99451b44SJordan Rupprecht                                                 \
10*99451b44SJordan Rupprecht   static NAME::Inner inner;                     \
11*99451b44SJordan Rupprecht   static NAME obj;                              \
12*99451b44SJordan Rupprecht   NAME::Inner &getInner##NAME() { return inner; }
13