Information about an #include or #include_next directive. This object is a thin wrapper around the target SourceFile, with some attributes to indicate whether the directive included a macro expansion, and whether it was an #include_next or not.
A macro expansion is flagged because often you don't want to include those in an include graph. For example, some headers in the Boost PP library will include other files multiple times, where the file included is given by a macro. It is rare that you actually want to show this macro-dependent include in the documentation or in a graph.
Public Typedefs Summary: | |
std::vector<Include*> | vector A vector of Includes [Source] |
Public Member functions Summary: | |
constructor | Include(SourceFile* target, bool is_macro, bool is_next) Constructor [Source] |
SourceFile* | target() Returns the target of this include [Source] |
bool | is_macro() Returns whether the include filename was a macro expansion [Source] |
bool | is_next() Returns whether the include was an #include_next directive [Source] |
Private Data members Summary: | |
SourceFile* | m_target The target file of the include or include_next [Source] |
bool | m_is_macro Whether the include filename was a macro expansion [Source] |
bool | m_is_next Whether the include was an #include_next directive [Source] |
Public Data members Inherited from FakeGC::cleanup | |
cleanup_next |