0
Ist es möglich, eine Funktion/Klassenvorlage Überladung basierend auf Type_traits Informationen zu haben?C++ Gibt es eine Möglichkeit, eine Template-Überladung basierend auf type_traits zu haben?
Beispiel:
#include <type_traits>
template<typename Object>
class object_worker
{
public:
object_worker(Object&& o) // o - is not POD
{
// do something
}
};
template<typename Object>
class object_worker<std::is_pod<Object>::value == true> // how to make this thing work?
{
public:
object_worker(Object &&o) // o - is POD
{
// do something different
}
};
- Hat es etwas mit einer bestimmten Technik zu tun? wie Teil Template-Spezialisierung
- Wenn dies erreicht werden kann, was ist der Name für das? (Z Teil Template-Spezialisierung, Konzepte)
meinen Tag gerettet! Sollte es nicht eher _full specialization_ für den zweiten Template-Parameter heißen? Ich dachte, _partial_ ist so etwas wie: 'Vorlage Klasse cls {};' –
andrgolubev
Hoffe nur, niemand instanziiert 'foo x;': –
@KerrekSB Aye, ist es am besten, einen Wrapper um diese oder vielleicht als eine * detail * basisklasse. – DeiDei