2009-11-02 11 views
9

Jestem pewien, że istnieje jakiś sposób, aby to zrobić z \ defgroup \ addgroup i \ {\ @ @} tagów, ale po kilku godzinach prób i błędów (oczywiście), pytam więc ... ..Jak powiązać funkcje nie będące członkami z klasą w Doxygen?

mam:

class C { 
public: 
    void foo() const; 
}; 

i mam kilka pomocniczych funkcji non-członków, które naprawdę są częścią interfejsu C, ale nie są w klasie:

std::string 
format (const C& c, const std::string &fmt); 

i d podobna funkcja formatu, aby pojawiła się na tej samej stronie co funkcje klasowe. Czy to po prostu niemożliwe? Najlepiej mogę zrobić stronę "moduł", która wymienia C jako klasę (z hiperłączem do komentarzy C i format jako funkcję?

Odpowiedz

13

\relates (lub \ memberOf) wydaje się być to, czego szukasz.

+0

Um ... tak ... teraz czuję się jak idiota za tym, że go brakuje. Myślę, że muszę ponownie przeczytać sekcję Polecenia specjalne w dokumentach. Nie pamiętam, żeby w przykładach były używane \ powiązania. –

0

Utworzenie grupy i przypisanie funkcji spoza twojej klasy w tej grupie praca, ale w dokumentacji klasa sama, nie będzie się odnośniki do swoich funkcji, chyba użyć poleceń takich jak @see lub @sa. Szczerze, ponieważ funkcja przyjmuje udokumentowany parametr nie oznacza, funkcja ta jest automatycznie częścią biblioteki ale można połączyć obu klas i funkcji razem przy użyciu @defgroup i @addgroup.

+4

Jeśli funkcja znajduje się w tym samym pliku nagłówkowym niż definicja klasy, istnieje duża szansa, że ​​powinna ona figurować w klasie w dokumentacji. Zobacz definicję "interfejsu publicznego" autorstwa Herb Sutter. –

+1

Jak mówi Matthieu ...... jest to część interfejsu. Dlatego chciałem się dowiedzieć, czy istnieje sposób, aby je pokazać na tej samej stronie. –

Powiązane problemy