Includeby is one of the interactive graphs Understand can draw of your code — call trees, dependencies, control flow, and more.
Includeby
Languages: C++, Fortran, PascalTargets: Files, Subprograms
Variants: Classic, Cluster, Compare, Relationship, Simplified
Show what includes a selected file, directly or indirectly.
For a selected C or Pascal file, this shows an edge to each file that includes it, then recurses into each of those files’ own includers, building a multi-level tree. For a selected Fortran file, this shows an edge to each program, function, subroutine, or block data that includes it; since Fortran’s INCLUDE statement is issued by the program unit itself rather than by another file, this doesn’t extend into a deeper chain.
Rooted at types.h below, the graph shows types.h included by platform.h and config.h. Both are included by system.h, which is itself included by app.h and driver.h. app.h and driver.h are each included by main.c, which nothing includes. The inverse graph, Include, shows the reverse relationship — everything the selected file includes, directly or indirectly.
See the following code and corresponding graph
// main.c
#include "app.h"
#include "driver.h"
// app.h
#include "system.h"
// driver.h
#include "system.h"
// system.h
#include "platform.h"
#include "config.h"
// platform.h
#include "types.h"
// config.h
#include "types.h"
// types.h
Includeby - Classic
The Classic variant is similar to the Simplified variant, showing all relationships in a simple tree, but it uses a custom layout algorithm instead of Graphviz.
Includeby - Cluster
The Cluster variant groups entities by their containing class/file/architecture.
Includeby - Compare
The Compare variant shows how the graph has changed relative to the project's comparison database.
Includeby - Relationship
The Relationship variant filters the graph to only paths connecting the two entities.
Includeby - Simplified
The Simplified variant shows all relationships in a simple tree (no clusters)