2012-06-14 10 views
11

Chcę udokumentować bibliotekę z doxygen. Dokumentacja zostanie odczytana przez dwie klasy ludzi: użytkowników, którzy są zainteresowani tylko zewnętrznym API i programistami, którzy chcą zobaczyć dokumentację dla wszystkich funkcji/struktur.Oddzielna "wewnętrzna" dokumentacja "zewnętrzna" w doxygen

Chciałbym użyć do oddzielenia plików doxy w celu utworzenia dokumentacji. Czy istnieje "tag", który mogę umieścić w bloku komentarza, aby oznaczyć komentarz jako wewnętrzny/zewnętrzny?

+0

Jakim językiem jest biblioteka? Na przykład w języku C# doxygen może przeglądać modyfikatory funkcji "public" a "internal". – Blorgbeard

+0

Biblioteka jest napisana w C – timos

Odpowiedz

16

Set INTERNAL_DOCS:

# The INTERNAL_DOCS tag determines if documentation 
# that is typed after a \internal command is included. If the tag is set 
# to NO (the default) then the documentation will be excluded. 
# Set it to YES to include the internal documentation. 

INTERNAL_DOCS   = NO 

W dokumentacji można użyć \internal lub @internal bez względu na ziarnistość chcesz (plik, funkcja, itd.).

+0

Uratowałeś mi wiele bólu, próbując uzyskać kondycję lub robiąc to samo. –

+0

\ internal prawie nigdy nie robi tego, co myślisz robi. Ukrywa jedynie dokumentację, a nie klasy lub funkcje, z których jest używana. Gorąco polecam używanie \ cond /\ endcond wspomnianego przez Mad Physicist w innej odpowiedzi. – gnash117

9

Polecenie \ dyr:

\internal (@internal) ma tylko ziarnistość dla bieżącego komentarza bloku. Nie pozwala Ci żaden sposób ukryć definicję struktury w C

Najprostszym sposobem, aby to zrobić, to umieścić

\ dyr WEWNĘTRZNEJ

w górnej części wewnętrznej pliku nagłówka i

\ endcond

u dołu. Następnie w pliku konfiguracyjnym, dodać

ENABLED_SECTIONS = WEWNĘTRZNY

aby umożliwić wewnętrzne elementy, które należy uwzględnić w dokumentacji.

Ten sposób jest również zalecany przez użytkowników Doxygen, np. here

0

Jest to proste rozwiązanie, które wykorzystuje fakt, że zazwyczaj można rozróżnić wewnętrzne i zewnętrzne części kodu na pliki.

można po prostu ograniczyć plików wejściowych tylko do tych plików nagłówkowych, które chcesz wystawiać w dokumentacji zewnętrznej:

# For internal, we parse all files 
INPUT = ./ 
# For external, we parse only the files containing the public interface 
INPUT = include/header1.hpp include/header2.hpp 

Ma to tę zaletę, że pliki źródłowe nie muszą być modyfikowane (z \internal lub @internal).