Zde bude popsano, jak se tvori komentare pro Doxygen. Stylu komenentaru je vice, proto budou nektere uprednostnene, aby byla knihovna konzistentni. Kdyz to jde standardne, tak vsechny komentare jsou pouze v hlavickovem souboru. Pokud je komentar u deklarace v .h i u definice v .cpp, tak se objevi oba, proto komentujete jen v .h. Komentare ktere akceptuje doxygen ================================= a) FILE - popis souboru se zadava takto: /** \file jmeno \brief Kratky popis a jeho pokracovani. Detailni popis musi byt oddelen od briefu prazdnym radkem. */ - pokud v .cfg zapnu nejakej JAWA_BRIEF, tak je jako brief brana 1. veta: /** \file jmeno Toto je kratky popis. A toto je uz detailni popis. */ b) FUNKCE - podobny jako file /** Funkce vymeni obsahy promennych. Na ktere ukazuje \a first a \a second. \param first ukazatel na prvni prvek \param second ukazatel na druhy prvek \retval -1 nastala nejaka chyba \retval 0 vse probehlo v poradku \returns fce vraci cosi kdesi */ nebo /** * Nebo muzu na kazdy radek davat na začátek hvězdičku, * která tam ale není potřeba. * Manuál se pak generuje bez hvězdiček. * Takovýto komentář pak vypadá hezky, používá ho např. OOFEM. */ nebo jednořádkový stačí takovýto /// Komentar. Komentovat lze i za deklaraci: enum TEnum { TVal1, /**< Detailni popis TVal1.. */ TVal2, ///< brief popis k TVal2.. */ } c) DALSI FUNKCE - do komentare napisu jmeno fce, DOXY na nej automaticky udela odkaz - \see jmeno_jine_funkce, doxygen TO VYTAHNE ZA KOMENTAR a tam udela odkaz na ty funkce. Grouping ======== - grupovani clenu, pouzivam na grupovani metod tridy - automaticky se metody grupuji do grup private, protected a public - pokud vytvorim vlastni grupu, tak se vybrane metody premisti z automat. grup do moji grupy pozor: pokud v moji grupe jsou vsechny metody p,p nebo p, tak se z me grupy stane podgrupa autom. grupy p,p respektive p toto se da zrusit pomoci \nosubgrouping v hlavnim komentari tridy - vlastni grupa: - @name muze byt v ukazkovem komentari ale i v /** @name name */ - příklad použití: // *************************** // /** @name AUXILIARY **/ // *************************** // @{ metoda 1 metoda 2 ... metoda posledni // @}