2012-08-27 3 views
7

Gibt es eine Möglichkeit, Doxygen die Dokumentation für einzelne private Funktionen anzeigen zu lassen? Ich möchte, dass doxygen die Dokumentation für die überwiegende Mehrheit der privaten Funktionen nicht zeigt, sondern für einige wenige private Funktionen zeigt. Meine Motivation ist, dass diese privaten C++ - Funktionen für Python als Erweiterungen bereitgestellt werden und ich möchte, dass ihre Dokumentation in Doxygen angezeigt wird. Ich möchte jedoch nicht, dass sie öffentlich sind, weil sie nur von den Klassen selbst benötigt werden; Sie gehören definitiv in den privaten Sektor.Doxygen private Funktion

Danke

+0

siehe diese http://stackoverflow.com/questions/562763/doxygen-hiding-private-protected-method-and-tips – PiotrNycz

+2

Dies beantwortet meine Frage nicht. Das bestimmt, wie alle privaten Funktionen aktiviert oder deaktiviert werden, was ich nicht machen wollte. Ich hoffe auf eine Art Konditional. Ich habe versucht, private Dokumente zu deaktivieren und die internen Dokumente zu aktivieren, aber das hat nicht funktioniert. – duffsterlp

+0

sehe meine Antwort über Conditionals. Es erfordert nur wenige Änderungen pro Klasse. – PiotrNycz

Antwort

0

Es gibt ein paar Möglichkeiten, dies zu erreichen.

Sie könnten einfach nicht diejenigen Funktionen dokumentieren, die nicht sichtbar sein sollen. Standardmäßig zeigt Doxygen keine Mitglieder an, die Sie nicht dokumentiert haben. So können Sie einfach sagen, dass es private zeigen soll und nicht dokumentierte private Mitglieder werden nicht angezeigt.

+1

nur um sicher zu sein, fügen Sie 'HIDE_UNDOC_MEMBERS = YES' in der Konfigurationsdatei ... – PiotrNycz

+0

Dies wäre definitiv machbar, aber viele private Funktionen haben bereits doxygen Dokumentation, und ich werde sie nicht de-doxygen. – duffsterlp

3

Der Abschnitt zwischen \ cond- und \ endcond-Befehlen kann eingefügt werden, indem die Abschnittsbeschriftung der Konfigurationsoption ENABLED_SECTIONS hinzugefügt wird. Wenn die Abschnittsbeschriftung weggelassen wird, wird die Verarbeitung der Sektion bedingungslos ausgeschlossen.

/** An interface */ 
class Intf 
{ 
    public: 
    /** A method */ 
    virtual void func() = 0; 

    /// @cond COND1 

    /** A method used for testing */ 
    virtual void test() = 0; 

    /// @endcond 
}; 

Siehe cond help

Nicht COND1 Abschnitte zu sehen: nur fügen Sie es nicht zu ENABLED_SECTIONS Konfigurationsoption.

+0

Für private Felder funktioniert das nur, wenn EXTRACT_PRIVATE aktiviert ist. – tenpn