Hilfe:Vorlagen
Diese Seite beschreibt die auf diesem Wiki verwendeten Vorlagen.
Vorlagen bieten Mittel, um folgende Ziele zu erreichen:
- Qualität. Es wird einfach, den Inhalt zu ändern und somit Fehler zu beheben. Duplizierter Inhalt muss nur einmal bearbeitet werden.
- Konsistenz. Vorlagen machen den richtigen Weg, Dinge zu tun implizit.
- Benutzerfreundlichkeit. Fortgeschrittene Formatierung wird durch die Vorlagen vereinfacht.
Es gibt viele Vorlagen auf diesem Wiki. Die Liste aller Vorlagen ist verfügbar unter Special:AllPages. Da dieses Wiki Mediawiki CMS verwendet, können alle im Wikipedia-Projekt vorhandenen Vorlagen hier verwendet werden. Als zusätzlicher Vorteil kann die Vorlagendokumentation verwendet werden, um die Mediawiki-Vorlagensyntax zu erlernen.
[bearbeiten] Listen
Listen-Vorlagenfamilien
- dsc **** : Zur Erstellung von Listen von Mitgliedsvariablen/-funktionen.
- dcl **** : Zur Erstellung von Listen detaillierter Deklarationen (solche, die den eigentlichen Deklarationscode enthalten).
- sdsc **** : Zur Erstellung von Listen, die verschiedene Syntaxen eines Sprachfeatures darstellen. Wird in Unterseiten von cpp/language verwendet.
- par **** : Zur Erstellung von Listen, die Funktionsparameter erklären.
- spar **** : Zur Erstellung von Listen, die Syntaxparameter erklären.
- nv **** : Zur Erstellung von Feature-Listen in Navigationsleisten.
- elink **** : Zur Erstellung von Listen mit externen Links.
[bearbeiten] Typografie-Hilfsvorlagen
Dies ist eine der Vorlagen, die zur Ausgabe spezieller Symbole verwendet werden.
{{!}} - gibt aus|
{{!!}} - gibt aus||
{{=}} - gibt aus=
{{==}} - gibt aus==
{{!=}} - gibt aus|=
{{(!}} - gibt aus{|
{{!)}} - gibt aus|}
| Die obige Dokumentation wird von Template:!/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] Formatierung
Fügt dem umschlossenen Text Formatierung hinzu.
| Verwendung | Beschreibung | Erzeugte HTML/MediaWiki-Elemente | Vorschau |
|---|---|---|---|
| {{i|Text}} | Text in kursiver normaler Schrift. | <i>Text</i>{{sep}}
|
Text |
| {{tt|Text}} | Text in Schreibmaschinenschrift. | <code>
|
Text
|
| {{ttb|Text}} | Text in fetter Schreibmaschinenschrift. | <code><b>
|
Text
|
| {{tti|Text}} | Text in kursiver Schreibmaschinenschrift. | <code><i>
|
Text
|
| {{normal|Text}} | Text in normaler Schriftstärke. | ... font-weight: normal; ... |
Text |
| {{ttn|Text}} | Text in Schreibmaschinenschrift normaler Stärke. | {{normal|<code>Text</code>}} |
Text
|
| {{ttni|Text}} | Text in kursiver Schreibmaschinenschrift normaler Stärke. | {{normal|<code><i>Text</i></code>}} |
Text
|
| {{petty|Text}} | kleinerer Text | {{small|
|
Text |
| {{small|Text}} | kleiner Text | ... font-size: 0.7em;line-height: 130%; ...
|
Text |
| {{smalltt|Text}} | kleiner Text in Schreibmaschinenschrift. | {{small|<code>Text</code>}} |
Text
|
| {{sub|Text}} | tiefgestellter Text in normaler Schrift. | <sub>
|
Text |
| {{sup|Text}} | hochgestellter Text in normaler Schrift. | <sup>
|
Text |
| {{p|Text}} | Text in einem neuen Absatz. | <p>Text</p>
|
Text |
| Die obige Dokumentation wird von Template:tt/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] Syntaxhervorhebung
Dies sind Vorlagen, die zur Syntaxhervorhebung verwendet werden.
{{c|Code |lang=Sprache (optional)}}
- Eine Basissvorlage, die dazu dient, Code inline hervorzuheben.
langist optional; der von {{get lang}} zurückgegebene Wert wird standardmäßig verwendet. Wendet einen halbtransparenten dunklen Hintergrund an. - Beispiel:
{{c|std::string(80, '_');}}ergibt std::string(80, '_'); - Beispiel:
{{c|1= auto x = std::array{1, 2, 3};}}ergibt auto x = std::array{1, 2, 3}; - Beachten Sie, dass 1= erforderlich ist, wenn ein Gleichheitszeichen = irgendwo im Ausdruck vorhanden ist.
- Für Code-Schnipsel in Bereichen (wie z. B.
[begin,end)) ist die {{range}}-Vorlagenfamilie zu bevorzugen.
{{c multi|Zeile1 |Zeile2 (optional)|... |Zeile8 (optional)|lang=Sprache (optional)}}
- Ähnlich wie {{c}}, unterstützt mehrzeilige Code-Schnipsel (bis zu 8 Zeilen).
langist optional; der von {{get lang}} zurückgegebene Wert wird standardmäßig verwendet. Die Codehervorhebung erstreckt sich nicht über Zeilen hinweg: Vermeiden Sie das Aufteilen von Zeichenkettenliteralen ("") und mehrzeiligen Kommentaren (/* */). - Beispiel (beachten Sie die Leerzeichen für den Abstand):
{{c multi|std::max(std::numeric_limits<int>::max(),| std::numeric_limits<int>::min())}} - oder (beachten Sie die praktische Einrückung)
-
{{c multi
|std::max(std::numeric_limits<int>::max(),
| std::numeric_limits<int>::min())}} - ergibt
- std::max(std::numeric_limits<int>::max(),
std::numeric_limits<int>::min()).
- Beachten Sie, dass, wenn ein Gleichheitszeichen = in der entsprechenden Zeile vorhanden ist, die führenden |1=/|2=/|3=/.../|8= erforderlich sind, z. B.
{{c multi
|1=std::any = 42;
|2=std::any = 3.14;}} - ergibt
- std::any = 42;
std::any = 3.14;.
{{cc multi|Zeile1 |Zeile2 (optional)|... |Zeile8 (optional)|lang=Sprache (optional)}}
- Wie {{c multi}}, aber ohne Hintergrund (z. B. den Rahmen).
- Beispiel (beachten Sie die Leerzeichen für den Abstand)
-
{{cc multi|std::max(std::numeric_limits<int>::max(),| std::numeric_limits<int>::min())}} - or
-
{{cc multi|std::max(std::numeric_limits<int>::max(),|{{nbsp|9}}std::numeric_limits<int>::min())}} - oder (beachten Sie die praktische Einrückung)
-
{{cc multi
|std::max(std::numeric_limits<int>::max(),
| std::numeric_limits<int>::min())}} - ergibt
- std::max(std::numeric_limits<int>::max(),
std::numeric_limits<int>::min()).
{{c/core|Code |lang=Sprache (optional)}}
- Wie {{c}}, nur ohne Hintergrund (z. B. den Rahmen). Nur zur Verwendung in anderen Vorlagen bestimmt.
- Beispiel:
{{c/core|std::puts("C++");}}ergibt std::puts("C++");
{{co|Code |lang=Sprache (optional)}}
- Wie {{c/core}}, nur ohne Hintergrund (z. B. den Rahmen). Beabsichtigt für Tabellen, bei denen die Rahmen vom Tabellenrahmen gesetzt werden.
- Beispiel:
{{co|std::basic_regex<char>}}ergibt std::basic_regex<char>
{{box|Tags }}
- Ähnlich wie {{c}}, wendet einen gemeinsamen Rahmen auf formatierten Text an, der von mehreren gegebenen Tags erzeugt wird.
- Beispiel:
{{box|{{lc|std::pair}}{{tt|''<int, char>''()}}}}ergibt std::pair<int, char>() - Beispiel:
{{ltt std|cpp/algorithm/swap}}{{tt|''<int>''}}{{c/core|(x, y);}}}}ergibt std::swap<int>(x, y);
{{box/core|Tags }}
- Wie {{box}}, nur ohne Hintergrund (z. B. den Rahmen).
- Beispiel
-
{{box/core|{{c/core|std::common_reference_t<ranges::range_reference_t<R1>,}}<br>{{nbspt|24}}{{c/core|ranges::range_reference_t<R2>>}}}} - ergibt
- std::common_reference_t<ranges::range_reference_t<R1>,
ranges::range_reference_t<R2>>
{{cc|Code |lang=Sprache (optional)}}
- Eine Basissvorlage, die dazu dient, größere Codeblöcke inline hervorzuheben. Normalerweise verwendet, wenn die {{c}}-Vorlage den Code nicht lesbar darstellt, aber {{source}} zu viel Platz verschwenden würde.
langist optional; der von {{get lang}} zurückgegebene Wert wird standardmäßig verwendet. - Beispiel:
{{cc|1= assert(std::hypot(3, 4) == 5);}}ergibt assert(std::hypot(3, 4) == 5);
{{source|Code |lang=Sprache (optional)}}
- Eine Basissvorlage, die dazu dient, große Codeblöcke hervorzuheben.
langist optional; der von {{get lang}} zurückgegebene Wert wird standardmäßig verwendet. - Zum Beispiel der Code
{{source|1=
int main()
{
__builtin_printf("Hello, C++\n");
}
}}
- ergibt
int main() { __builtin_printf("Hello, C++\n"); }
{{eq fun|code1 |code2 (optional)|... |code4 (optional)|lang=Sprache (optional)}}
- Eine Basissvorlage zur Darstellung von Code-Schnipseln in den Abschnitten Mögliche Implementierung. Die Argumente
code1,code2usw. sind der Code für jede Version der beschriebenen Funktionenvorlage (z. B. die std::fill-Familie im folgenden Fall). Wenn überhaupt kein Code angegeben wird, ergibt die Vorlage {{todo}}.langist optional — der von {{get lang}} zurückgegebene Wert wird standardmäßig verwendet. - Zum Beispiel der Code
{{eq fun
| 1=
template<class ForwardIt, class T>
void fill(ForwardIt first, ForwardIt last, const T& value)
{
for (; first != last; ++first)
*first = value;
}
| 2=
template<class OutputIt, class Size, class T>
OutputIt fill_n(OutputIt first, Size count, const T& value)
{
for (Size i = 0; i < count; i++)
*first++ = value;
return first;
}
}}
- ergibt
| Erste Version |
|---|
template<class ForwardIt, class T> void fill(ForwardIt first, ForwardIt last, const T& value) { for (; first != last; ++first) *first = value; } |
| Zweite Version |
template<class OutputIt, class Size, class T> OutputIt fill_n(OutputIt first, Size count, const T& value) { for (Size i = 0; i < count; i++) *first++ = value; return first; } |
{{eq impl|code1 |code2 (optional)|... |code4 (optional)|title1 (optional)|... |title4 (optional)|lang=Sprache (optional)}}
Zusätzliche Parameter
{{eq impl|ver1=link1 |... |ver4=link4 (optional)}}
- Wie {{eq fun}} mit zwei zusätzlichen Funktionen.
- Ein Ersatz eines beliebigen Standardtitels durch einen benutzerdefinierten über optionale Parameter
title1=Ihr Titel, ...,title4=Ihr Titel . Standardtitel sind die gleichen wie im vorgenannten Template {{eq fun}}, d.h. Erste Version, ..., Vierte Version. - Eine automatische Generierung eines internen Links "unter" dem Titeltext. Wenn
verNangegeben ist, generiert dieses Template einen internen HTML-Link mit dem Zielnamen "Version Nummer". Zum Beispiel, wenn ver2=3 wird der interne Link "#Version 3" generiert. Diese Funktion arbeitet zusammen mit der Generierung interner Anker durch {{dcla}} und {{dcl rev multi}} , um Mögliche Implementierung-Codeabschnitte mit Deklarationen in Synopsis zu verknüpfen.
{{example|Beschreibung (optional)|lang=Sprache (optional)|std=Sprachstandard (optional)|code=angezeigter Code |p=true, wenn nichtdeterministisch (optional)|output=Beispielausgabe (optional)}}
- Eine Basissvorlage zur Darstellung von Beispielen. Wenn
codenicht vorhanden ist, ergibt die Vorlage {{todo}}.langist standardmäßig ein Wert, der von {{get lang}} zurückgegeben wird.outputgibt die Ausgabe an, die vom Code angezeigt wird. Wenn die Ausgabe nicht deterministisch ist, solltepauftruegesetzt werden, um dies anzuzeigen (dann wird "Mögliche Ausgabe:" anstelle von "Ausgabe:" angezeigt).
- Die folgenden Sprachstandards sind verfügbar:
- cxx98, cxx03, cxx11, cxx14, c89, c99, c11.
- Zum Beispiel der Code
{{example
| Commenting string
| code=
int main()
{
__builtin_puts("Hello, C++");
}
| p=true
| output=
Hello, C++
}}
- ergibt
Kommentarzeichenkette
int main() { __builtin_puts("Hello, C++"); }
Mögliche Ausgabe
Hello, C++
| Die obige Dokumentation wird von Template:source/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] Links und Anker
Dies sind Vorlagen, die zum Erstellen von HTML-Hyperlinks und HTML-Ankern verwendet werden.
[bearbeiten] Anker
{{anchor|1 |2 (optional)|3 (optional)|... (optional)|10 (optional)}} - erstellt einen oder mehrere (bis zu 10) HTML-Anker, auf die verwiesen werden kann.
[bearbeiten] Absolute Links
[bearbeiten] Normale Schrift
{{lt|Pfad |Titel (optional)}} - erstellt einen Link zu einer Seite über den absoluten Pfad. Der Standardtitel ist nur der letzte Teil des Pfads.
- Beispiel:
{{lt|cpp/language/statements}}ergibt den Link: statements. - Beispiel:
{{lt|cpp/language/statements|Labeled statements}}ergibt den Link: Labeled statements. - Hinweis: Das vorherige Beispiel ist nur eine weitere Möglichkeit, denselben Link mit der Standardvorlage zu erstellen
-
[[cpp/language/statements|Labeled statements]], was ebenfalls zu Labeled statements führt.
{{ls|pfad#abschnitt }} - erstellt einen Link zu einem Abschnitt (Anker) auf einer Seite, die durch den absoluten Pfad angegeben ist. Der Abschnittstext wird auch als Titel verwendet. Um einen Link auf derselben Seite zu erstellen, sollte der Pfadteil leer sein.
- Beispiel:
{{ls|cpp/language/lambda#Syntax}}ergibt den Link: Syntax. - Um einen Link zu einem Abschnitt/Anker innerhalb der aktuellen Seite zu erstellen, sollte der Pfadteil weggelassen werden.
- Beispiel:
{{ls|#Relative links}}ergibt den Link: Relative links (d.h. ein Link zum Abschnitt auf dieser Seite).
{{lsd|Pfad#Abschnitt }} ("lsd" steht für "Link to Section De-capitalized") - fast dasselbe wie {{ls}}, außer dass es den ersten Buchstaben des angezeigten Abschnittsnamens de-kapitalisiert. Um einen Link auf derselben Seite zu erstellen, sollte der Pfadteil leer sein.
- Beispiel:
{{lsd|cpp/language/array#Arrays of unknown bound}}ergibt den Link: arrays of unknown bound. - Beispiel:
{{lsd|#Relative links}}ergibt den Link: relative links (d.h. ein Link zum Abschnitt auf dieser Seite).
[bearbeiten] Schreibmaschinenschrift
{{ltt|Pfad |Titel (optional)}} - erstellt einen Link zu einer Seite über den absoluten Pfad. Der Standardtitel ist nur der letzte Teil des Pfads.
- Beispiel:
{{ltt|cpp/language/switch}}ergibt den Link: switch. - Beispiel:
{{ltt|cpp/language/switch|switch(expr)}}ergibt den Link: switch(expr).
{{ltf|Pfad |Titel (optional)|args=Argumente (optional)}} - erstellt einen Link zu einer Seite über den absoluten Pfad. Der Standardtitel ist nur der letzte Teil des Pfads. Klammern, die Funktion anzeigen, werden angehängt und umschließen die optionalen Argumente.
- Beispiel:
{{ltf|cpp/error/terminate}}ergibt den Link: terminate(). - Beispiel:
{{ltf|cpp/error/terminate|std::terminate}}ergibt den Link: std::terminate(). - Beispiel:
{{ltf|cpp/error/set_terminate|std::set_terminate|args=nullptr}}ergibt den Link: std::set_terminate(nullptr).
{{ltp|Pfad |Titel (optional)|targs=Vorlagenargumente (optional)}} - erstellt einen Link zu einer Seite über den absoluten Pfad. Der Standardtitel ist nur der letzte Teil des Pfads. Winkelklammern, die Vorlage anzeigen, werden angehängt und umschließen die optionalen Vorlagenargumente.
- Beispiel:
{{ltp|cpp/container/vector}}ergibt den Link: vector<>. - Beispiel:
{{ltp|cpp/container/vector|targs=int}}ergibt den Link: vector<int>. - Beispiel:
{{ltp|cpp/container/vector|targs=std::size_t}}ergibt den Link: vector<std::size_t>.
{{ltpf|Pfad |Titel (optional)|targs=Vorlagenargumente (optional)|args=Argumente (optional)}} - erstellt einen Link zu einer Seite über den absoluten Pfad. Der Standardtitel ist nur der letzte Teil des Pfads. Winkelklammern, die Vorlage anzeigen, werden angehängt und umschließen die optionalen Vorlagenargumente. Danach werden Klammern, die Funktion anzeigen, angehängt, die die optionalen Argumente umschließen.
- Beispiel:
{{ltpf|cpp/container/vector/vector|targs=int|args=5}}ergibt den Link: vector<int>(5). - Beispiel:
{{ltpf|cpp/locale/use_facet|targs=Facet|args=loc}}ergibt den Link: use_facet<Facet>(loc).
{{lst|pfad#abschnitt }} - erstellt einen Link zu einem Abschnitt (Anker) auf einer Seite, die durch den absoluten Pfad angegeben ist. Der Abschnittstext wird auch als Titel verwendet. Um einen Link auf derselben Seite zu erstellen, sollte der Pfadteil leer sein.
- Beispiel:
{{lst|cpp/ranges#maybe-const}}ergibt den Link:maybe-const. - Beispiel:
{{lst|#top}}ergibt den Link:top. - Beispiel:
{{lst|#top_}}ergibt den Link:top_(beachten Sie, dass der nachgestellte Unterstrich des Links automatisch abgeschnitten wird).
{{l2tt|seite |titel1 (optional)|titel2 (optional)}} - erstellt einen Link zu einer Seite über den absoluten Pfad. Der Titel wird aus den beiden letzten Teilen des Pfads gebildet, wobei :: dazwischen eingefügt wird. Jeder dieser Teile kann durch titel1 und titel2 überschrieben werden.
- Beispiel:
{{l2tt|cpp/container/vector/size}}ergibt den Link: vector::size. - Beispiel:
{{l2tt|cpp/container/vector/size|size() const}}ergibt den Link: vector::size() const. - Beispiel:
{{l2tt|cpp/container/vector/size|size()|std::vector<T>}}ergibt den Link: std::vector<T>::size().
{{l2tf|seite |titel1 (optional)|titel2 (optional)|args=Argumente (optional)|suffix=Suffix (optional)}} - erstellt einen Link zu einer Seite über den absoluten Pfad. Der Titel wird aus den beiden letzten Teilen des Pfads gebildet, wobei :: dazwischen eingefügt wird. Jeder dieser Teile kann durch titel1 und titel2 überschrieben werden. Klammern, die Funktion anzeigen, werden angehängt, und gefolgt von dem optionalen Suffix.
- Beispiel:
{{l2tf|cpp/container/vector/size}}ergibt den Link: vector::size(). - Beispiel:
{{l2tf|cpp/container/vector/size|suffix=const}}ergibt den Link: vector::size() const. - Beispiel:
{{l2tf|cpp/container/vector/size|size|std::vector<T>}}ergibt den Link: std::vector<T>::size().
[bearbeiten] Kursive Schreibmaschinenschrift
{{lti|Pfad |Titel (optional)}} - erstellt einen Link zu einer Seite über den absoluten Pfad. Der Standardtitel ist nur der letzte Teil des Pfads.
- Beispiel:
{{lti|cpp/concepts/boolean-testable}}ergibt den Link: boolean-testable.
{{ltpi|Pfad |Titel (optional)|targs=Vorlagenargumente (optional)}} - erstellt einen Link zu einer Seite über den absoluten Pfad. Der Standardtitel ist nur der letzte Teil des Pfads. Winkelklammern, die Vorlage anzeigen, werden angehängt und umschließen die optionalen Vorlagenargumente.
- Beispiel:
{{ltpi|cpp/concepts/boolean-testable}}ergibt den Link: boolean-testable <>. - Beispiel:
{{ltpi|cpp/concepts/boolean-testable|targs=int}}ergibt den Link: boolean-testable <int>.
{{lsi|pfad#abschnitt }} - erstellt einen Link zu einem Abschnitt (Anker) auf einer Seite, die durch den absoluten Pfad angegeben ist. Der Abschnittstext wird auch als Titel verwendet. Um einen Link auf derselben Seite zu erstellen, sollte der Pfadteil leer sein.
- Beispiel:
{{lsi|cpp/ranges#maybe-const}}ergibt den Link:maybe-const. - Beispiel:
{{lsi|#top}}ergibt den Link:top. - Beispiel:
{{lsi|#top_}}ergibt den Link:top_(beachten Sie, dass der nachgestellte Unterstrich des Links automatisch abgeschnitten wird).
[bearbeiten] Absolute Links mit Präfix std::
Die folgenden Hilfsvorlagen generieren Links, deren Titel mit std:: beginnen. Sie können an Stellen verwendet werden, an denen {{lc}} keine Verlinkung generiert. Alle Links erscheinen in Schreibmaschinenschrift.
{{ltt std|Pfad }} - Link zu einer Seite unter Verwendung eines absoluten Pfads. Der Titel ist std:: gefolgt vom letzten Teil des Pfads.
- Beispiel:
{{ltt std|cpp/container/mdspan}}ergibt den Link: std::mdspan.
{{ltf std|Pfad }} - Link zu einer Seite unter Verwendung eines absoluten Pfads. Der Titel ist std:: gefolgt vom letzten Teil des Pfads und Klammern, die eine Funktion anzeigen.
- Beispiel:
{{ltf std|cpp/io/print}}ergibt den Link: std::print().
{{l2tt std|Pfad }} - Link zu einer Seite unter Verwendung eines absoluten Pfads. Der Titel ist std:: gefolgt von den letzten beiden Teilen des Pfads, die mit :: verbunden sind.
- Beispiel:
{{l2tt std|cpp/utility/basic_stacktrace/current}}ergibt den Link: std::basic_stacktrace::current.
{{l2tf std|Pfad }} - Link zu einer Seite unter Verwendung eines absoluten Pfads. Der Titel ist std:: gefolgt von den letzten beiden Teilen des Pfads, die mit :: verbunden sind, und Klammern, die eine Funktion anzeigen.
- Beispiel:
{{l2tf std|cpp/utility/expected/value}}ergibt den Link: std::expected::value().
[bearbeiten] Relative Links
[bearbeiten] Normale Schrift
{{rl|Seite |Titel (optional)}} - Erstellt einen Link zu einer Seite relativ zu dieser Seite (d. h. zu einer Unterseite).
{{rlp|Seite |Titel (optional)}} - Erstellt einen Link zu einer Seite relativ zur übergeordneten Seite.
{{rlp|/ |Titel }} - Erstellt einen Link zur übergeordneten Seite.
{{rlps|Seite#Abschnitt }} - Erstellt einen Link zu einem Abschnitt (Anker) auf einer Seite relativ zur übergeordneten Seite. Der Titel des generierten Links ist der Abschnittsname.
{{rlpsd|Seite#Abschnitt }} - Erstellt einen Link zu einem Abschnitt (Anker) auf einer Seite relativ zur übergeordneten Seite. Der Titel des generierten Links ist der Abschnittsname mit dem ersten Buchstaben kleingeschrieben.
[bearbeiten] Schreibmaschinenschrift
{{rlt|Seite |Titel (optional)}} - Erstellt einen Link zu einer Seite relativ zu dieser Seite (d. h. zu einer Unterseite).
{{rlpt|Seite |Titel (optional)}} - Erstellt einen Link zu einer Seite relativ zur übergeordneten Seite.
{{rlpt|/ |Titel }} - Erstellt einen Link zur übergeordneten Seite.
{{rlpf|Seite |Titel (optional)|args=Argumente (optional)}} - Erstellt einen Link zu einer Seite relativ zur übergeordneten Seite. Klammern, die eine Funktion anzeigen, werden angehängt und umschließen die optionalen Argumente.
{{rlpst|Seite#Abschnitt }} - Erstellt einen Link zu einem Abschnitt (Anker) auf einer Seite relativ zur übergeordneten Seite. Der Titel des generierten Links ist der Abschnittsname.
{{ttt|Identifikator }} - Erstellt einen Link zur aktuellen Seite (über den #top-Link).
- Beispiel: {{ttt|dieseseite}} ergibt
dieseseite.
[bearbeiten] Kursive Schreibmaschinenschrift
{{rli|Seite |Titel (optional)}} - Erstellt einen Link zu einer Seite relativ zu dieser Seite (d. h. zu einer Unterseite).
{{rlpi|Seite |Titel (optional)}} - Erstellt einen Link zu einer Seite relativ zur übergeordneten Seite.
{{rlpi|/ |Titel }} - Erstellt einen Link zur übergeordneten Seite.
{{rlpsi|Seite#Abschnitt }} - Erstellt einen Link zu einem Abschnitt (Anker) auf einer Seite relativ zur übergeordneten Seite. Der Titel des generierten Links ist der Abschnittsname.
[bearbeiten] Dekorierte Links
{{attr|Attribut |Titel (optional)|Zusatztitel (optional)|lang=Sprache (optional)}}
- Wird verwendet, um einen Link zur Beschreibung von Attributspezifizierern in der C/C++-Sprache zu erstellen. Parameter
- Attribut - ein Name für den Attributspezifizierer.
- Titel - ein Titel für den Attributspezifizierer.
- Zusatztitel - zusätzliche Elemente nach dem Titel.
- Sprache - cpp oder c. Wenn Sprache nicht angegeben ist, wird {{get lang}} verwendet.
- Beispiel:
{{attr|assume}}ergibt[[assume]]. - Beispiel:
{{attr|noreturn|_Noreturn|lang=c}}ergibt[[_Noreturn]]. - Beispiel:
{{attr|deprecated|3=("warum")}}ergibt[[deprecated("warum")]].
| Die obige Dokumentation wird von Template:rl/doc transkludiert. (bearbeiten | Verlauf) Unterseiten dieser Seite. |
[bearbeiten] Links und Informationen zur Standardisierung
[bearbeiten] WG21
Generiert einen Link zu einem Dokument der C++ Working Group (WG21), d. h. zu einer CWG/LWG-Seite oder einer "Proposal"-Datei.
{{wg21|CWG- oder LWG- oder WG21-Dokumentennummer |full (optional)}}
- Das Argument full (optional) funktioniert nur mit "Proposal"-Dokumenten. Die Anwendung erzeugt einen zusätzlichen Link zur GitHub-Seite (wo das Proposal von WG21 bearbeitet wird).
[bearbeiten] stddoc
Wird verwendet, um einen Link zu einem Dokument von WG14/WG21 zu generieren.
Die Arbeitsgruppe/Sprache (C oder C++) wird durch {{get lang}} bestimmt, es sei denn, das Argument lang (optional) mit dem Wert c oder cpp wird bereitgestellt (sofern unterstützt).
{{stddoc|Dokumentennummer |Link-Titel (optional)|lang=Sprache (optional)}}
- Generiert einen Link zu einem WG14/WG21-Dokument mit der angegebenen Dokumentennummer. Ein benutzerdefinierter Link-Titel kann angegeben werden; standardmäßig ist dies die großgeschriebene Dokumentennummer. Im C-Modus kann die Dokumentennummer eine Dateiendung enthalten, z. B.
n2081.htm. Im C++-Modus ist es aufgrund der Automatisierung des wg21.link-Dienstes nicht notwendig, die Endung zu kennen/anzugeben.- Beispiel:
{{stddoc|p2443r1}}ergibt: P2443R1 - Beispiel:
{{stddoc|P2443R1|views::chunk_by}}ergibt: views::chunk_by - Beispiel:
{{stddoc|n2731|C23 draft|lang=c}}ergibt: C23 draft - Beispiel:
{{stddoc|n2081.htm|n2081|lang=c}}ergibt: n2081
- Beispiel:
{{stddoc latest draft|Link-Titel (optional)|lang=Sprache (optional)}}
- Generiert einen Link zum neuesten Entwurf des nächsten C/C++-Standards.
- Derzeit ergibt
{{stddoc latest draft}}: N5001 - Derzeit ergibt
{{stddoc latest draft|Latest C++ draft}}: Latest C++ draft - Derzeit ergibt
{{stddoc latest draft|Latest C draft|lang=c}}: Latest C draft
- Derzeit ergibt
[bearbeiten] stddocs
{{stddocs|Dokumentenliste |input-separator=Leerzeichen (optional)|output-separator=Zeilenumbruch (optional)}}
- Eine Hilfsvorlage, die verwendet wird, um eine Liste von Links zu WG14/WG21-Dokumenten zu generieren, indem jedes Element der Eingabeliste in die {{stddoc}}-Vorlage eingebettet wird.
- docs-list — 1. positioneller Parameter, eine Eingabedokumentenliste. Wenn das zweite Argument nicht bereitgestellt wird, müssen die Elemente der Eingabeliste durch Leerzeichen getrennt sein, z. B.
{{stddocs|P0202R3 P0879R0 LWG3256 LWG3792}}. Wenn das dritte Argument nicht bereitgestellt wird, werden die Ausgabelinks durch <br> getrennt. - input-separator — 2. positioneller Parameter. Wenn bereitgestellt, definiert er den Eingabelistentrenner.
- output-separator — 3. positioneller Parameter. Wenn bereitgestellt, definiert er den Ausgabelistentrenner.
- Limits: Bis zu 8 Elemente in der Eingabeliste werden unterstützt.
- Beispiel:
{{stddocs|P0202R3 P0879R0 LWG3256 LWG3792}}ergibt
- Beispiel:
{{stddocs|P0202R3, P0879R0, LWG3256, LWG3792|,}}ergibt
- Beispiel:
{{stddocs|P0202R3/P0879R0/LWG3256/LWG3792|/|—}}ergibt
[bearbeiten] stdinfo
Wird verwendet, um Informationen zur C/C++-Standardisierung bereitzustellen.
- Die Sprache (C oder C++) wird durch {{get lang}} bestimmt, es sei denn, das Argument lang (optional) mit dem Wert c oder cpp wird bereitgestellt (sofern unterstützt).
{{stdinfo latest draft|rev oder doc oder datum |lang=Sprache (optional)}}
- Ist eine Drehscheibe für Informationen zu C/C++-Standardentwürfen. Abhängig vom Wert des ersten Arguments ist die zurückgegebene Info
value Info Beispiel Revisionsnummer Versionsnummer {{stdinfo latest draft|rev}}ergibt 26{{stdinfo latest draft|rev|lang=c}}ergibt 2yDokumentennummer Dokumentennummer {{stdinfo latest draft|doc}}ergibt n5001{{stdinfo latest draft|doc|lang=c}}ergibt n3467Datum Dokumentendatum {{stdinfo latest draft|date}}ergibt 2024-12-17{{stdinfo latest draft|date|lang=c}}ergibt 2025-02-09
- Wird innerhalb der folgenden höherrangigen Vorlagen verwendet
- {{stdinfo latest draft docnum}}, {{stdinfo latest draft docdate}}, {{stdinfo next version number}}, {{stdinfo next version}}.
{{stdinfo latest draft docnum|lang=Sprache (optional)}}
- Die Dokumentennummer des neuesten Entwurfs des C/C++-Standards.
- Für C ergibt n3467.
- Für C++ ergibt n5001.
{{stdinfo latest draft docdate|lang=Sprache (optional)}}
- Das Dokumentendatum des neuesten Entwurfs des C/C++-Standards.
- Für C ergibt 2025-02-09.
- Für C++ ergibt 2024-12-17.
{{stdinfo next version number|lang=Sprache (optional)}}
- Die Versionsnummer des nächsten C/C++-Standards.
- Für C ergibt 2y.
- Für C++ ergibt 26.
- Die Version des nächsten C/C++-Standards (mit dem Präfix C oder C++). Ergibt: C++
{{stdinfo current version number}}
- Die Versionsnummer des aktuellen C/C++-Standards. Ergibt: 20
- Die Version des aktuellen C/C++-Standards (mit dem Präfix C oder C++). Ergibt: C++20
[bearbeiten] Aktuelle Sprache
{{get lang}}
- Wenn der Seitentitel mit "c/" beginnt, ist der Ausgabewert "c". Wenn der Seitentitel mit "cpp/" beginnt, ist der Ausgabewert "cpp". Andernfalls ist der Ausgabewert "cpp".
{{get lang formal}}
- Wenn der Seitentitel mit "c/" beginnt, ist der Ausgabewert "C". Wenn der Seitentitel mit "cpp/" beginnt, ist der Ausgabewert "C++". Andernfalls ist der Ausgabewert "C++".
[bearbeiten] POSIX
{{posix|Seite (optional)|Mono-Titel (optional)|beliebiger Titel (optional)}}
- Generiert einen Link zu den POSIX-Funktionsdokumentationsseiten. Diese Vorlage verwendet intern {{posix/core}} (siehe unten).
- Wenn keine Argumente bereitgestellt werden, wird der Link zur Dokumentationswurzel mit der POSIX-Version als Titel generiert.
- Seite - der Seitenname ohne die .html-Endung (diese wird angehängt). Wenn keine anderen Argumente bereitgestellt werden, wird sie auch als Titel in Monoschrifttyp verwendet.
- Mono-Titel - wenn bereitgestellt, wird er als Titel in Monoschrifttyp verwendet.
- beliebiger Titel - wenn bereitgestellt, wird er wie angegeben für den Titel verwendet. Dieses Argument hat Vorrang vor Mono-Titel, d. h. wenn es bereitgestellt wird, wird Mono-Titel ignoriert.
[bearbeiten] Beispiele
-
{{posix}}ergibt POSIX.1-2024/IEEE Std 1003.1-2024. -
{{posix|strtok}}ergibtstrtok -
{{posix|strtok|strtok_r}}ergibtstrtok_r -
{{posix|strtok||POSIX bietet auch {{tt|strtok_r}}}}ergibt POSIX bietet auchstrtok_r
-
{{posix/core|Link-Teil und Titel (optional)}}
- Generiert einen Link zu den POSIX-Dokumentationsseiten, wenn ein "stabiler" Teil des Links bereitgestellt wird.
- Diese Vorlage sollte aktualisiert werden, wann immer sich die POSIX-Version und der Stamm-Link zu ihren Dokumentationsseiten ändern.
- Wenn kein Argument bereitgestellt wird, wird der Link zur Dokumentationswurzel mit der POSIX-Version als Titel generiert, d. h.
{{posix/core}}ergibt POSIX.1-2024/IEEE Std 1003.1-2024. - Andernfalls sollte das Argument ein "stabiler" Teil gefolgt vom Titel sein, z. B.
-
{{posix/core|basedefs/V1_chap04.html#tag_04_16 die Epoche}}ergibt die Epoche.
- Wenn kein Argument bereitgestellt wird, wird der Link zur Dokumentationswurzel mit der POSIX-Version als Titel generiert, d. h.
| Die obige Dokumentation wird von Template:stddoc/doc transkludiert. (bearbeiten | Verlauf) Unterseiten dieser Seite. |
[bearbeiten] Annotationen
[bearbeiten] {{mark}} Familie von Vorlagen
Erstellt eine Annotation.
- Allgemein
{{mark|Text |class=Klassen (optional)}} - Erstellt eine Annotation, die den angegebenen Text enthält. Zusätzliche Klassen können für das Styling angegeben werden.
- Beispiel:
{{mark|text}}ergibt (text).
{{mark rev|Text |class=Klassen (optional)}} - Erstellt eine Annotation, die den angegebenen Text enthält. Zusätzliche Klassen können für das Styling angegeben werden.
- Beispiel:
{{mark rev|seit C++1998}}ergibt (seit C++1998).
{{mark tooltip|Text |Tooltip |class=Klassen (optional)}} - Erstellt eine Annotation, die den angegebenen Text mit Tooltip enthält. Zusätzliche Klassen können für das Styling angegeben werden.
- Beispiel:
{{mark tooltip|99% vollständig|XXX nicht unterstützt}}ergibt (99% vollständig*).
- Sonstiges
| Template | Annotation |
|---|---|
| {{mark attribute}} | (Attributspezifizierer) |
| {{mark deprecated}} | (veraltet) |
| {{mark optional}} | (optional) |
| {{mark cond present}} | (bedingt vorhanden) |
| {{mark implicit}} | (implizit deklariert) |
| {{mark concept}} | spezifiziert, dass ein Metaobjekttyp ein Metaobjektsequenztyp ist |
| {{mark expos}} | (nur Exposition*) |
| {{mark expos concept}} | (nur zur Veranschaulichung definierter Konzept*) |
| {{mark tag}} | (Tag) |
| {{mark expos mem type}} | ((nur zur Veranschaulichung)*) |
| {{mark named req}} | (benannte Anforderung) |
| {{mark typedef}} | (typedef) |
| {{mark type alias}} | (Typalias) |
| {{mark enum}} | (Enum) |
| {{mark mem enum}} | (public member enum) |
| {{mark keyword}} | (Schlüsselwort) |
| {{mark macro keyword}} | (Keyword-Makro) |
| {{mark preprocessing directive}} | (Präprozessor-Direktive) |
| {{mark macro opr}} | (Operator-Makro) |
| {{mark language}} | (Sprache) |
- C++ Standards
| Template | Annotation |
|---|---|
| {{mark deprecated c++98}} | (veraltet in C++98) |
| {{mark c++03}} | (C++03) |
| {{mark since c++03}} | (seit C++03) |
| {{mark until c++03}} | (bis C++03) |
| {{mark c++11}} | (C++11) |
| {{mark since c++11}} | (seit C++11) |
| {{mark constexpr since c++11}} | (constexpr seit C++11) |
| {{mark noexcept since c++11}} | (noexcept seit C++11) |
| {{mark deprecated c++11}} | (in C++11 veraltet) |
| {{mark until c++11}} | (bis C++11) |
| {{mark c++14}} | (C++14) |
| {{mark since c++14}} | (seit C++14) |
| {{mark constexpr since c++14}} | (constexpr seit C++14) |
| {{mark noexcept since c++14}} | (noexcept seit C++14) |
| {{mark deprecated c++14}} | (in C++14 veraltet) |
| {{mark until c++14}} | (bis C++14) |
| {{mark c++17}} | (C++17) |
| {{mark since c++17}} | (seit C++17) |
| {{mark constexpr since c++17}} | (constexpr seit C++17) |
| {{mark noexcept since c++17}} | (noexcept seit C++17) |
| {{mark deprecated c++17}} | (veraltet in C++17) |
| {{mark until c++17}} | (bis C++17) |
| {{mark c++20}} | (C++20) |
| {{mark since c++20}} | (seit C++20) |
| {{mark constexpr since c++20}} | (constexpr seit C++20) |
| {{mark noexcept since c++20}} | (noexcept seit C++20) |
| {{mark deprecated c++20}} | (veraltet in C++20) |
| {{mark until c++20}} | (bis C++20) |
| {{mark c++23}} | (C++23) |
| {{mark since c++23}} | (seit C++23) |
| {{mark constexpr since c++23}} | (constexpr seit C++23) |
| {{mark noexcept since c++23}} | (noexcept seit C++23) |
| {{mark deprecated c++23}} | (veraltet in C++23) |
| {{mark updated c++23}} | (aktualisiert in C++23) |
| {{mark until c++23}} | (bis C++23) |
| {{mark c++26}} | (C++26) |
| {{mark since c++26}} | (seit C++26) |
| {{mark constexpr since c++26}} | (constexpr seit C++26) |
| {{mark noexcept since c++26}} | (noexcept seit C++26) |
| {{mark deprecated c++26}} | (veraltet in C++26) |
| {{mark updated c++26}} | (aktualisiert in C++26) |
| {{mark until c++26}} | (bis C++26) |
- C Standards
| Template | Annotation |
|---|---|
| {{mark c95}} | (C95) |
| {{mark since c95}} | (seit C95) |
| {{mark until c95}} | (bis C95) |
| {{mark c99}} | (C99) |
| {{mark since c99}} | (seit C99) |
| {{mark until c99}} | (bis C99) |
| {{mark c11}} | (C11) |
| {{mark since c11}} | (seit C11) |
| {{mark until c11}} | (bis C11) |
| {{mark c17}} | (C17) |
| {{mark since c17}} | (seit C17) |
| {{mark deprecated c17}} | (in C17 veraltet) |
| {{mark until c17}} | (bis C17) |
| {{mark c23}} | (C23) |
| {{mark since c23}} | (seit C23) |
| {{mark deprecated c23}} | (in C23 veraltet) |
| {{mark until c23}} | (bis C23) |
| {{mark since none}} | (seit {std}) |
| {{mark until none}} | (bis {std}) |
- Kombinationen
{{mark life|appear=c++xx (optional)|since=c++xx (optional)|deprecated=c++xx (optional)|until=c++xx (optional)|removed=c++xx (optional)|br=yes (optional)}}
- Beispiel:
{{mark life|since=c++11|deprecated=c++17|removed=c++20}}ergibt - (seit C++11)(in C++17 veraltet)(entfernt in C++20)
- Beispiel:
{{mark life|appear=c++11|until=c++20}}ergibt (C++11)(bis C++20)
- Der optionale Parameter br kann auf yes gesetzt werden, um jede Annotation in einer separaten Zeile anzuzeigen, z. B.
- Beispiel:
{{mark life|since=c++11|deprecated=c++17|removed=c++20|br=yes}}ergibt - (seit C++11)
(veraltet in C++17)
(in C++20 entfernt)
- Technische Spezifikationen
| Template | Annotation |
|---|---|
| {{mark since libfund ts}} | (library fundamentals TS) |
| {{mark since libfund ts 2}} | (Library Fundamentals TS v2) |
| {{mark since libfund ts 3}} | (library fundamentals TS v3) |
| {{mark since fs ts}} | (Dateisystem-TS) |
| {{mark since parallelism ts}} | (parallelism TS) |
| {{mark since parallelism ts 2}} | (Parallelismus TS v2) |
| {{mark since concepts ts}} | (Konzepte-TS) |
| {{mark since concurrency ts}} | (Concurrency TS) |
| {{mark since concurrency ts 2}} | (Concurrency TS v2) |
| {{mark since tm ts}} | (TM TS) |
| {{mark since special functions tr}} | (Special Functions TR) |
| {{mark since modules ts}} | (Module TS) |
| {{mark since coro ts}} | (Coroutinen TS) |
| {{mark since reflection ts}} | Ein Wert von mindestens 201902 zeigt an, dass die Reflection TS unterstützt wird. |
- Funktionen
| Template | Annotation |
|---|---|
| {{mark fun}} | (Funktion) |
| {{mark expos fun}} | (nur zur Veranschaulichung definierte Funktion*) |
| {{mark tfun}} | (function template) |
| {{mark expos tfun}} | (nur zur Veranschaulichung definierte Funktion-Schablone*) |
| {{mark mem fun}} | (öffentliche Memberfunktion) |
| {{mark mem sfun}} | (öffentliche statische Memberfunktion) |
| {{mark mem vfun}} | (virtuelle öffentliche Memberfunktion) |
| {{mark priv mem fun}} | (private member function) |
| {{mark prot mem fun}} | (geschützte Memberfunktion) |
| {{mark prot mem vfun}} | (virtuelle geschützte Memberfunktion) |
| {{mark_expos_mem_fun}} | (exposition-only Member-Funktion*) |
| {{mark_expos_mem_sfun}} | (nur zur Veranschaulichung definierte statische Memberfunktion*) |
| {{mark_macro_fun}} | (Funktionsmakro) |
| {{mark_macro_tfun}} | (generische Funktionsmakro) |
- Klassen
| Template | Annotation |
|---|---|
| {{mark_class}} | (Klasse) |
| {{mark_tclass}} | (Klassentemplate) |
| {{mark_talias}} | (Alias-Template) |
| {{mark_ptclass}} | (Klassentemplate-Spezialisierung) |
| {{mark_mem_class}} | (public member class) |
| {{mark_priv_mem_class}} | (private Memberklasse) |
| {{mark_prot_mem_class}} | (protected Memberklasse) |
| {{mark_mem_tclass}} | (öffentliche Member-Klassenvorlage) |
| {{mark_priv_mem_tclass}} | (private Member-Klassenvorlage) |
| {{mark_expos_mem_class}} | ((nur zur Veranschaulichung)*) |
| {{mark_expos_mem_tclass}} | ((nur zur Veranschaulichung Exposition-only Member-Klassenschablone)*) |
| {{mark_priv_ntclass}} | (private verschachtelte Klassenvorlage) |
- Konstanten
| Template | Annotation |
|---|---|
| {{mark_macro_const}} | (Makro-Konstante) |
| {{mark_const}} | (Konstante) |
| {{mark_mem_const}} | (öffentliche Memberkonstante) |
| {{mark_mem_sconst}} | (öffentliche statische Member-Konstante) |
| {{mark_expos_mem_sconst}} | ((exposition-only static member constant*) |
- Objekte
| Template | Annotation |
|---|---|
| {{mark_mem_obj}} | (öffentliches Mitgliedsobjekt) |
| {{mark_priv_mem_obj}} | (private Memberobjekt) |
| {{mark_prot_mem_obj}} | (geschütztes Member-Objekt) |
| {{mark_expos_mem_obj}} | ((exposition-only member object*) |
| {{mark_expos_mem_var}} | (nur zur Veranschaulichung definierte Variante eines Memberobjekts*) |
| {{mark_custpt}} | (Customization-Point-Objekt) |
| {{mark_rao}} | (Range-Adaptor-Objekt) |
| {{mark_niebloid}} | (Algorithmus-Funktionsobjekt) |
- Container-Markierungen unterstützen
{{cpp/container/mark_std|container}} - gibt (C++11), (C++20), (C++23) usw. aus, je nach Revision des angegebenen Standards container. Die Ausgabe ist leer für Container vor C++11.
[bearbeiten] Beispiel
-
{{cpp/container/mark std|vector}}ergibt (nichts) -
{{cpp/container/mark std|array}}ergibt (C++11) -
{{cpp/container/mark std|unordered_set}}ergibt (C++11) -
{{cpp/container/mark std|span}}ergibt (C++20) -
{{cpp/container/mark std|flat_set}}ergibt (C++23)
| Die obige Dokumentation wird von Template:mark/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] {{cmark}} Familie von Vorlagen
Erstellt eine Anmerkung für eine Funktion. Mehrere Anmerkungen sind bereits definiert
{{cmark_virtual}} ergibt [virtual]
{{cmark_static}} ergibt [static]
{{cmark_deleted}} ergibt [deleted]
| Die obige Dokumentation wird von Template:cmark/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] Versionierung
Wird verwendet, um zu deklarieren, dass bestimmte Teile der Beschreibung nur für spezifische Revisionen des Standards gültig sind.
{{rev_begin|noborder=true_if_noborder (optional)}}
- Beginnt die Menge von Textfragmenten, die für eine oder mehrere spezifische Revisionen des Standards gelten. Wenn der Parameter
noborderden Wert true hat, wird die Tabelle ohne Rahmen und mit minimalem Abstand angezeigt.
{{rev|since=since-std (optional)|until=until-std (optional)|text }}
- Gibt an, dass text nur für Standardrevisionen seit since-std bis until-std (until-std ist nicht inklusive) gültig ist.
{{rev_end}}
- Beendet die Menge von Textfragmenten, die für eine oder mehrere spezifische Revisionen des Standards gelten.
{{rrev|noborder=true_if_noborder (optional)|since=since-std (optional)|until=until-std (optional)|text }}
- Eine kombinierte Vorlage {{rev_begin}}/{{rev}}/{{rev_end}}, für Fälle, in denen nur ein einzelnes {{rev}} benötigt wird.
{{rrev_multi|noborder=true_if_noborder (optional)|sinceX=since-std (optional)|untilX=until-std (optional)|revX=text |... }}
- Eine kombinierte Vorlage {{rev_begin}}/{{rev}}/{{rev_end}}. Bis zu 7 Fragmente werden unterstützt. Der Standardwert für
sinceXistuntilX-1und der Standardwert füruntilXistsinceX+1. Daher ist sie am nützlichsten, wenn die Fragmente relativ kurz und die Revisionsbereiche aufeinanderfolgend sind. Diese Vorlage kann substituiert werden.
{{rev_inl|id=id (optional)|since=since-std (optional)|until=until-std (optional)|noborder=true_if_noborder (optional)|text }}
- Gleich wie {{rev}}, wird aber inline angezeigt. {{rev_begin}} und {{rev_end}} dürfen nicht verwendet werden. Der Text kann mit id referenziert werden.
Der Rahmen wird weggelassen, wenn der Parameter noborder den Wert true hat.
| Die obige Dokumentation wird von Template:rev/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] Feature-Test-Makros Darstellung
[bearbeiten] Feature-Test-Makro Unterstützung
Wird verwendet, um Links und Tabellen zu generieren, die gegebene Feature-Test-Makros beschreiben.
[bearbeiten] Einzeilige Form
{{feature_test_macro|feature-test-macro-name |feature |value=date |std=C++XY |dr=yes or NN (optional)}}
Beispiel
-
{{feature_test_macro|__cpp_lib_string_view|{{lc|std::string_view}}|value=201606L|std=C++17}}
- ergibt
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_string_view |
201606L |
(C++17) | std::string_view |
Beispiel
-
{{feature_test_macro|__cpp_inheriting_constructors|Rewording|value=201511L|std=C++11|dr=98}}
- ergibt
| Feature-Testmakro | Wert | Std | Feature |
|---|---|---|---|
__cpp_inheriting_constructors |
201511L |
(C++11) (DR98) |
Rewording |
[bearbeiten] Mehrzeilige Form
Wenn es mehr als ein Feature-Test-Makro auf einer Seite gibt, sollten diese in einer Tabelle mit den folgenden Vorlagen kombiniert werden
{{ftm_begin|params (optional)}}
{{ftm|params }}
...
{{ftm_end}}
[bearbeiten] Syntax
{{ftm_begin|core=yes (optional)|sort=yes (optional)}}
Bestimmt die Eigenschaften der Tabelle.
- Wenn der benannte Parameter core vorhanden ist, wird kein Link (in der Tabellenüberschrift) zur Seite über Bibliotheksfeatures generiert.
- Wenn der benannte Parameter sort vorhanden ist, wird die Tabelle eine "sortierbare" Wiki-Tabelle sein.
- Hinweis: Zuvor wurden zwei zusätzliche (optionale) Parameter unterstützt: std und comment (beide werden jetzt ignoriert), die verwendet wurden, um Spalten bedingt hinzuzufügen/auszublenden. Die Spalten Std, Value und Feature sind immer vorhanden.
{{ftm|cpp-macro |feature |value=value |std=C++XX |rowspan=R (optional)|dr=yes or XZ (optional)}}
- cpp-macro liefert den Namen des Feature-Test-Makros, z. B.
__cpp_lib_constexpr - feature liefert die Feature-Beschreibung
- value liefert den Wert des Feature-Test-Makros (ein Datum), z. B. 202202L
- std liefert den Revisions-String, z. B. (C++23)
- rowspan ist ein optionaler Parameter (z. B.
rowspan="3"), der die gleiche Bedeutung hat wie in Standard-Wiki-Tabellen, d. h., wenn er angegeben wird, führt er zu einer vertikalen Zusammenführung vonRaufeinanderfolgenden Zellen (in der Spalte Feature-Test-Makro) zu einer einzigen, mit einem einzelnen Feature-Test-Makro-Namen darin. Die folgenden {{ftm}}s mit - Zeichen anstelle des Makronamens sollten verwendet werden. - dr fügt, wenn mit dem Argument "yes" angegeben, ein (DR)-Zeichen unter der C++-Revision hinzu.
- dr fügt, wenn mit einem anderen Argument als "yes" angegeben, z. B. der Revisionsnummer 98, ein (DR98)-Zeichen unter der C++-Revision hinzu.
[bearbeiten] Beispiel
Die Sequenz
{{ftm begin|sort=yes}}
{{ftm|std=C++23|value=202207L|__cpp_lib_find_last|comment #1}}
{{ftm|std=C++23|value=202207L|__cpp_lib_fold|comment #2}}
{{ftm|std=C++20|value=201911L|__cpp_lib_ranges|rowspan="4"|comment #3}}
{{ftm|std=C++20|value=202106L|-|comment #4}}
{{ftm|std=C++20|value=202110L|-|comment #5|dr=yes}}
{{ftm|std=C++23|value=202202L|-|comment #6|dr=20}}
{{ftm|std=C++23|value=202207L|__cpp_lib_ranges_contains|comment #7}}
{{ftm|std=C++23|value=202202L|__cpp_lib_ranges_iota|comment #8}}
{{ftm|std=C++23|value=202106L|__cpp_lib_ranges_starts_ends_with|comment #9}}
{{ftm|std=C++20|value=201806L|__cpp_lib_shift|rowspan="2"|comment #10}}
{{ftm|std=C++23|value=202202L|-|comment #11}}
{{ftm end}}
ergibt
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_find_last |
202207L |
(C++23) | comment #1 |
__cpp_lib_fold |
202207L |
(C++23) | comment #2 |
__cpp_lib_ranges |
201911L |
(C++20) | comment #3 |
202106L |
(C++20) | comment #4 | |
202110L |
(C++20) (DR) |
comment #5 | |
202202L |
(C++23) (DR20) |
comment #6 | |
__cpp_lib_ranges_contains |
202207L |
(C++23) | comment #7 |
__cpp_lib_ranges_iota |
202202L |
(C++23) | comment #8 |
__cpp_lib_ranges_starts_ends_with |
202106L |
(C++23) | comment #9 |
__cpp_lib_shift |
201806L |
(C++20) | comment #10 |
202202L |
(C++23) | comment #11 |
[bearbeiten] Inline-Formen
{{ftm_link|feature-test-macro-name }}
Erzeugt einen einfachen Link zu den cpp/feature test-Tabellen.
- feature-test-macro-name - ein FTM-Name, z. B.
__cpp_constexproder__cpp_lib_ratio
Beispiel
-
{{ftm link|__cpp_constexpr}}ergibt__cpp_constexpr
-
{{ftml|feature-test-macro-name |since-rev (optional)|updated-in-rev-list (optional)}}
Erzeugt einen einfachen Link mit Revisionsmarkierungen, der für Seiten wie den Makro-Symbolindex bestimmt ist.
- feature-test-macro-name - ein FTM-Name, z. B.
__cpp_constexproder__cpp_lib_ratio - since-rev - C++-Revision in der Form
C++20 - update-in-rev-list - Liste von Revisionen, in denen Updates stattgefunden haben, in der Form
C++17, C++20
[bearbeiten] Beispiele
-
{{ftml|__cpp_constexpr}}ergibt__cpp_constexpr -
{{ftml|__cpp_constexpr|C++11}}ergibt__cpp_constexpr(seit C++11) -
{{ftml|__cpp_lib_format|C++20|C++23}}ergibt__cpp_lib_format(seit C++20)(aktualisiert in C++23) -
{{ftml|__cpp_lib_format|C++20|C++23, C++26}}ergibt__cpp_lib_format(seit C++20)(aktualisiert in C++23, C++26)
-
| Die obige Dokumentation wird von Template:ftm/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten]
{{navbar
| style =
| heading1 =
| content1 =
| heading2 =
| content2 =
| heading3 =
| content3 =
...
| heading8 =
| content8 =
}}
| Die obige Dokumentation wird von Template:navbar/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] Sonstiges
[bearbeiten] Leerzeichen
[bearbeiten] Umgang mit Leerzeichen
{{space|number}} - gibt number Leerzeichen aus. Beachten Sie, dass führende/nachfolgende Leerzeichen durch {{trim}} getrimmt werden können, im Gegensatz zu "Leerzeichen" aus der {{nbsp}}/{{nbspt}}-Familie.
{{space_as|text}} - gibt so viele Leerzeichen aus, wie Zeichen in text vorhanden sind. Nützlich für die Einrückung von vorlagenbasiertem Code.
{{trim|text}} - trimmt führende und nachfolgende Leerzeichen
{{sep}} - fügt ein winziges nichtbrechendes Leerzeichen zwischen Zeichen ein, um Überlappungen z. B. von kursiven Zeichen zu vermeiden. Beispiel: II vs I I.
{{nbsp|number (optional)}} - fügt number nichtbrechende Leerzeichen ein (HTML: ). Ohne Argument wird ein solches Leerzeichen eingefügt. Diese "Leerzeichen" (in führender/nachfolgender Position) werden nicht von {{trim}} getrimmt.
{{nbspt|number (optional)}} - generiert die gleichen Leerzeichen wie {{nbsp}}, aber in Monospace-Schrift (Teletype). Diese "Leerzeichen" werden nicht von {{trim}} getrimmt.
{{void}} - fügt quasi ein leeres Leerzeichen ein, das notwendig sein könnte, um die HTML-Generierung zu verhindern, wenn der Wiki-Media-Prozessor handeln soll. Ein Beispiel ist foo<Ref>, bei dem der Teil <Ref> eine HTML-Engine veranlasst, eine Referenzliste zu generieren. Um dies zu unterdrücken, könnte dieser Code als {{c|foo<{{void}}Ref>}} geschrieben werden.
{{br}} - verhält sich ähnlich wie das HTML-Tag <br>, außer dass der Umbruch nur erfolgt, wenn die Zeichenkette nicht als eine Zeile in einen umschließenden Kasten passt. Nützlich in Tabellen, um lange Bezeichner optional aufzuteilen.
Beispiel. Sei der Bezeichner __cpp_lib_allocator_traits_is_always_equal markiert als
-
{{tt|__cpp_lib_allocator_}}{{br}}{{tt|traits_is_always_equal}}.
Dann kann das Rendern der darin enthaltenen Boxen ergeben
__cpp_lib_allocator_traits_is_always_equal |
__cpp_lib_allocator_traits_is_always_equal |
| Die obige Dokumentation wird von Template:space/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] Kopfzeilen
Wird verwendet, um einen Link zu einer C- oder C++-Header-Beschreibungsseite zu erstellen.
{{header|name|lang=cpp oder c (optional)}}, wobei name ein Headername ist (ohne spitze Klammern).
- Auf C++-Seiten ergibt {{header|iostream}} <iostream>
| Die obige Dokumentation wird von Template:header/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] Hilfsvorlagen (nur für andere Vorlagen bestimmt)
[bearbeiten] Typumwandlungsanforderungen
Dies ist eine der Vorlagen, die verwendet werden, um anzugeben, dass ein Typ in einen anderen konvertiert werden muss. Alle diese Vorlagen können entweder die Anforderung ausgeben, dass ein Objekt eines bestimmten Typs in einen anderen Typ konvertiert werden kann, oder dass ein Objekt eines bestimmten Typs dereferenziert und dann in einen anderen Typ konvertiert werden kann. Dieses Verhalten hängt von den angegebenen Parametern ab (t bedeutet einfacher Typ, p - Typ, der zuerst dereferenziert werden muss).
{{cast_rreq| base_type| rt=type oder rp=pointer_type}} - base_type muss in rt oder *rp konvertierbar sein.
{{cast_req1| base_type| t1=type oder p1=pointer_type}} - t1 oder *p1 muss in base_type konvertierbar sein.
{{cast_req2| base_type1| base_type2| t1=type oder p1=pointer_type| t2=type oder p2=pointer_type (optional)}} - t1 oder *p1 muss in base_type1 konvertierbar sein oder t2 oder *p2 muss in base_type2 konvertierbar sein. Wenn weder t2 noch p2 angegeben ist, wird angenommen, dass t1 oder *p1 sowohl in base_type1 als auch in base_type2 konvertierbar sein muss.
| Die obige Dokumentation wird von Template:cast_rreq/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |
[bearbeiten] Klassifizierung von Standardcontainern
Dies ist eine Gruppe von Vorlagen, die zur Kategorisierung von Containern verwendet werden.
Die allgemeine Form ist
{{cpp/container/TERM|container|if-true|if-false (optional)}}:
- ergibt if-true, wenn container zu der gegebenen Container-/Adaptorgruppe gehört.
- ergibt if-false (falls vorhanden), andernfalls.
| TERM | Container/Adapter in der Gruppe |
|---|---|
| if seq |
|
| if assoc |
|
| if ord |
|
| if unord |
|
| if uniq |
|
| if eq |
|
| if set |
|
| if map |
|
| if ad |
|
| if flat |
|
| if c++98 |
|
| if c++11 |
|
[bearbeiten] Beispiele
{{cpp/container/if set|multiset|Yes|No}} ergibt Yes.
{{cpp/container/if seq|multiset|Yes|No}} ergibt No.
| Die obige Dokumentation wird von Template:cpp/container/if_assoc/doc transkludiert. (bearbeiten | Historie) Unterseiten dieser Seite. |