Ich habe eine Anforderung, wo ich Variable Template-Parameter an eine Funktion übergeben haben. Natürlich wird es verschiedene Implementierungen der Funktion geben, abhängig vom Template-Parameter. Ich muss Manipulatoren als Template-Parameter identifizieren.Wie Manipulator als Vorlage Parameter und aktivieren Funktionsaufruf für bestimmte
Ich habe versucht mit std::enable_if<std::is_same<decltype(/*some specific manipulator*/), T>::value>
. Aber ein Problem mit diesem Ansatz ist, dass einige Manipulatoren nicht dazu passen. Könnte mir jemand eine bessere Lösung vorschlagen als die erwähnte? Außerdem haben nicht alle Manipulatoren dieselbe Signatur und ihre Rückgabetypen werden zur Kompilierzeit definiert.
"einige Manipulator nicht passt dies zu." was bedeutet das? Kannst du is_base_of anstelle von is_same benutzen? – xaxxon
@ xaxxon für z.B. setprecision hat einen nicht spezifizierten Rückgabetyp. Also kann ich nicht mit is_same vergleichen. Ich bin mir nicht sicher über is_base_of. – AAA
Bitte geben Sie ein konkretes Beispiel dafür, was Sie zu tun versuchen. – xaxxon