私は、コラボレーション図を描画するときにDoxygenに継承関係を無視させようとしています。Doxygenに継承関係を無視させる方法は?
のは、私のクラス定義は次のようになりましょう:私はDoxygenのを実行すると
今class Derived : public Base
{
int x;
int y;
int z;
}
、私は、生成されたコラボレーション図で基本クラスを参照してくださいする必要はありません。
一見すると、これを行う最もクリーンな方法は、私のDoxyfileにEXCLUDE_SYMBOLS
指示文を使用することです。具体的に:派生の基底クラスはまだ私のコラボレーション図に表示:
EXCLUDE_SYMBOLS = Base
しかし、私はこれが動作しないことがわかってきました。私はこれをDoxygen 1.8.6
との両方で試してみましたが、ベースワイルドカード(Base *、* as *など)の異なる順列でも同じ動作をしました。 Baseクラスは常に私のコラボレーション図に表示されます。
2つの回避策が見つかりましたが、どちらも条件文を自分のコードに入れています。完全を期すために、私はここの両方が含まれます:
最初の回避策方法:その後
class Derived :
#ifndef DOXYGEN_SHOULD_SKIP_THIS
public Base
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
{
...
}
次の二つのディレクティブがDoxyfileというの内側に設定されていることを確認してください。
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
ENABLE_PREPROCESSING = YES
セカンド回避策を方法:
class Derived :
/// @cond DOXYGEN_IGNORE
public Base
/// @endcond
{
...
}
これらの回避策は実際にDoxygenが継承関係を無視するようにしますが、私のコードベースを不必要に汚染しないようにしたいと思います。
私の質問は - なぜではありませんEXCLUDE_SYMBOLS
Doxygenはコラボレーション図を描画するときにBaseクラスを無視しますか?