У меня есть довольно большой оператор switch (или такой же большой оператор if), который я хотел бы задокументировать как-то в Doxygen, возможно, в его Caller Graph или, может быть, в каком-то формате блок-схемы.
Как я могу этого добиться? Спасибо !
У меня есть довольно большой оператор switch (или такой же большой оператор if), который я хотел бы задокументировать как-то в Doxygen, возможно, в его Caller Graph или, может быть, в каком-то формате блок-схемы.
Как я могу этого добиться? Спасибо !
Обычно doxygen используется только для документирования общих функций. Тем не менее, я пробовал что-то вроде этого.
/// Foo Function
void Foo(void)
{
/// if switch \a condition equals
switch (condition)
{
case VALUE_1:
{
/// - Path 1 \n
/// Detailed explanation of path A.
Foo1();
break;
}
case VALUE_2:
{
/// - Path 2 \n
/// Detailed explanation of path B.
Foo2();
break;
}
case VALUE_3:
{
/// - Path3 \n
/// Detailed explanation of path C.
Foo3();
break;
}
case default:
{
/// - Default Case
///Something went wrong
}
}//end switch
}
Это поместит подробное описание в функцию Foo и создаст маркированный список каждого из случаев. Не забудьте поставить «-», чтобы создать маркированный список. Что касается создания графиков вызовов, вы можете попробовать использовать ключевое слово \dot. Тем не менее, я никогда не использовал его и думаю, что создать действительно полезную диаграмму, объясняющую путь, очень сложно.
\if создает условную документацию, а не документацию условного.
- person Ben Voigt; 21.08.2010