Ich möchte Validierer für Zahlen verschiedener Arten erstellen (integer, floating points) z.B .:Template-Struktur Spezialisierung für Integral-/echte Typen
typename number_validator<T>::type validator;
ich nützliche Merkmale im std
heißt is_integral
und is_floating_point
gefunden. Wie kann ich diese Merkmale verwenden, um die Vorlage zu spezialisieren (es ist ein struct
)?
edit: Ich bin für so etwas wie folgt aussehen:
template<typename T, typename Enabled>
struct number_validator {};
template<typename T>
struct number_validator<T, typename enable_if<is_floating_point<T>::value, T>::type>
//this doesn't work..
{
typedef floating_point_validator type;
};
Was macht Ihr "Validator"? –
wird es Zahlen validieren. Ich würde den ':: type' vorbereiten, um typedefs für einige spezifische Klassen mit allgemeiner Schnittstelle zu sein (aber nicht Unterklassen) – Kiel
Was ich frage, ist, wie man die Zahlen validieren möchte? Sicherlich gibt es einen einfacheren Weg. –