String Literale in Funktionstemplate
-
Hallo zusammen,
stehe grad wieder etwas aufm Schlauch. Ich habe einige string-Funktionen, die ich gern als template umsetzen möchte. Je nach Template-Typ müssen String Literale als
char
oderwchar_t
angegeben werden. Wie macht man sowas?Beispiel
#include <string> template<typename Ch> static std::basic_string<Ch> quote_string( const std::basic_string<Ch>& Text ) { return "\"" + Text + "\""; // für std::string // return L"\"" + Text + L"\""; // für std::wstring }
-
Tip für google: Partielle Template Spezialisierung
-
Es geht noch besser.
char_traits::to_char_type
-
Gast3 schrieb:
Tip für google: Partielle Template Spezialisierung
Genau das will ich ja nicht. Die Operationen sind für alle Stringtypen gleich, es ändert sich nur der
CharType
. Sonst bräuchte ich auch keine Funktionstemplates, sondern alle Funktionen paarweise fürstd::string
undstd::wstring
.rewrew schrieb:
Es geht noch besser.
char_traits::to_char_typeDas hilft mir, ein einzelnes Zeichen zu konvertieren. Für ganze Strings müsste ich die dann mühsam aus den einzelnen Zeichen zusammenbauen.