Funtionstemplate nur mit bestimmten Typen
-
Hallo zusammen,
ich stehe gerade etwas auf dem Schlauch. Ich habe einen Haufen Methoden die ungefähr so aussehen wie die unten. Das möchte ich ganz gerne etwas vereinheitlichen. Ich hatte bisher noch nie sonderlich viel mit Templates zu tun aber ich gaube jetzt wird es langsam mal Zeit.
std::string to_string(int number) { }
Nun zu meiner Frage: Wie kann ich ein Template erstellen, welches nur bestimmte Typen annimmt?
Gru
-
Die gezeigte Funktion ist fehlerhaft.
Deine Frage ist sehr unbestimmt.
-
Klar, es fehlt der Inhalt;-) Der return Type ist immer ein std:string. Es geht ja aber mehr um den Rest dadrüber.
-
secondsun schrieb:
Es geht ja aber mehr um den Rest dadrüber.
Vielleicht ist es dir noch nicht aufgefallen: die Funktion ist leer.
-
Meinst du sowas
template<int in> std::string to_string() { return std::to_string(in) }
-
Um die Frage zu beantworten: das geht z.B. mit std::enable_if.
Schau dir dazu auch an, was es in type_traits gibt:
http://en.cppreference.com/w/cpp/header/type_traits
-
secondsun schrieb:
Nun zu meiner Frage: Wie kann ich ein Template erstellen, welches nur bestimmte Typen annimmt?
Ich würde auf Grund der Fragestellung mal vermuten dass du keinen Plan von Templates hast.
Was willst du denn damit machen? Skizzier das mal (pseudocode). Dann könnten man dir besser antworten.