C++ プロジェクトを解析し、ヘッダー ファイルが自己完結型かどうかを判断するツールはありますか。つまり、ファイル Foo.cc (または Foo.h) が何らかのクラス Bar (ベクトルなど) に言及している場合、それ自体にクラスを定義するヘッダー ファイルが含まれています。 (Bar を定義するファイルなど<vector>
) ?
編集: 明確にしたい: ヘッダー ファイル Foo.h が vector に言及し、そのインクルードの 1 つに既に vector が含まれている場合、コンパイラは満足しています。私はそれをしたくありません。Foo.h で vector が言及されている場合は、それを直接インクルードし、別のヘッダーに依存しないようにする必要があります。コンパイラはこれをキャッチしますか?