template declaration of typedef nicht erlaubt?
-
Template Typedefs sind nicht möglich. Im nächsten C++-Standard wird es Template Aliases geben.
Momentan kannst du dir sowas basteln:
template <typename T> struct Blubb { typedef Foo<Bar, Blah, T> Type; };
-
http://www.drakon.ch/
Siehe template alias im Beitrag vom 27. Dezember 2009...
Simon
-
Ahh danke, das mit dem struct funktioniert !
Ich glaube, ich hab letztes Jahr zuviel Scheme programmiert... Ständig möchte ich aus Funktionen mit 4 Parametern durch setzen zweier Parameter Funktionen mit zwei Parametern erzeugen, und jetzt wo das mit boost::lambda geht, versuche ich diese Denkweise auf Templates zu übertragen.
-
PhilippM schrieb:
Ständig möchte ich aus Funktionen mit 4 Parametern durch setzen zweier Parameter Funktionen mit zwei Parametern erzeugen, und jetzt wo das mit boost::lambda geht
Wäre für das Binden von Argumenten nicht eher Boost.Bind geeignet?
Keine Sorge, mit C++0x eröffnen sich unter anderem neue Möglichkeiten hinsichtlich funktionaler Programmierung, da z.B. Lambda-Ausdrücke direkt als Sprachmittel angeboten werden.

-
Nexus schrieb:
PhilippM schrieb:
...jetzt wo das mit boost::lambda geht
Wäre für das Binden von Argumenten nicht eher Boost.Bind geeignet?
Mein ich doch... Aber lambda ist auch fein

Hat nur leider alles den Nachteil, das die WTF-Rate*) beim reviewen meines Codes (durch die Leute, die Templates nur alle heiligen Zeiten mal benutzen) in letzter Zeit extrem angestiegen ist:
-
Naja, und was dahinter steckt, ist auch nicht ganz ohne. Der Typ des Ausdrucks
_1 > 15 && _2 < 20ist zum Beispiel
lambda_functor< lambda_functor_base< logical_action<and_action>, tuple< lambda_functor< lambda_functor_base< relational_action<greater_action>, tuple< lambda_functor<placeholder<1> >, int const > > >, lambda_functor< lambda_functor_base< relational_action<less_action>, tuple< lambda_functor<placeholder<2> >, int const > > > > > >(Quelle: http://www.boost.org/doc/libs/1_35_0/doc/html/typeof.html)
Boost.Bind gefällt mir sehr, vor allem in Verbindung mit Boost.Function, aber Boost.Lambda benutze ich selbst nicht...
-
Und ich wunder mich immer, warum an meinem Notebook der CPU-Lüfter aufdreht, wenn ich was kompiliere...

-
PhilippM schrieb:
Und ich wunder mich immer, warum an meinem Notebook der CPU-Lüfter aufdreht, wenn ich was kompiliere...

LOL
-
Also wenn ich Nexus Code so sehe, frage ich mich ob ich kotzen oder die Hand in die Hose führen soll.
-
theta schrieb:
http://www.drakon.ch/
Siehe template alias im Beitrag vom 27. Dezember 2009...
SimonEs gibt auch Dierct Links:
http://www.drakon.ch/?id=&offset=&mobile=0&show_entry=84Einfach auf den Titel des Beitrages klicken und dann hat man den Beitrag einzeln.
(das verlinken mit Datum hat mich auch immer genervt, darum habe ich das dann auch eingebaut. :))