11

SphinxのC および C++ ドメインを調べると、enum のドキュメント化 (および匿名の enum ははるかに少ない) をネイティブでサポートしていないようです。今のところ、私cpp:type::は列挙型に使用し、次にすべての可能な値とその説明のリストを使用していますが、特に特定の値を参照するのが面倒になるため、これを処理する理想的な方法とは思えません (タイプのみを参照するか、値の前に追加のマーカーを追加します)。

これを行うより良い方法はありますか?そして、匿名の列挙型をどのように処理しますか?

4

3 に答える 3

6

Github のプロジェクトである spdylay には、アプローチがあるようです。https://github.com/tatsuhiro-t/spdylay/blob/master/lib/includes/spdylay/spdylay.hのヘッダー ファイルの 1 つには、 次の ようなコードがあります。

/**
 * @enum
 * Error codes used in the Spdylay library.
 */
typedef enum {
  /**
   * Invalid argument passed.
   */
  SPDYLAY_ERR_INVALID_ARGUMENT = -501,
  /**
   * Zlib error.
   */
  SPDYLAY_ERR_ZLIB = -502,
} spdylay_error;

https://github.com/tatsuhiro-t/spdylay/tree/master/docには、 https://github.com/tatsuhiromkapiref.pyで入手可能な という API ジェネレーターの使用が含まれています。 -t/spdylay/blob/master/doc/mkapiref.py

この例で生成される RST は次のとおりです。

.. type:: spdylay_error

    Error codes used in the Spdylay library.

    .. macro:: SPDYLAY_ERR_INVALID_ARGUMENT

        (``-501``) 
        Invalid argument passed.
    .. macro:: SPDYLAY_ERR_ZLIB

        (``-502``) 
        Zlib error.

あなたはそれを見て、それがあなたにとって有用かどうかを確認することができます.

于 2013-07-28T08:27:54.850 に答える