Doxygen не может разобрать шаблонный тип возврата - PullRequest
3 голосов
/ 13 апреля 2011

Я сейчас документирую свой код с помощью Doxygen.Хотя кажется, что Doxygen не может обработать шаблонные возвращаемые значения.Моя проблема:

/** 
 *  Retrieves all edges from the graph.
 *  @param gID The ID of the graph.
 *  @return A list containing pairs of vertices, denoting the edges in the graph.
 */
 int GetEdges(const int& gID); // Works fine

/** 
 *  Retrieves all edges from the graph.
 *  @param gID The ID of the graph.
 *  @return A list containing pairs of vertices, denoting the edges in the graph.
 */
 list<pair<int,int>> GetEdges(const int& gID); // PROBLEM

Вторая функция не документирована.Еще хуже;все функции ниже этого теперь пропущены Doxygen.Каким-то образом doxygen не в состоянии обработать возвращаемое значение list<pair<int,int>>.

Кто-нибудь знает, почему и как это изменить?Заранее спасибо.

1 Ответ

3 голосов
/ 13 апреля 2011

Может, Doxygen не поддерживает новый способ объявления шаблонов?Более старые стандарты C ++ (я думаю, до C ++ 03) допускают только list<pair<int,int> >.Вы должны иметь пробел между двумя знаками > в конце, потому что в противном случае компилятор будет интерпретировать их как оператор >> (сдвиг вправо).

Некоторые новые компиляторы повторно формируют этот синтаксис, и эточасть будущего стандарта C ++ 0x, но, возможно, doxygen пока не распознает его.

...