Für die Sortierung von Artikelnamen möchte ich Zahlen korrekt unterstützen, d.h. dies:
1 Hamlet
2 Ophelia
...
10 Laertes
anstelle von
1 Hamlet
10 Laertes
2 Ophelia
...
Kennt jemand einen Vergleichsfunktor, der das bereits unterstützt?
(d.h. ein Prädikat, das an std::sort
)
Ich habe im Wesentlichen zwei Muster zu unterstützen: Führende Nummer (wie oben) und Nummer am Ende, ähnlich wie beim Explorer:
Dolly
Dolly (2)
Dolly (3)
(Ich schätze, ich könnte das lösen: Vergleich nach Zeichen, und behandeln numerische Werte anders. Allerdings würde das wahrscheinlich brechen unicode collaiton und was nicht)
0 Stimmen
std::sort
weiß nichts über Unicode, also werden Sie das nicht kaputt machen. Es ist das Prädikat, das damit richtig umgehen muss. Sie sollten es wahrscheinlich nicht nach Zeichen aufschlüsseln, sondern die Zeichenkette in Token aufteilen und dann die Token sortieren.0 Stimmen
Ich habe nicht vor, std::sort zu brechen :) Gute Idee, die Segmente zu vergleichen/zusammenzufassen.