◀ANSI版開発トップへ
  • 3884 Doxygenの引数説明の書き方
    • 3887 Re: Doxygenの引数説明の書き方
  • [3884] Doxygenの引数説明の書き方 dskoba 2005年03月31日 01:57

    http://members.at.infoseek.co.jp/sakura_editor/comment-rule.html
    引数の説明の書き方で,
    @param filename [in] ファイル名
    のようになってますが,公式マニュアル http://www.stack.nl/~dimitri/doxygen/commands.html#cmdparam によれば,
    @param[in] filename ファイル名
    となっています。
    また入出力は[i/o]ではなく[in,out]です。

    今後は公式に合わせて書いた方が良いでしょうか?
    • [3887] Re: Doxygenの引数説明の書き方 げんた 2005年03月31日 21:46

      >@param[in] filename ファイル名
      >また入出力は[i/o]ではなく[in,out]です。
      バージョン1.3.7から導入された機能のようですね.

      1.4.2で試してみましたが,パラメータ説明の前に[in][out][in,out]が付くだけみたいです.
      HTML出力での従来との違いは,in/out,パラメータ名,説明がそれぞれ揃うことと,in/outのフォントくらい.

      >今後は公式に合わせて書いた方が良いでしょうか?
      そうしましょう,と書きたいところですが,1つ問題発見.
      関数のパラメータの後ろに
      const char* name, //!< [in] 名前だよ
      みたいな書き方をしている場所でin/outが指定できません.
      強引に
      const char* name, //!< @param[in] 名前だよ
      と書いたら,パラメータの後ろにまた引数というセクションが作られて変な出力になります.

      この書き方を禁止するのも忍びないので,@paramの記法のみを使う場合は極力新形式に合わせるが,パラメータの後ろに置く場合には従来の記法を使って,1つの関数の説明で両者が混在しないようにするのがいいかな.

      この方針でホームページの方更新しておきました.

      ---
      従来の記述からは正規表現置換を使えば簡単に変換できます.
      置換前: @param\s+(.*)\[i/o\]\s+
      置換後: @param[in,out] $1
      [in][out]も同様