Skip to main content

Module cpp

Module cpp 

Source
Expand description

C++ import resolver.

Same strategy as the C resolver but also tries C++ header extensions (.hpp, .hxx, .hh). Angle-bracket includes are classified as External at parse time.

§Known limitations

  • No -I include path support — only checks relative to the importing file, project root, and include/ / src/ directories
  • Template-heavy headers (Boost, Eigen, STL implementations) produce no edges since they use angle-bracket includes
  • Module imports (import <module>; in C++20) are not recognized — only preprocessor #include directives are parsed
  • Extensionless includes (#include "mylib") try .hpp, .hxx, .hh, .h in order — but not .H or other uncommon extensions
  • Conditional includes and macro-based includes are not resolved (same as the C resolver)
  • PCH (precompiled header) references are not detected

These limitations mean C++ projects relying heavily on template libraries or C++20 modules will have lower edge counts. Projects using quoted includes with standard extensions get good coverage.

Structs§

CppResolver

Functions§

resolve_angle_bracket
Resolve an angle-bracket include path against the file index.