Suchergebnisse für Anfrage "template-meta-programming"

4 die antwort

Wie verwende ich std :: enable_if mit einem selbstableitenden Rückgabetyp?

1 die antwort

Alternativen für die Gleitkommainitialisierung zur Kompilierungszeit

Derzeit arbeite ich an einer Template-Meta-Programmierung zur Implementierung von Gleitkomma-Arithmetik. Die Vorlage, die Float-Werte zur Kompilierungszeit darstellt, sieht wie folgt aus: template<bool S , std::int16_t E , std::uint64_t M> ...

1 die antwort

Optimale Möglichkeit, in Runtime über den Index auf das Element std :: tuple zuzugreifen

Ich habe funktionat Entworfen für den Zugriff auf das Element std :: tuple über den in der Laufzeit angegebenen Index template<std::size_t _Index = 0, typename _Tuple, typename _Function> inline typename std::enable_if<_Index == ...

TOP-Veröffentlichungen

3 die antwort

Vorlagenparameter in C ++ - Vorlagen

Ich versuche, Template-Template-Parameter zu verwenden, ähnlich wie es gemacht wirdHier [https://stackoverflow.com/a/213811/1212596]undHier [https://stackoverflow.com/a/20852853/1212596](und viele andere Orte). #include <vector> ...

3 die antwort

C ++ - Prädikat zur Kompilierungszeit, um zu testen, ob ein aufrufbares Objekt vom Typ F mit einem Argument vom Typ T aufgerufen werden kann

Ich möchte eine kompilierte Funktion erstellen, die für jedes aufrufbare Objekt geeignet istf (Funktion, Lambda-Ausdruck, Funktionsobjekt, ...) und einen TypT, ergibt true, wennf kann mit einem Argument vom Typ aufgerufen werdenTund falsch, wenn ...

2 die antwort

Optimieren Sie den Template-Austausch eines Switches

Ich habe viele benutzerdefinierte Datentypen in einem meiner Projekte, die alle eine gemeinsame Basisklasse haben. Meine Daten (aus einer Datenbank) haben einen Datentyp, der sich durch eine Aufzählung der Basisklasse auszeichnet. Meine ...

3 die antwort

Inkrementelles Erstellen einer Kompilierungszeitliste in C ++

Gibt es in C ++ eine Möglichkeit, eine Kompilierungszeitliste nach folgendem Muster inkrementell zu erstellen? START_LIST(List) ADD_TO_LIST(List, int) ADD_TO_LIST(List, float) ADD_TO_LIST(List, double) END_LIST(List)Das Ergebnis sollte ...

3 die antwort

Zeichenfolgen zur Kompilierzeit in einer Vorlage zur Kompilierzeit verketten?

Derzeit habe ich: template <typename T> struct typename_struct<T*> { static char const* name() { return (std::string(typename_struct<T>::name()) + "*").c_str(); } };Ich frage mich, ob ich das ganze Stück vermeiden kann, in dem ich gezwungen bin, ...

25 die antwort

Ist es möglich, eine Vorlage zu schreiben, um die Existenz einer Funktion zu überprüfen?

Ist es möglich, eine Vorlage zu schreiben, die das Verhalten ändert, je nachdem, ob eine bestimmte Elementfunktion für eine Klasse definiert ist? Hier ist ein einfaches Beispiel für das, was ich schreiben möchte: template<class T> std::string ...

10 die antwort

N-dimensionalen Vektor mit vorgegebenen Größen erstellen

Also, ich möchte einen mehrdimensionalen Vektor eines bestimmten Typs erstellen, bei dem die erste Dimension die Größe des ersten Arguments eines Funktionsaufrufs usw. hat, zum Beispiel, wenn ich std::size_t n = 5; auto x = make_vector<int>(n + ...