Ако имам клас във файл, не мога да се променя, но азтрябва да се документира в doxygen, какъв е най-добрият начин да го направите? Знам, че би било най-добре да се документира в действителния .h или .cpp файл, но в този конкретен случай това не е възможно.
Разбрах как да документирам някои членове,но не мога да документирам операторите по надежден начин. Нека дам пример. Ето примерна класа с член, който е причинил проблеми и този, който работи добре:
class Foo
{
public:
int Bar();
bool operator!() const;
};
В някакъв друг файл, който doxygen изглежда, съм сложил следното:
/// @fn Foo::Bar
/// @brief Some info about the constructor
/// @return Some stuff about what bar returns
Документацията за конструктора работи, но това не означава:
/// @fn Foo::operator!
/// @brief Some info about the operator
/// @return Some stuff about what the operator! returns
нито:
/// @fn operator!
/// @memberof Foo
/// @brief Some info about the operator
/// @return Some stuff about what the operator! returns
Аз също се опитах да избяга от различни части с% и. Така изглеждаше като "/// @fn% operator!", "/// @fn operator%!" или "/// @fn оператор!" но нищо не харесва това е помогнало.
Информацията за оператора никога не се показва. Няколко пъти се опитвах да поставя уникална стойност в коментарите на оператора doxygen и да го подправям в изхода на doxygen и се появих празна. Какво правя погрешно?
Отговори:
6 за отговор № 1Ако погледнете вашия изход на doxygen, трябва да има предупреждение
/path/to/Documentation: warning: no matching class member found for
Foo::operator!()
Possible candidates:
bool Foo::operator!() const
в такъв случай променете документацията си на
/// @fn Foo::operator!() const
/// @brief Some info about the operator
/// @return Some stuff about what the operator! returns
обърнете внимание на допълнителното () const
приложен към @fn
идентификатор.