Doxygen a Switch - PullRequest
       8

Doxygen a Switch

2 голосов
/ 20 июля 2010

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

1 Ответ

3 голосов
/ 21 августа 2010

Обычно 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 и создаст маркированный список каждого из случаев. Не забудьте поставить «-» для создания списка bulletd. Что касается генерации графов вызовов, вы можете попробовать использовать ключевое слово \ dot. Тем не менее, я никогда не использовал его, и думаю, что это очень много работы, чтобы создать действительно полезную диаграмму, которая объясняет путь.

...