Kurz gesagt:
Gibt es eine Möglichkeit, eine General
Template-Klasse mit etwas zu füttern, das nur einen enum
-Typ repräsentiert? Etwas wie:
<int>
ist zu viel / funktioniert in meinem Fall nicht.
Mein spezieller Fall:
Holder
behandelt alle Arten von Daten auf generische Weise. General
-Klasse implementiert spezielle Algorithmen, die auf dem Verhalten von Holder
s basieren. General
(wie IntSpecific
, DoubleSpecific
, StringSpecific
, MoreSophisticatedTypeSpecific
..) definieren, wie mit einigen konkreten Holder
-Typen umgegangen wird. EnumSpecific
Spezifikation richtig definieren? Hier ist ein gekürzter Code, der mein Problem verursacht:
%Vor% Was soll ich dem Template-Argument in EnumSpecific : General<??>
geben, um die Dinge für den Compiler klarzustellen?
Muss ich irgendeine Art von enum_type
-Konzept und komplexere Tools aus der generischen Programmierung verwenden?
Wir können dies mit std::enable_if
und std::is_enum
. Als Beispiel ist dies eine Klasse, die einen Aufzählungstyp als Vorlageparameter verwendet.