Als «templates» getaggte Fragen

Das Templates-Tag wird in mehreren Kontexten verwendet: generische Programmierung (insbesondere C ++) und Daten- / Dokumentgenerierung mithilfe von Template-Engines. Wenn Sie dieses Tag für umfangreiche Fragen zur Implementierung verwenden, markieren Sie die Codesprache, in der die Implementierung geschrieben ist.




4
Eindeutige IDs für Direktivenvorlagen für Elemente in AngularJS
Ich habe eine Direktive, die auf einer Seite mehrfach verwendet werden kann. In der Vorlage dieser Direktive muss ich IDs für ein Eingabeelement verwenden, damit ich ein Label wie folgt daran "binden" kann: <input type="checkbox" id="item1" /><label for="item1">open</label> Jetzt ist das Problem, sobald meine Direktive mehrmals enthalten ist, die ID …

3
Wie kann ich die Vorlage @ Html.LabelFor überschreiben?
Ich habe ein einfaches Feldformular <div class="field fade-label"> @Html.LabelFor(model => model.Register.UserName) @Html.TextBoxFor(model => model.Register.UserName) </div> und dies führt zu: <div class="field fade-label"> <label for="Register_UserName">Username (used to identify all services, from 4 to 30 chars)</label> <input type="text" value="" name="Register.UserName" id="Register_UserName"> </div> aber ich möchte, dass dieser LabelForCode ein <span>Inneres anfügt, damit …

2
Warum muss ich in C ++ 20 nicht "Typname" vor einem abhängigen Typ angeben?
Dieses Codebit wurde in C ++ 20 (mit gcc 10.1) kompiliert, ohne das typenameSchlüsselwort vor dem abhängigen Typ zu verwenden std::vector<T>::iterator. Warum kompiliert es? #include <vector> template<typename T> std::vector<T>::iterator // Why does this not require "typename" before it? f() { return {}; } int main() { auto fptr = &f<int>; …

6
Kann ich für das ausgewählte Element in einer WPF-ComboBox eine andere Vorlage verwenden als für die Elemente im Dropdown-Teil?
Ich habe eine WPF-Combobox, die beispielsweise mit Kundenobjekten gefüllt ist. Ich habe eine DataTemplate: <DataTemplate DataType="{x:Type MyAssembly:Customer}"> <StackPanel> <TextBlock Text="{Binding Name}" /> <TextBlock Text="{Binding Address}" /> </StackPanel> </DataTemplate> Auf diese Weise kann ich beim Öffnen meiner ComboBox die verschiedenen Kunden mit ihrem Namen und darunter der Adresse sehen. Wenn ich …

1
void_t "kann Konzepte implementieren"?
Ich habe den zweiten Teil von Walter Browns CppCon2014-Vortrag über Template-Metaprogrammierung gesehen , in dem er die Verwendung seiner neuartigen void_t<>Konstruktion diskutierte . Während seines Vortrags stellte Peter Sommerlad ihm eine Frage, die ich nicht ganz verstand. (Link geht direkt auf die Frage, der diskutierte Code fand direkt davor statt) …

3
Wie kann ich die Tiefe eines mehrdimensionalen std :: vector zur Kompilierungszeit ermitteln?
Ich habe eine Funktion, die mehrdimensional ist std::vectorund erfordert, dass die Tiefe (oder die Anzahl der Dimensionen) als Vorlagenparameter übergeben wird. Anstatt diesen Wert fest zu codieren, möchte ich eine constexprFunktion schreiben , die die std::vectorund die Tiefe als unsigned integerWert zurückgibt . Zum Beispiel: std::vector<std::vector<std::vector<int>>> v = { { …

4
Vorlagen-Meta-Programmierung
Kann mir jemand erklären, warum die erste Meta-Programmiermethode für Vorlagen in eine Endlosschleife geht, die zweite jedoch korrekt ausgeführt wird. #include <iostream> using namespace std; template<int N, int M> struct commondivs { static const int val = (N<M) ? commondivs<N,(M-N)>::val : commondivs<(N-M),M>::val; }; template<int N> struct commondivs<N,N> { static const …

2
Warum funktioniert remove_reference nicht für Funktionen?
Ich bin neulich auf etwas Seltsames gestoßen, als ich eine Vorlagen-Metaprogrammierung durchgeführt habe. Es kommt im Grunde darauf an, dass diese Behauptung nicht (wie ich erwarten würde) vorübergeht. static_assert(std::is_same_v<void(), std::remove_reference_t<void()&>>); Zuerst dachte ich, ich hätte einen syntaktischen Fehler beim Definieren einer Funktionsreferenz gemacht, aber diese Behauptung ist erfolgreich und zeigt, …
38 c++  templates  types  c++17 

4
Überladen einer Funktion mit Vorlagen
Ich versuche, eine Funktion mithilfe von Vorlagen zu definieren, und möchte, dass der Typname entweder int oder anEnum ist (eine bestimmte Aufzählung, die ich definiert habe). Ich habe Folgendes versucht, bin aber gescheitert: template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T> bool isFunction(const …

3
Wie kann ich ein kartesisches Produkt von Typlisten in C ++ erstellen?
Selbsterklärend. Angenommen, ich habe Typlisten wie folgt: using type_list_1 = type_list<int, somestructA>; using type_list_2 = type_list<somestructB>; using type_list_3 = type_list<double, short>; Sie können eine variable Anzahl von Typlisten sein. Wie erhalte ich eine Typeliste für kartesische Produkte? result = type_list< type_list<int, somestructB, double>, type_list<int, somestructB, short>, type_list<somestructA, somestructB, double>, type_list<somestructA, …

4
STL-Container mit einem bestimmten Typ als generisches Argument
Gibt es eine Möglichkeit, eine Funktion zu erstellen, die einen Container mit einem bestimmten Typ (z. B. std::string) als Parameter verwendet? void foo(const std::container<std::string> &cont) { for(std::string val: cont) { std::cout << val << std::endl; } } und es für jede Art von stl-Container als Eingabe aufrufen? wie oben? std::set<std::string> …

1
'auto' als Platzhalter für Vorlagenargumente für einen Funktionsparameter
In C ++ 20 kann der autoFunktionsparametertyp verwendet werden. Ermöglicht es auch die Verwendung autoeines Platzhalters als Vorlagenargument (nicht ähnlich, aber in gewisser Weise im Sinne der C ++ 17-Vorlage <auto> ) für den Funktionsparametertyp? Also der folgende Code vor C ++ 20: template<typename First, typename Second> void printPair(const std::pair<First, …
22 c++  templates  auto  c++20 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.