2016-08-26 2 views
3

Я сутуляю свою библиотеку C++ и с помощью Doxygen написал хорошую документацию. Скажем, я объявил тип:Описание по умолчанию для возвращаемого значения в Doxygen

typedef enum { 
    NO_ERROR,    ///< Everything fine. 
    SOME_REALLY_BAD_ERROR, ///< Something went wrong. 
    VERY_INFREQUENT_ERROR ///< Used only in some cases. 
} ReturnType; 

и использовать его как возвращаемые значения, чтобы обозначить возможные ошибки в функциях. Теперь определим функцию:

/** Very important description 
* 
* @return NO_ERROR on proper exit, SOME_REALLY_BAD_ERROR otherwise. 
*/ 
ReturnType ImportantFunction(); 

Так с каждым определением функции я должен вставить ту же описание значения возврата по умолчанию (но иногда я вернусь VERY_INFREQUENT_ERROR и написать другое описание). Итак, мой вопрос:

Есть ли способ в Doxygen создать описание возвращаемого значения по умолчанию, или просто создать описание для нечастых случаев?

ответ

2

AFAIK вы не можете создать описание по умолчанию. Что вы можете сделать, это использовать \copydoc, по крайней мере, написать описание только один раз:

/** 
* \class common_ReturnType 
* 
* NO_ERROR on proper exit, SOME_REALLY_BAD_ERROR otherwise. 
*/ 

/** Very important description 
* 
* @return \copydoc common_ReturnType 
*/ 
ReturnType ImportantFunction(); 

/** Very important description with very infrequent result 
* 
* @return \copydoc common_ReturnType In very infrequent cases, VERY_INFREQUENT_ERROR. 
*/ 
ReturnType ImportantFunctionWithInfrequentResult(); 

Это создаст фиктивную запись в документации для common_ReturnType. Вы можете исключить его из вывода, используя EXCLUDE_SYMBOLS = common_* в конфигурационном файле.

+2

Несколько дней назад я толкнул. на мой взгляд, возможное решение для этого типа проблем для github «Представляем команды includeoc и snippetdoc» запрос на перенос 503. Whit the \ snippetdoc это должно быть возможно, – albert

+0

Я думаю, что этого будет достаточно, так как я могу создать хороший документация для 'ReturnType'. – SzymonPajzert

1

Вы можете определить команду псевдонима с точным, возвращающие документации:

ALIASES += "[email protected] NO_ERROR on proper exit, SOME_REALLY_BAD_ERROR otherwise." 

Затем вы можете использовать этот ярлык:

/** 
* @return_noerr 
*/ 
+0

Хорошая идея, но я боюсь, что это будет означать изменение общего файла конфигурации каждый раз, когда я хочу изменить документацию типа. Поскольку это может произойти каждое изменение в самом типе, я бы предпочел решение на основе кода. – SzymonPajzert

Смежные вопросы