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