私の C++ アプリケーションには、特定の「動作」を定義する約 10 個の異なるクラスがあります (それらを A、B、C などと呼びましょう)。コード内の他の場所 (メソッド) では、これらの動作を任意に組み合わせて使用できます。たとえば、メソッド M1 は動作 A と B を使用し、メソッド M2 は動作 A、C、D を使用します。
実際には、コードは次のようになります。
BehaviorCollection coll;
BehaviorA ba;
coll.push_back(&ba);
BehaviorB bb;
coll.push_back(&bb);
someComplexFunctionality (coll);
どのメソッドがビヘイビアーを使用するかについて、できれば特定のビヘイビアーのドキュメントで明確な概要を生成して、すべてのビヘイビアーのクラス ドキュメントに次のようなリストが含まれるようにしたいと考えています。
BehaviorA is used by the following methods:
- method1
- method3
- method7
このリストをハードコードすることもできますが、しばらくすると、新しいメソッドが追加されたり、メソッドが追加の動作を使用し始めたり、メソッドが動作を使用しなくなったりするため、古くなります。したがって、これを保守可能にするために、振る舞いを使用するメソッドに何かを含めることを好み、Doxygen に「このコードはこれらの振る舞いを使用しているので、その振る舞いのドキュメントに何かを追加してください」と伝えます。
「Visual AssistX」や「Understand for C/C++」などのツールを使用するとルックアップを実行できますが、ルックアップを実行するたびに手動操作が必要になります。したがって、ドキュメント生成システムでこれを自動化したいと考えています。
defgroup と ingroup の使用を検討していますが、これがコード フラグメントに対して機能するかどうかはわかりません。使用するための最良のアプローチは何ですか?