Doxygen переключатель

У меня есть довольно большой оператор switch (или такой же большой оператор if), который я хотел бы задокументировать как-то в Doxygen, возможно, в его Caller Graph или, может быть, в каком-то формате блок-схемы.

Как я могу этого добиться? Спасибо !


person Oliver    schedule 20.07.2010    source источник


Ответы (1)


Обычно 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. Тем не менее, я никогда не использовал его и думаю, что создать действительно полезную диаграмму, объясняющую путь, очень сложно.

person Dennis Miller    schedule 21.08.2010
comment
\if создает условную документацию, а не документацию условного. - person Ben Voigt; 21.08.2010