Variabler Tupel-Container
-
sind nicht typelists aus dem alexandrescu sowas?
-
Das hatte ich sogar gelesen, konnte es aber persönlich nicht adaptieren – mangelnde Fähigkeit, denke ich.

-
Skym0sh0 schrieb:
sind nicht typelists aus dem alexandrescu sowas?
Genau das, der hat doch diesen GenScatteredHierarchy Generator oder wie der heißt.
-
StefanBo schrieb:
Das hatte ich sogar gelesen, konnte es aber persönlich nicht adaptieren – mangelnde Fähigkeit, denke ich.

höhöhö^^
ich hab ehrlich gesagt auch nicht ganz durchgeblickt...
-
StefanBo schrieb:
Hehe, da habe ich meine Frage nicht präzise genug gestellt.

[...]
Im Grunde eine Liste mit beliebigen Tupel-Elementen, quasi:ListStore<int, string, char> store;Das ist nicht präziser als vorher.
Andrescus Buch kann ich nicht empfehlen. Ich hab's hier zwar auch rimliegen und fand es anfangs ganz nett, aber im Nachhinein erscheint's mir eher als überflüssig. Generisches Programmieren "policy-based design" zu nennen, fand ich jetzt auch nicht so spektakulär.
-
Vielleicht noch einmal mit einem Beispiel:
template <typename... Types> class ListStore { private: std::vector< boost::tuple<Types...> > m_elements; }; // ... ListStore<int, char, string> store;Mit variadic templates eigentlich eine einfache Geschichte, aber die kennt MSVC2010 m.W. nicht.
-
die kennt bis jetzt nur der gcc
-
GCC ist sowieso der einzige, ernstzunehmende Compiler.
-
Sagt das nicht mir.

-
314159265358979 schrieb:
GCC ist sowieso der einzige, ernstzunehmende Compiler.
Naja, Intel solltest du nicht vergessen. Und Clang ist auch auf einem guten Weg, GCC vom Thron zu schubsen.

-
Der Intel Compiler ist nicht gratis, clang ist n Witz.
-
314159265358979 schrieb:
Der Intel Compiler ist nicht gratis, clang ist n Witz.
Ach, Clang ist noch jung. Die Features kommen schon nach und Clang hat den gewaltigen Vorteil dass er kein aufgeblähtes Monster mit verschwindenen Design ist. Schon mal Fehlermeldungen von Clang und GCC verglichen? Oder Geschwindigkeit beim Kompilieren? Dazu kommt noch die BSD statt GPL Lizenz + Kompatibilität zum GCC, ich denke hier entwickelt sich GCCs größter Gegner.

-
314159265358979 schrieb:
GCC ist sowieso der einzige, ernstzunehmende Compiler.
Definiere "ernstzunehmend"...
-
314159265358979 schrieb:
clang ist n Witz.
Wie aktuell sind Deine Erfahrungen mit clang? Gibt es überhaupt welche? Wenn ja, magste Deinen Satz mal erklären?
-
krümelkacker schrieb:
314159265358979 schrieb:
clang ist n Witz.
Gibt es überhaupt welche?
Zum Glück nicht. Ich habe sowas nicht nötig.
-
krümelkacker schrieb:
314159265358979 schrieb:
clang ist n Witz.
Wie aktuell sind Deine Erfahrungen mit clang? Gibt es überhaupt welche? Wenn ja, magste Deinen Satz mal erklären?
Er wollte mal mitreden, du kennst ihn ja: Große Klappe, nichts dahinter.
-
clangs C++11 Support ist unzureichend.
-
314159265358979 schrieb:
clangs C++11 Support ist unzureichend.
oh mein gott, ein compiler unterstützt einen nicht veröffentlichten Standard unzureichend

-
otze schrieb:
314159265358979 schrieb:
clangs C++11 Support ist unzureichend.
oh mein gott, ein compiler unterstützt einen nicht veröffentlichten Standard unzureichend

Der Standard ist schon lange fertig und war davor lange genug als Draft verfügbar.
-
Naja ich denke wir sollten uns freuen, dass auch für eine so alte Sprache wie c++ noch neue compiler entstehen; es zwingt einen ja niemand dazu, clang zu verwenden (verwende persönlich auch gcc wegen c++11).
StefanBo schrieb:
Vielleicht noch einmal mit einem Beispiel:
template <typename... Types> class ListStore { private: std::vector< boost::tuple<Types...> > m_elements; }; // ... ListStore<int, char, string> store;Mit variadic templates eigentlich eine einfache Geschichte, aber die kennt MSVC2010 m.W. nicht.
Suchst du vielleicht sowas in der Art?
class NullType; template< class A = NullType , class B = NullType , class C = NullType /*...*/ > class ListStore; template<> class ListStore<> { //0 Parameter }; template< class A > class ListStore< A > { //1 Parameter }; template< class A , class B > class ListStore< A , B > { //2 Parameter }; //...