2013-07-17 2 views
8

스핑크스 C and C++ domains을 살펴보면, enum (그리고 익명의 enum)의 문서화에 대한 기본 지원이없는 것 같습니다. 현재로서는 enum 유형에 cpp:type::을 사용하고 가능한 모든 값과 설명을 나열하지만 이상적인 방법으로는 처리하지 못합니다. 특히 특정 값을 통증으로 간주하기 때문에 그냥 형식을 참조하거나 값 앞에 여분의 표식을 추가합니다.)스핑크스 : 열거 형을 문서화하는 올바른 방법은 무엇입니까?

더 좋은 방법이 있나요? 익명의 enum을 어떻게 처리할까요?

답변

0

안녕하세요 아마도 c/C++에 대한 네이티브 지원이 더 많기 때문에 doxygen을 사용하는 것이 좋습니다. xml로 doxygen에서 출력 할 수있는 문서의 스핑크스 출력을 유지하려면 Breathe을 사용하면 xml을 취하게되어 익숙한 것과 동일한 스핑크스 출력을 얻을 수 있습니다.

다음은 호흡기 웹 사이트에서 doxygen 형식의 enum을 문서화 한 예입니다.

//! Our toolset 
/*! The various tools we can opt to use to crack this particular nut */ 
enum Tool 
{ 
    kHammer = 0,   //!< What? It does the job 
    kNutCrackers,   //!< Boring 
    kNinjaThrowingStars //!< Stealthy 
}; 

희망이 도움이됩니다.

+0

나는 사용자 정의하기가 더 쉽기 때문에 Doxygen보다 Sphinx를 선호합니다. Breathe가 작동하는 방식은 문서가 작성되는 방식과 실제로 호환되지 않습니다 (게다가 출력물을 보면서 열거 형을 표시하는 것과 비슷한 문제가있는 것 같습니다) .Breathe와 Doxygen은 우리에게 유력한 옵션이 아닙니다. 죄송합니다. – JustSid

3

Github의 프로젝트 spdylay에 접근하는 것으로 보입니다. https://github.com/tatsuhiro-t/spdylay/blob/master/lib/includes/spdylay/spdylay.h 에서 헤더 파일 중 하나는 같은 코드가 있습니다

/** 
* @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/blob/master/doc/mkapiref.py

에서 사용할 수 그들이 mkapiref.py라는 API 생성기를 사용하여 포함하는 https://github.com/tatsuhiro-t/spdylay/tree/master/doc에 그것을하고있는 방법에 대한 몇 가지 설명,

이 예를 들어이 생성하는 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. 

당신은 살펴 볼 수있다 당신을 위해 eful.

+0

제안에 감사드립니다. Alex - 나는 이것에 대한 예를 필요로했습니다! 나는 당신의 답에 예제를 위해 생성 한 스핑크스 마크 업을 편집 할 자유를 취했다. – Blair

관련 문제