Ich habe eine Reihe von Funktionen, die auf Vorlagen basieren, aber nicht auf die Vorlagen basieren.
Das Templating der Funktion und die Ableitung der Typen würde funktionieren, würde aber dann zu mehreren Funktionen kompilieren.
%Vor%Gibt es einen Weg, dies zu erreichen?
Refaktorieren Sie die Felder, die nicht von T
in einer anderen Klasse abhängen. Machen Sie MyStruct<T>
davon erben:
Ich würde das tun:
%Vor% Dies funktioniert unabhängig von der Beziehung zwischen Ihren Typen und wird nicht auf mehrere Funktionen kompiliert (siehe letzten Absatz). Es werden alle Typen mit einem Mitglied a
erlaubt, das kleiner als vergleichbar ist.
Das Templating der Funktion und die Ableitung der Typen würde funktionieren, würde aber dann zu mehreren Funktionen kompilieren.
Schlechte Rate. Es ist sogar besser als das, es kompiliert zu überhaupt keine Funktion , da jeder vernünftige Compiler (sogar msvc) die Funktion vollständig inline macht.