Liste mit maps sortieren
-
@_ro_ro
In C++ auch:slice.sort( []( const map<string,string>& lhs, const map<string, string>& rhs ) { return lhs.at( "title" ) < rhs.at( "title" ); } );
Edit 1
Waren wir vorhin nicht sogar schon bei const-correctness?Edit 2
@wob ouch, fixed
-
at
ist eine Funktion und braucht runde Klammern. Edit: ist oben schon gefixt.
-
Ahh, danke!!! Und danke Euch!
Viele Grüße
PS: Daß list eine sort-Methode hat war der entscheidende Hinweis!
-
@_ro_ro sagte in Liste mit maps sortieren:
ne, da muss ich ja meine ganze Template-Klasse ändern.
slice wird doch nur lokal benutzt, wieso musst du dann alles ändern?
@_ro_ro sagte in Liste mit maps sortieren:
Aber wenn
list
schon eine eigene Sortierfunktion hat, muß es doch möglich sein, nach "title" sortieren zu können. In Perl ist das eine einzige Zeile seufz.Du hast dich nun mal entschieden, das in C++ zu machen. Das Gejammere, dass es in <hier beliebige Programmiersprache einsetzen> einfacher, besser oder schneller geht hilft keinem weiter. Wenn es in anderen Programmiersprachen besser, schneller oder einfacher geht, warum machst du dann C++?
-
@DocShoe sagte in Liste mit maps sortieren:
slice wird doch nur lokal benutzt
Ja schon. Aber meine
Templating::Loop
funktioniert nunmal auch nur mit bestimmten DatentypenIm Übrigen hat meine Anmerkung mit Jammern nicht das Geringste zu tun.
MFG
-
Ouch, ja, sehe grad, dass du die in
r
einsetzt. Du solltest dir trotzdem überlegen, ob du das nicht trotzdem überarbeiten möchtest.std::vector
ist der Wald- und Wiesen-Sequence-Container in C++, man sollte schon gute Gründe haben, stattdessen einen anderen Containertyp zu benutzen.
-
@Th69 Argh...
std::list
gehört zu den Containern, mit denen ich tatsächlich noch nie gearbeitet habe, man sollte halt doch alles einmal in nen Compiler jagen.
-
@_ro_ro sagte in Liste mit maps sortieren:
Ja schon. Aber meine Templating::Loop funktioniert nunmal auch nur mit bestimmten Datentypen
-
Du hast dich aus irgendeinem Grund für std::list entschieden. Das ist in 99,9% der Fälle eine schlechte Wahl. Was sprach gegen std::vector?
-
Wenn du doch nur Iterieren willst, kannst du einfach einen Iterator (ggf. als Template) als Argument nehmen. Dann kannst du in deiner Template-Loop über alles iterieren, was iterierbar ist.
-
-
ein Webframework (kurz Framework, FW) in C++ entwickeln ist Pionierarbeit. Ich frage mich ob das überhaupt schonmal jemand gemacht hat. Entscheidend fürs Gelingen ist in allererster Linie die Idee wie man das ganze umsetzt also die Architektur. Und es ist der ganze Aufbau der nach einer objektorientierten PL förmlich schreit. Dieses FW habe ich nicht an einen Tag entwickelt sondern über mehrere Jahre .
Erst mit der stückweisen Umsetzung mit Perl wuchs die Idee, dies auch mit anderen PLs zu tun, insbesondere mit der Frage inwieweit man das objektorientiert machen kann. Denn das ganze FW ist objektorientiert aufgebaut.
Ergo ist der Gedanke, das in C++ zu machen sehr naheliegend. Und das bisherige Ergebnis kann sich sehen lassen aber sowas von.MFG
-
@wob sagte in Liste mit maps sortieren:
- Du hast dich aus irgendeinem Grund für std::list entschieden. Das ist in 99,9% der Fälle eine schlechte Wahl. Was sprach gegen std::vector?
Weil das in Perl auch list heißt Und die Annahme, dass das schon iwie das gleiche sein wird.
SCNR
-
Da gibt es schon so einige:
-
@Th69 sagte in Liste mit maps sortieren:
Da gibt es schon so einige:
Die sind aber nur in C++. Mein FW jedoch läuft mit Perl mit PHP und mit C++
und zwar so, daß eine Website Anwendungen bereitstellt die in verschiedenen PLs entwickelt sind. Diese Integration ist für den Anwender transparent.MFG