C++ templates

Liebe/-r Experte/-in,

Es wäre sehr nett, wenn Du mir helfen könntest.

Hab schon ein gewisse Zeit kein C++ mehr gesehen und
hab da eine Zeile in einer .h Datei gefunden die
ich gar nicht einordnen kann. Was sind das für C++ Elemente in der Zeile 119, 120.

Ich meine nicht die Bedeutung für den Programmlauf, sondern überhaupt.

Es ist kein #define Makro und hat keine ‚;‘ am Ende.

http://78.46.106.133/nsParser.h
Stammt aus den Quelltesten von firefox 3.5 :smile:

  1. Frage
    Hast Du vielleicht Lust mir bei der Entwicklung eines
    Tools wie wget nur mit Javascript helfen ? Alles unter
    Linux. :wink:

Habe Firefox erfolgreich kompiliert, aber mit den Sourcen komme ich nicht so schnell klar. Man muß ‚nur‘ die richtigen Teile rauspicken.

Gruß Peter

hallo,

ich gar nicht einordnen kann. Was sind das für C++ Elemente in
der Zeile 119, 120.

das ist definitiv ein Macro, und ist wohl von einem der vielen, vielen Include-Dateien am Anfang der Datei importiert. Keine Ahnung, was diese speziellen Zeilen machen.

nsXyz-Zeug kommt soweit ich weiss noch aus der guten alten Netscape-Zeit, wo Mozilla/Firefox ja seine wurzeln hat.

Einmal ein Grep NS_DECL auf alle header-files machen, und kucken was rauskommt. irgendwo muss ein #define sein.

da es von den NS_DECL_XYZ noch viel mehr kram gibt, würde ich das deuten als
„Netscape declaration something“
wahrscheinlich deklariert es für die umgebende Kalsse irgendwelche speziellen Methoden oder Felder, die halt „something“ für diese Klasse deklarieren.

so, wie man zum beispiel ein makro schreiben könnte für „ist nicht kopierbar“:

#define NS_NOT_COPYABLE(Klass) \
private: Klass(const Klass&amp:wink:; // no impl, no copy

und dann:

class MyWindow {
public:
MyWindow(const string &title) {…}
NS_NOT_COPYABLE(MyWindow)
};

Kein Semikolon nötig (schaded aber auch nicht) :smile:

tt.

Ich meine nicht die Bedeutung für den Programmlauf, sondern
überhaupt.

Es ist kein #define Makro und hat keine ‚;‘ am Ende.

http://78.46.106.133/nsParser.h
Stammt aus den Quelltesten von firefox 3.5 :smile:

  1. Frage
    Hast Du vielleicht Lust mir bei der Entwicklung eines
    Tools wie wget nur mit Javascript helfen ? Alles unter
    Linux. :wink:

Habe Firefox erfolgreich kompiliert, aber mit den Sourcen
komme ich nicht so schnell klar. Man muß ‚nur‘ die richtigen
Teile rauspicken.

Gruß Peter

Hi Torsten Will

Ja, Danke!
Hast recht, ich habe eine #define gefunden.

Gruß Peter