簡體   English   中英

Doxygen:在函數內移動靜態變量文檔

[英]Doxygen: Moving a static variable documentation inside a function

考慮這個代碼:

#include <string>

namespace MyNamespace
{

/** \brief Error Class */
class Error
{
public :
    /** \brief Constructor */
    Error ( int in_code, const std::string& in_message );
    ...
};

/** \brief Successfull result */
static Error SUCCESS(                                   0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN(                             1, "Unknown Error. " );
...

};

MyNameSpace 已經是 doxygen 組的一部分。 當我生成文檔時,我得到:

  • 一頁Error類描述
  • SUCCESSERROR_UNKNOWNMyNamespace頁面中的“函數”(奇怪!)

如何標記SUCCESSERROR_UNKNOWN以顯示在Error類描述頁面中?

注意:我無法定義一個新組並將兩者都放入,因為我的組列表已凍結(我們希望每個庫一個組)。 “隱藏”組可能是解決方案。

到目前為止,我能找到的最好的“解決方案”是使用\\memberof

這個:

/** \memberof Error @{ */

/** \brief Successfull result */
static Error SUCCESS(                                   0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN(                             1, "Unknown Error. " );
...

/** @} */

Error類描述的“靜態公共成員函數”下的SUCCESSERROR_UNKNOWN移動。 這不是很好,因為它們然后與其他真正的靜態公共成員函數混合。 但也添加了一個\\name標簽......

/** \memberof Error @{ */
/** \name Error values: */

/** \brief Successfull result */
static Error SUCCESS(                                   0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN(                             1, "Unknown Error. " );
...

/** @} */

將在Error類描述的“相關函數”下的“錯誤值”部分中移動SUCCESSERROR_UNKNOWN ,並帶有一個很好的注釋報告(Note that these are not member functions.) ......這絕對是可以接受的......

在代碼中, SUCCESSERROR_UNKNOWN不是Error類的一部分,因此生成的文檔是正確的(撇開“函數”的問題)。

試圖讓 doxygen 將它們顯示為 Error 類的一部分是非常具有誤導性的,因為文檔和代碼現在是矛盾的。

如果您真的希望SUCCESS成為Error類的一部分,請在代碼中做到這一點。

或者,這可能是意圖,在Error類的文檔中,添加類似@see SUCCESS@see ERROR_UNKNOWN

這將生成指向這些項目文檔的“另請參閱”注釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM