reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    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
#define CLASS(NAME)                             \
  class NAME {                                  \
  public:                                       \
    struct Inner;                               \
    Inner *i = nullptr;                         \
  };                                            \
NAME::Inner &getInner##NAME();

CLASS(A)
CLASS(B)
CLASS(C)
CLASS(D)
CLASS(E)
CLASS(F)
CLASS(G)

int main()
{
  A::Inner &inner_a = getInnerA();
  B::Inner &inner_b = getInnerB();
  C::Inner &inner_c = getInnerC();
  D::Inner &inner_d = getInnerD();
  E::Inner &inner_e = getInnerE();
  F::Inner &inner_f = getInnerF();
  G::Inner &inner_g = getInnerG();

  return 0; // break here
}