Doxygen では、次のコード構造があるとします。
foo/__init__.py
foo/bar.py
含むfoo/bar.py
:
def meh():
"""@brief Some cool feature.
More details...
"""
print "Hello, world!"
およびfoo/__init__.py
含む:
# Publicly expose "foo.bar.meh" as "foo.meh".
from foo.bar import meh
このスキームでは、構造的なコード レイアウトの理由から純粋meh
に内部にあり、パブリック API のように表示される必要があります。foo.bar
foo.meh
実際のこのスキームの例はos.path
、多くの OS 固有の実装モジュールの 1 つからシンボルを公開する標準ライブラリからのものです (これはたまたまos.path.nt
、たとえば利用可能です)。
このソース ツリーで Doxygen を実行すると、 as が取得meh
されfoo.bar.meh
、 as が取得できませんfoo.meh
。
meh
コマンドを使用して明示的に修飾しようとしまし@fn
たが、奇妙な警告が表示され、関数が出力されません。@class
for classes を使用すると、2 つのMeh
クラスがあり、1 つには簡潔で詳細なドキュメントがあり、もう 1 つにはメソッドと他のメンバーがある状況が作成されます。おそらく、Doxygen は@class
ディレクティブを別のモジュール内のクラスのドキュメントとして解釈し、特別なコメント ブロックに続くクラスにドキュメントを関連付けません。
Doxygen を使用して内部モジュール シンボルをパブリック パッケージ シンボルとして公開するにはどうすればよいですか?
記録として、これは非常に大規模な C++ と Python のハイブリッド コード ベースであり、(少なくとも短期的には) reStrcuturedText や Sphinx に変換することに興味がない大量の Doxygen コメントが含まれています。