Wie strukturiere ich am geschicktesten globale Funktionen und Operatoren in Doxygen?
Ich habe in einem Namespace ca. 20 Klassen und ein davon hat ca. ein Dutzend globale Operator-Templates. Diese sind also nicht Member der Klasse, da sie an alles, was sie aufrufen müssen, eh übers public Interface der Klasse ran kommen. Nun führt das aber zu der Unschönheit, dass ich in Doxygen, wenn ich auf die Referenz des Namespaces gehe, diese Funktionen alle direkt auf einer Seite mit den Klassen habe. Sie nehmen dort mehr Platz ein, als die Klassen. Interessieren tun einen diese Funktionen aber eigentlich nur, wenn man die Doku zu der Klasse, zu deren Interface sie quasi gehören, sehen will. Entsprechend hätte ich sie gerne nicht direkt in der Übersicht des Namespaces, sondern erst zusammen mit den public Membermethoden der Klasse aufgelistet, nachdem man auf diese geklickt hat.
Wie stelle ich das am geschicktesten an?
Globale Operatoren/Funktionen mit Doxygen dokumentieren
-
- Establishment
- Beiträge: 467
- Registriert: 18.04.2002, 15:31
Globale Operatoren/Funktionen mit Doxygen dokumentieren
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da :)
"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
DirectGL, endlich ist es da :)
"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
- Chromanoid
- Moderator
- Beiträge: 4286
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Globale Operatoren/Funktionen mit Doxygen dokumentieren
Ich habe eben mal gegooglet und irgendwas von Grouping und Subpaging in doxygen gelesen. Hast du dir mal angeschaut, was man damit anfangen kann?
Siehe http://www.stack.nl/~dimitri/doxygen/grouping.html
Siehe http://www.stack.nl/~dimitri/doxygen/grouping.html
-
- Establishment
- Beiträge: 467
- Registriert: 18.04.2002, 15:31
Re: Globale Operatoren/Funktionen mit Doxygen dokumentieren
Ja, mit den Groups, Member Groups und Pages spiele ich schon seit Freitag intensiv rum, aber bei diesem Problem habe ich mir damit bisher nicht helfen können, genauso wenig übrigens wie bei dem Problem, die Doku für mehrere Programmiersprachen mit möglich wenig Redundanz umzusetzen, ohne dass ich in der Klassenübersicht oder der Memberübersicht dann die API aller Sprachen bunt durcheinander gewürfelt präsentiert bekomme, weil gleiche Funktionalität auch nachvollziehbaren Gründen natürlich meist sprachübergreifend die gleichen Namen hat und Module eben keine Auswirkungen auf Klassenübersicht, Memberübersicht, etc. haben.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da :)
"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
DirectGL, endlich ist es da :)
"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Globale Operatoren/Funktionen mit Doxygen dokumentieren
Ja, das ist höchst ärgerlich. Da kommt eben doch durch, dass C++ weitestgehend als rein objektorientierte Sprache im klassischen Sinne zum Einsatz kommt. Hätte ich die Zeit, würde ich mich wohl an einer Contribution versuchen, die globale Funktionen all den Klassen/Typen zuordnet, welche in der Signatur vorkommen, dem Namespace dagegen nur mit expliziter global-Markierung oder in einer zusätzlichen Komplettübersicht. :|
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- kimmi
- Moderator
- Beiträge: 1412
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Globale Operatoren/Funktionen mit Doxygen dokumentieren
Du kannst ein separates Dokemt für die sprachunabhängige API definieren. Wenn du die Links zu den jeweiligen Sprachen brauchst, referenzierst du halt auf diese. Dann definierst du dir so etwas wie eine Gruppe API und verpasst den jeweiligen Sprachen API.cpp als Namen.
So könnte ich mi das Ganze vorstellen, wenn du von den Sprachen abstrahieren möchtest.
Gruß Kimmi
So könnte ich mi das Ganze vorstellen, wenn du von den Sprachen abstrahieren möchtest.
Gruß Kimmi
-
- Establishment
- Beiträge: 467
- Registriert: 18.04.2002, 15:31
Re: Globale Operatoren/Funktionen mit Doxygen dokumentieren
Habe die Lösung gefunden:
Es gibt ein Schlüsselwort "relates" bzw. equivalent "related", welches dafür sorgt, dass die Doku für eine globale Funktion im Abschnitt "related functions" in der Doku der angegeben Klasse auftaucht, statt global im Namespace aufgleicher Eben wie alle Klassen rum zu fliegen. Genau so, wie ich das wollte :)
Es gibt ein Schlüsselwort "relates" bzw. equivalent "related", welches dafür sorgt, dass die Doku für eine globale Funktion im Abschnitt "related functions" in der Doku der angegeben Klasse auftaucht, statt global im Namespace aufgleicher Eben wie alle Klassen rum zu fliegen. Genau so, wie ich das wollte :)
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da :)
"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
DirectGL, endlich ist es da :)
"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Globale Operatoren/Funktionen mit Doxygen dokumentieren
Wow, danke, kannte ich bisher auch nicht.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite