Directly Include Referenced Files

This feature helps to automatically add include directives to a file under consideration, so that all files containing referenced declarations get included (directly). The features is based on the idea of John Lakos found in his book Large-Scale C++ Software Design (5th guidline)


  /* main.cpp */

#include "Y.h" 

int main() {
  X x;
  return 0;
  /* Y.h */

#include "X.h" 

/* more code */
  /* X.h */

class X { };

/* ... */

Here, the Includator makes the proposal to include file X.h directly into main.cpp independent of other, used or unused, types in Y.h.