ヘルプ:テンプレート
このページでは、このウィキで使用されているテンプレートについて説明します。
テンプレートは、以下の目的を達成するための手段を提供します。
- 品質。コンテンツの変更が容易になり、エラーの修正も容易になります。重複したコンテンツは一度だけ編集すれば済みます。
- 一貫性。テンプレートは、「正しいやり方」を暗黙的に示します。
- 使いやすさ。高度なフォーマットがテンプレートによって容易になります。
このウィキには多くのテンプレートがあります。すべてのテンプレートのリストは、Special:AllPagesで入手できます。このウィキはMediawiki CMSを使用しているため、Wikipediaプロジェクトに存在するすべてのテンプレートをここで使用できます。さらに、テンプレートのドキュメントを使用してMediawikiテンプレート構文を学習できます。
目次 |
[編集] リスト
テンプレートファミリのリスト
- dsc **** : メンバー変数/関数リストの作成用。
- dcl **** : 詳細な宣言リスト(実際の宣言コードを含むもの)の作成用。
- sdsc **** : 言語機能のさまざまな構文を表すリストの作成用。cpp/language のサブページで使用されます。
- par **** : 関数パラメータを説明するリストの作成用。
- spar **** : 構文パラメータを説明するリストの作成用。
- nv **** : ナビゲーションバーの機能リストの作成用。
- elink **** : 外部リンクリストの作成用。
[編集] タイポグラフィヘルパーテンプレート
これは、特殊記号を出力するために使用されるテンプレートの1つです。
{{!}} - 出力します。|
{{!!}} - 出力します。||
{{=}} - 出力します。=
{{=}} - 出力します。==
{{!=}} - 出力します。|=
{{(!}} - 出力します。{|
{{!)}} - 出力します。|}
| 上記のドキュメントは、Template:!/docから転記されています。 (編集 | 履歴) このページのサブページ. |
[編集] フォーマット
囲まれたテキストにフォーマットを追加します。
| 使用法 | 説明 | 結果のHTML/MediaWiki要素 | プレビュー |
|---|---|---|---|
| {{i|text}} | text をイタリックの通常のフォントで表示 | <i>text</i>{{sep}}
|
text |
| {{tt|text}} | text をmonospaceフォントで表示 | <code>
|
text
|
| {{ttb|text}} | text を太字のmonospaceフォントで表示 | <code><b>
|
text
|
| {{tti|text}} | text をイタリックのmonospaceフォントで表示 | <code><i>
|
text
|
| {{normal|text}} | text を通常のフォントウェイトで表示 | ...font-weight: normal;... |
text |
| {{ttn|text}} | text を通常のウェイトのmonospaceフォントで表示 | {{normal|<code>text</code>}} |
text
|
| {{ttni|text}} | text を通常のウェイトのイタリックmonospaceフォントで表示 | {{normal|<code><i>text</i></code>}} |
text
|
| {{petty|text}} | やや小さめの text | {{small|
|
text |
| {{small|text}} | small text | ... font-size: 0.7em;line-height: 130%; ...
|
text |
| {{smalltt|text}} | small text をmonospaceフォントで表示 | {{small|<code>text</code>}} |
text
|
| {{sub|text}} | text を通常のフォントで下付き表示 | <sub>
|
text |
| {{sup|text}} | text を通常のフォントで上付き表示 | <sup>
|
text |
| {{p|text}} | text を新しい段落で表示 | <p>text</p>
|
text |
| 上記のドキュメントは、Template:tt/docから転記されています。 (編集 | 履歴) このページのサブページ. |
[編集] 構文ハイライト
これらは構文ハイライトに使用されるテンプレートです。
{{c|code |lang=language (オプション)}}
- コードをインラインでハイライトするために使用されるベーステンプレート。
langはオプションです。デフォルトでは、{{get lang}}によって返される値が使用されます。半透明のダークバックグラウンドが適用されます。 - 例:
{{c|std::string(80, '_');}}の結果: std::string(80, '_'); - 例:
{{c|1= auto x = std::array{1, 2, 3};}}の結果: auto x = std::array{1, 2, 3}; - 等号 = が式内のどこかに存在する場合、
1=が必要であることに注意してください。
- 範囲内のコードスニペット(例:
[begin,end))の場合は、{{range}} テンプレートファミリが推奨されます。
{{c multi|line1 |line2 (オプション)|... |line8 (オプション)|lang=language (オプション)}}
- {{c}}と同様に、複数行のコードスニペット(最大8行)をサポートします。
langはオプションです。デフォルトでは、{{get lang}}によって返される値が使用されます。コードハイライトは行をまたがりません。文字列リテラル("")や複数行コメント(/* */)の分割を避けてください。 - 例(パディングスペースに注意):
{{c multi|std::max(std::numeric_limits<int>::max(),| std::numeric_limits<int>::min())}} - または(インデントに注意)
-
{{c multi
|std::max(std::numeric_limits<int>::max(),
| std::numeric_limits<int>::min())}} - 結果:
- std::max(std::numeric_limits<int>::max(),
std::numeric_limits<int>::min()).
- 注意:等号 = が対応する行のどこかに存在する場合、先頭の |1=/|2=/|3=/.../|8= が必要です。例:
{{c multi
|1=std::any = 42;
|2=std::any = 3.14;}} - 結果:
- std::any = 42;
std::any = 3.14;.
{{cc multi|line1 |line2 (オプション)|... |line8 (オプション)|lang=language (オプション)}}
- {{c multi}}と同様ですが、バックグラウンド(境界ボックスなど)が適用されません。
- 例(パディングスペースに注意)
-
{{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())}} - または(インデントに注意)
-
{{cc multi
|std::max(std::numeric_limits<int>::max(),
| std::numeric_limits<int>::min())}} - 結果:
- std::max(std::numeric_limits<int>::max(),
std::numeric_limits<int>::min()).
{{c/core|code |lang=language (オプション)}}
- {{c}}と同様ですが、バックグラウンド(境界ボックスなど)が適用されません。他のテンプレートでのみ使用することを想定しています。
- 例:
{{c/core|std::puts("C++");}}の結果: std::puts("C++");
{{co|code |lang=language (オプション)}}
- {{c/core}}と同様ですが、バックグラウンド(境界ボックスなど)が適用されません。境界ボックスがテーブルのフレームによって設定されているテーブルでの使用を想定しています。
- 例:
{{co|std::basic_regex<char>}}の結果: std::basic_regex<char>
{{box|tags }}
- {{c}}と同様に、指定された複数のタグによって生成されたフォーマットされたテキストに1つの共有境界ボックスを適用します。
- 例:
{{box|{{lc|std::pair}}{{tt|''<int, char>''()}}}}の結果: std::pair<int, char>() - 例:
{{ltt std|cpp/algorithm/swap}}{{tt|''<int>''}}{{c/core|(x, y);}}}}の結果: std::swap<int>(x, y);
{{box/core|tags }}
- {{box}}と同様ですが、バックグラウンド(境界ボックスなど)が適用されません。
- 例
-
{{box/core|{{c/core|std::common_reference_t<ranges::range_reference_t<R1>,}}<br>{{nbspt|24}}{{c/core|ranges::range_reference_t<R2>>}}}} - 結果:
- std::common_reference_t<ranges::range_reference_t<R1>,
ranges::range_reference_t<R2>>
{{cc|code |lang=language (オプション)}}
- コードの大部分をインラインでハイライトするために使用されるベーステンプレート。通常、{{c}}テンプレートがコードを読みやすく表示しないが、{{source}}はスペースを取りすぎる場合に主に使用されます。
langはオプションです。デフォルトでは、{{get lang}}によって返される値が使用されます。 - 例:
{{cc|1= assert(std::hypot(3, 4) == 5);}}の結果: assert(std::hypot(3, 4) == 5);
{{source|code |lang=language (オプション)}}
- 大量のコードをハイライトするために使用されるベーステンプレート。
langはオプションです。デフォルトでは、{{get lang}}によって返される値が使用されます。 - 例えば、コード
{{source|1=
int main()
{
__builtin_printf("Hello, C++\n");
}
}}
- 結果:
int main() { __builtin_printf("Hello, C++\n"); }
{{eq fun|code1 |code2 (オプション)|... |code4 (オプション)|lang=language (オプション)}}
- 可能な実装セクションでコードスニペットを表すためのベーステンプレート。引数
code1、code2などは、説明されている関数の各バージョンのコードです(例:以下のケースの std::fill-ファミリ)。コードがまったく提供されない場合、テンプレートは{{todo}}を返します。langはオプションです。{{get lang}}によって返される値がデフォルトで使用されます。 - 例えば、コード
{{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;
}
}}
- 結果:
| 最初のバージョン |
|---|
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; } |
{{eq impl|code1 |code2 (オプション)|... |code4 (オプション)|title1 (オプション)|... |title4 (オプション)|lang=language (オプション)}}
追加パラメータ
{{eq impl|ver1=link1 |... |ver4=link4 (オプション)}}
- 上記の{{eq fun}}と同様ですが、2つの追加機能があります。
- オプションパラメータ
title1=Your title、...,title4=Your title を介して、デフォルトタイトルをカスタムタイトルに置き換えることができます。デフォルトタイトルは、上記のテンプレート{{eq fun}}のタイトルと同じです。つまり、First version、...、Fourth versionです。 - タイトルの下に内部リンクを自動生成します。
verNが指定されている場合、このテンプレートはターゲット名「Version num」を持つ内部HTMLリンクを生成します。例えば、ver2=3の場合、内部リンク「#Version 3」が生成されます。この機能は、{{dcla}}および{{dcl rev multi}}による内部アンカーの生成と連携して、Synopsisの宣言にPossible implementationコードセクションをリンクします。
{{example|description (オプション)|lang=language (オプション)|std=language standard (オプション)|code=code to display |p=nondeterministic if true (オプション)|output=sample output (オプション)}}
- 例を表すためのベーステンプレート。
codeが存在しない場合、テンプレートは{{todo}}を返します。langは、{{get lang}}によって返される値でデフォルト設定されます。outputはコードによって表示される出力を指定します。出力が決定論的でない場合、pをtrueに設定してこれを示します(その場合、「Possible output:」が単に「Output:」の代わりに表示されます)。
- 利用可能な言語標準は次のとおりです。
- cxx98、cxx03、cxx11、cxx14、c89、c99、c11。
- 例えば、コード
{{example
| Commenting string
| code=
int main()
{
__builtin_puts("Hello, C++");
}
| p=true
| output=
Hello, C++
}}
- 結果:
コメント文字列
int main() { __builtin_puts("Hello, C++"); }
実行結果の例
Hello, C++
| 上記のドキュメントは、Template:source/docから転記されています。 (編集 | 履歴) このページのサブページ. |
[編集] リンクとアンカー
これらはHTMLハイパーリンクとHTMLアンカーを作成するために使用されるテンプレートです。
[編集] アンカー
{{anchor|1 |2 (オプション)|3 (オプション)|... (オプション)|10 (オプション)}} - 参照するためのHTMLアンカーを1つ以上(最大10個)作成します。
[編集] 絶対リンク
[編集] 通常のフォント
{{lt|path |title (オプション)}} - 絶対パスを使用してページへのリンクを作成します。デフォルトのタイトルはパスの最後の部分のみです。
- 例:
{{lt|cpp/language/statements}}の結果: statements。 - 例:
{{lt|cpp/language/statements|Labeled statements}}の結果: Labeled statements。 - 注意: 上記の例は、標準テンプレートを使用して同じリンクを作成する別の方法です。
-
[[cpp/language/statements|Labeled statements]]、これも Labeled statements を生成します。
{{ls|path#section }} - 絶対パスで指定されたページ上のセクション(アンカー)へのリンクを作成します。セクションテキストもタイトルとして使用されます。同じページにリンクするには、path部分を空にする必要があります。
- 例:
{{ls|cpp/language/lambda#Syntax}}の結果: Syntax。 - 現在のページ内のセクション/アンカーへのリンクを作成するには、path部分を省略する必要があります。
- 例:
{{ls|#Relative links}}の結果: Relative links (つまり、このページのセクションへのリンク)。
{{lsd|path#Section }} (「lsd」は「Link to Section De-capitalized」の略)- {{ls}}とほぼ同じですが、表示されるセクション名の最初の文字を小文字に変換します。同じページにリンクするには、path部分を空にする必要があります。
- 例:
{{lsd|cpp/language/array#Arrays of unknown bound}}の結果: arrays of unknown bound。 - 例:
{{lsd|#Relative links}}の結果: relative links (つまり、このページのセクションへのリンク)。
[編集] テレタイプフォント
{{ltt|path |title (オプション)}} - 絶対パスを使用してページへのリンクを作成します。デフォルトのタイトルはパスの最後の部分のみです。
- 例:
{{ltt|cpp/language/switch}}の結果: switch。 - 例:
{{ltt|cpp/language/switch|switch(expr)}}の結果: switch(expr)。
{{ltf|path |title (オプション)|args=arguments (オプション)}} - 絶対パスを使用してページへのリンクを作成します。デフォルトのタイトルはパスの最後の部分のみです。関数を示す括弧が追加され、オプションの引数が囲まれます。
- 例:
{{ltf|cpp/error/terminate}}の結果: terminate()。 - 例:
{{ltf|cpp/error/terminate|std::terminate}}の結果: std::terminate()。 - 例:
{{ltf|cpp/error/set_terminate|std::set_terminate|args=nullptr}}の結果: std::set_terminate(nullptr)。
{{ltp|path |title (オプション)|targs=template arguments (オプション)}} - 絶対パスを使用してページへのリンクを作成します。デフォルトのタイトルはパスの最後の部分のみです。テンプレートを示す山括弧が追加され、オプションのテンプレート引数が囲まれます。
- 例:
{{ltp|cpp/container/vector}}の結果: vector<>。 - 例:
{{ltp|cpp/container/vector|targs=int}}の結果: vector<int>。 - 例:
{{ltp|cpp/container/vector|targs=std::size_t}}の結果: vector<std::size_t>。
{{ltpf|path |title (オプション)|targs=template arguments (オプション)|args=arguments (オプション)}} - 絶対パスを使用してページへのリンクを作成します。デフォルトのタイトルはパスの最後の部分のみです。テンプレートを示す山括弧が追加され、オプションのテンプレート引数が囲まれます。その後、関数を示す括弧が追加され、オプションの引数が囲まれます。
- 例:
{{ltpf|cpp/container/vector/vector|targs=int|args=5}}の結果: vector<int>(5)。 - 例:
{{ltpf|cpp/locale/use_facet|targs=Facet|args=loc}}の結果: use_facet<Facet>(loc)。
{{lst|path#section }} - 絶対パスで指定されたページ上のセクション(アンカー)へのリンクを作成します。セクションテキストもタイトルとして使用されます。同じページにリンクするには、path部分を空にする必要があります。
- 例:
{{lst|cpp/ranges#maybe-const}}の結果:maybe-const。 - 例:
{{lst|#top}}の結果:top。 - 例:
{{lst|#top_}}の結果:top_(リンクの末尾のアンダースコア文字は自動的にトリミングされることに注意してください)。
{{l2tt|page |title1 (オプション)|title2 (オプション)}} - 絶対パスを使用してページへのリンクを作成します。タイトルは、パスの最後の2つの部分から::を間に挿入して形成されます。これらの各部分は、title1とtitle2で上書きできます。
- 例:
{{l2tt|cpp/container/vector/size}}の結果: vector::size。 - 例:
{{l2tt|cpp/container/vector/size|size() const}}の結果: vector::size() const。 - 例:
{{l2tt|cpp/container/vector/size|size()|std::vector<T>}}の結果: std::vector<T>::size()。
{{l2tf|page |title1 (オプション)|title2 (オプション)|args=arguments (オプション)|suffix=suffix (オプション)}} - 絶対パスを使用してページへのリンクを作成します。タイトルは、パスの最後の2つの部分から::を間に挿入して形成されます。これらの各部分は、title1とtitle2で上書きできます。関数を示す括弧が追加され、オプションの引数を囲み、その後にオプションのsuffixが続きます。
- 例:
{{l2tf|cpp/container/vector/size}}の結果: vector::size()。 - 例:
{{l2tf|cpp/container/vector/size|suffix=const}}の結果: vector::size() const。 - 例:
{{l2tf|cpp/container/vector/size|size|std::vector<T>}}の結果: std::vector<T>::size()。
[編集] イタリックテレタイプフォント
{{lti|path |title (オプション)}} - 絶対パスを使用してページへのリンクを作成します。デフォルトのタイトルはパスの最後の部分のみです。
- 例:
{{lti|cpp/concepts/boolean-testable}}の結果: boolean-testable。
{{ltpi|path |title (オプション)|targs=template arguments (オプション)}} - 絶対パスを使用してページへのリンクを作成します。デフォルトのタイトルはパスの最後の部分のみです。テンプレートを示す山括弧が追加され、オプションのテンプレート引数が囲まれます。
- 例:
{{ltpi|cpp/concepts/boolean-testable}}の結果: boolean-testable<>。 - 例:
{{ltpi|cpp/concepts/boolean-testable|targs=int}}の結果: boolean-testable<int>。
{{lsi|path#section }} - 絶対パスで指定されたページ上のセクション(アンカー)へのリンクを作成します。セクションテキストもタイトルとして使用されます。同じページにリンクするには、path部分を空にする必要があります。
- 例:
{{lsi|cpp/ranges#maybe-const}}の結果:maybe-const。 - 例:
{{lsi|#top}}の結果:top。 - 例:
{{lsi|#top_}}の結果:top_(リンクの末尾のアンダースコア文字は自動的にトリミングされることに注意してください)。
[編集] プレフィックスstd::付き絶対リンク
以下の便利なテンプレートは、std::で始まるタイトルを持つリンクを生成します。これらは、{{lc}}がリンクを生成できない場所で使用できます。すべてのリンクはテレタイプフォントで表示されます。
{{ltt std|path }} - 絶対パスを使用してページへのリンクを作成します。タイトルは、std::とパスの最後の部分が続きます。
- 例:
{{ltt std|cpp/container/mdspan}}の結果: std::mdspan。
{{ltf std|path }} - 絶対パスを使用してページへのリンクを作成します。タイトルは、std::とパスの最後の部分、および関数を示す括弧が続きます。
- 例:
{{ltf std|cpp/io/print}}の結果: std::print()。
{{l2tt std|path }} - 絶対パスを使用してページへのリンクを作成します。タイトルは、std::とパスの最後の2つの部分が::で結合されたものが続きます。
- 例:
{{l2tt std|cpp/utility/basic_stacktrace/current}}の結果: std::basic_stacktrace::current。
{{l2tf std|path }} - 絶対パスを使用してページへのリンクを作成します。タイトルは、std::とパスの最後の2つの部分が::で結合されたもの、および関数を示す括弧が続きます。
- 例:
{{l2tf std|cpp/utility/expected/value}}の結果: std::expected::value()。
[編集] 相対リンク
[編集] 通常のフォント
{{rl|page |title (オプション)}} - このページ(つまりサブページ)に対して相対的なページへのリンクを作成します。
{{rlp|page |title (オプション)}} - 親ページに対して相対的なページへのリンクを作成します。
{{rlp|/ |title }} - 親ページへのリンクを作成します。
{{rlps|page#section }} - 親ページに対して相対的なページ上のセクション(アンカー)へのリンクを作成します。生成されるリンクのタイトルはセクション名です。
{{rlpsd|page#Section }} - 親ページに対して相対的なページ上のセクション(アンカー)へのリンクを作成します。生成されるリンクのタイトルは、最初の文字を小文字にしたセクション名です。
[編集] テレタイプフォント
{{rlt|page |title (オプション)}} - このページ(つまりサブページ)に対して相対的なページへのリンクを作成します。
{{rlpt|page |title (オプション)}} - 親ページに対して相対的なページへのリンクを作成します。
{{rlpt|/ |title }} - 親ページへのリンクを作成します。
{{rlpf|page |title (オプション)|args=arguments (オプション)}} - 親ページに対して相対的なページへのリンクを作成します。関数を示す括弧が追加され、オプションの引数を囲みます。
{{rlpst|page#section }} - 親ページに対して相対的なページ上のセクション(アンカー)へのリンクを作成します。生成されるリンクのタイトルはセクション名です。
{{ttt|identifier }} - 現在のページへのリンクを作成します(#topリンク経由)。
[編集] イタリックテレタイプフォント
{{rli|page |title (オプション)}} - このページ(つまりサブページ)に対して相対的なページへのリンクを作成します。
{{rlpi|page |title (オプション)}} - 親ページに対して相対的なページへのリンクを作成します。
{{rlpi|/ |title }} - 親ページへのリンクを作成します。
{{rlpsi|page#section }} - 親ページに対して相対的なページ上のセクション(アンカー)へのリンクを作成します。生成されるリンクのタイトルはセクション名です。
[編集] 装飾リンク
{{attr|attribute |title (オプション)|additional title (オプション)|lang=language (オプション)}}
- attribute - 属性指定子の名前。
- title - 属性指定子のタイトル。
- additional title - タイトルの後の追加要素。
- language - cpp または c。languageが指定されていない場合、{{get lang}}が使用されます。
- 例:
{{attr|assume}}の結果:[[assume]]。 - 例:
{{attr|noreturn|_Noreturn|lang=c}}の結果:[[_Noreturn]]。 - 例:
{{attr|deprecated|3=("because")}}の結果:[[deprecated("because")]]。
| 上記のドキュメントは、Template:rl/docから転記されています。 (編集 | 履歴) このページのサブページ. |
[編集] 標準化に関するリンクと情報
[編集] WG21
C++ワーキンググループ(WG21)のドキュメントへのリンクを生成します。それぞれCWG/LWGページまたは「提案」ファイルへのリンクです。
{{wg21|CWGまたはLWGまたはWG21ドキュメント番号 |full (オプション)}}
- full (オプション)引数は「提案」ドキュメントでのみ機能し、それを適用するとGitHubページへの追加リンクが生成されます(提案はWG21によって処理されます)。
[編集] stddoc
WG14/WG21のドキュメントへのリンクを生成するために使用されます。
WG/言語(CまたはC++)は{{get lang}}によって決定されますが、値cまたはcppを持つlang (オプション)引数が提供されている場合(サポートされている場合)は除きます。
{{stddoc|document number |link title (オプション)|lang=lang (オプション)}}
- 指定されたドキュメント番号を持つWG14/WG21ドキュメントへのリンクを生成します。カスタムlink titleを指定できます。デフォルトでは、大文字化されたドキュメント番号です。Cモードでは、ファイル拡張子を含めることができます(例:
n2081.htm)。C++モードでは、wg21.linkサービスにより、拡張子を知る/渡す必要はありません。- 例:
{{stddoc|p2443r1}}の結果: P2443R1 - 例:
{{stddoc|P2443R1|views::chunk_by}}の結果: views::chunk_by - 例:
{{stddoc|n2731|C23 draft|lang=c}}の結果: C23 draft - 例:
{{stddoc|n2081.htm|n2081|lang=c}}の結果: n2081
- 例:
{{stddoc latest draft|link title (オプション)|lang=lang (オプション)}}
- 次のC/C++標準の最新ドラフトへのリンクを生成します。
- 現在、
{{stddoc latest draft}}の結果: N5001 - 現在、
{{stddoc latest draft|Latest C++ draft}}の結果: Latest C++ draft - 現在、
{{stddoc latest draft|Latest C draft|lang=c}}の結果: Latest C draft
- 現在、
[編集] stddocs
{{stddocs|doc-list |input-separator=space (オプション)|output-separator=line-break (オプション)}}
- WG14/WG21ドキュメントへのリンクのリストを生成するための便利なテンプレート。入力リストの各要素を{{stddoc}}テンプレートでラップします。
- docs-list — 1番目の位置パラメータ、入力ドキュメントリスト。2番目の引数が指定されていない場合、入力リストの要素はスペースで区切る必要があります。例:
{{stddocs|P0202R3 P0879R0 LWG3256 LWG3792}}。3番目の引数が指定されていない場合、出力リンクは <br> で区切られます。 - input-separator — 2番目の位置パラメータ。指定されている場合、入力リストの区切り文字を定義します。
- output-separator — 3番目の位置パラメータ。指定されている場合、出力リストの区切り文字を定義します。
- 制限: 入力リストの要素は最大8個までサポートされます。
- 例:
{{stddocs|P0202R3 P0879R0 LWG3256 LWG3792}}の結果:
- 例:
{{stddocs|P0202R3, P0879R0, LWG3256, LWG3792|,}}の結果:
- 例:
{{stddocs|P0202R3/P0879R0/LWG3256/LWG3792|/|—}}の結果:
[編集] stdinfo
C/C++標準化に関する情報を提供するために使用されます。
- 言語(CまたはC++)は{{get lang}}によって決定されますが、値cまたはcppを持つ
lang(オプション)引数が提供されている場合(サポートされている場合)は除きます。
{{stdinfo latest draft|revまたはdocまたはdate |lang=lang (オプション)}}
- C/C++標準ドラフト情報の中継ハブです。最初の引数の値に応じて、返される情報は次のようになります。
value info 例 rev バージョン番号 {{stdinfo latest draft|rev}}の結果: 26{{stdinfo latest draft|rev|lang=c}}の結果: 2ydoc ドキュメント番号 {{stdinfo latest draft|doc}}の結果: n5001{{stdinfo latest draft|doc|lang=c}}の結果: n3467date ドキュメント日付 {{stdinfo latest draft|date}}の結果: 2024-12-17{{stdinfo latest draft|date|lang=c}}の結果: 2025-02-09
- 以下の高レベルテンプレート内で使用されます。
- {{stdinfo latest draft docnum}}, {{stdinfo latest draft docdate}}, {{stdinfo next version number}}, {{stdinfo next version}}。
{{stdinfo latest draft docnum|lang=lang (オプション)}}
- C/C++標準の最新ドラフトのドキュメント番号。
- Cの結果: n3467。
- C++の結果: n5001。
{{stdinfo latest draft docdate|lang=lang (オプション)}}
- C/C++標準の最新ドラフトのドキュメント日付。
- Cの結果: 2025-02-09。
- C++の結果: 2024-12-17。
{{stdinfo next version number|lang=lang (オプション)}}
- 次のC/C++標準のバージョン番号。
- Cの結果: 2y。
- C++の結果: 26。
- 次のC/C++標準のバージョン(CまたはC++のプレフィックス付き)。結果: C++
{{stdinfo current version number}}
- 現在のC/C++標準のバージョン番号。結果: 20
- 現在のC/C++標準のバージョン(CまたはC++のプレフィックス付き)。結果: C++20
[編集] 現在の言語
{{get lang}}
- ページタイトルが「c/」で始まる場合、出力値は「c」になり、ページタイトルが「cpp/」で始まる場合、出力値は「cpp」になります。それ以外の場合、出力値は「cpp」になります。
{{get lang formal}}
- ページタイトルが「c/」で始まる場合、出力値は「C」になり、ページタイトルが「cpp/」で始まる場合、出力値は「C++」になります。それ以外の場合、出力値は「C++」になります。
[編集] POSIX
{{posix|page (オプション)|mono-title (オプション)|any-title (オプション)}}
- POSIX関数ドキュメントページへのリンクを生成します。このテンプレートは内部的に{{posix/core}}を使用します(下記参照)。
- 引数が提供されない場合、ドキュメントルートへのリンクがPOSIXバージョンをタイトルとして生成されます。
- page - .html拡張子なしのページ名(追加されます)。他の引数が提供されない場合、モノフォントのタイトルとしても使用されます。
- mono-text - 提供されている場合、モノフォントのタイトルとして使用されます。
- any-title - 提供されている場合、そのままタイトルとして使用されます。この引数はmono-textよりも優先されます。つまり、提供されている場合、mono-textは無視されます。
[編集] 例
-
{{posix}}の結果: POSIX.1-2024/IEEE Std 1003.1-2024。 -
{{posix|strtok}}の結果:strtok -
{{posix|strtok|strtok_r}}の結果:strtok_r -
{{posix|strtok||POSIX also provides {{tt|strtok_r}}}}の結果: POSIX also providesstrtok_r
-
{{posix/core|link-part-and-title (オプション)}}
- 「安定した」リンク部分が提供されている場合、POSIXドキュメントページへのリンクを生成します。
- このテンプレートは、POSIXバージョンとそのドキュメントページへのルートリンクが変更されたときに更新する必要があります。
- 引数が提供されない場合、POSIXバージョンをタイトルとしてドキュメントルートへのリンクが生成されます。つまり、
{{posix/core}}の結果: POSIX.1-2024/IEEE Std 1003.1-2024。 - それ以外の場合、引数は「安定した」部分とタイトルの後に続く必要があります。例:
-
{{posix/core|basedefs/V1_chap04.html#tag_04_16 the Epoch}}の結果: the Epoch。
- 引数が提供されない場合、POSIXバージョンをタイトルとしてドキュメントルートへのリンクが生成されます。つまり、
| 上記のドキュメントは、Template:stddoc/docから転記されています。 (編集 | 履歴) このページのサブページ. |
[編集] 注釈
[編集] {{mark}} ファミリのテンプレート
注釈を作成します。
- 全般
{{mark|text |class=classes (オプション)}} - 指定されたtextを含む注釈を作成します。スタイリングのために追加のclassesを指定できます。
- 例:
{{mark|text}}の結果: (text)。
{{mark rev|text |class=classes (オプション)}} - 指定されたtextを含む注釈を作成します。スタイリングのために追加のclassesを指定できます。
- 例:
{{mark rev|since C++1998}}の結果: (since C++1998)。
{{mark tooltip|text |tooltip |class=classes (オプション)}} - 指定されたtextを含む注釈を作成します。tooltip、追加のclassesでスタイリングできます。
- 例:
{{mark tooltip|99% complete|XXX not supported}}の結果: (99% complete*)。
- その他
| Template | 注釈 |
|---|---|
| {{mark attribute}} | (属性指定子) |
| {{mark deprecated}} | (非推奨) |
| {{mark optional}} | (オプション) |
| {{mark cond present}} | (条件付きで存在) |
| {{mark implicit}} | (暗黙的に宣言) |
| {{mark concept}} | (コンセプト) |
| {{mark expos}} | (説明用*) |
| {{mark expos concept}} | (exposition-only concept*) |
| {{mark tag}} | (tag) |
| {{mark expos mem type}} | (説明専用メンバ型*) |
| {{mark named req}} | (名前付き要件) |
| {{mark typedef}} | (typedef) |
| {{mark type alias}} | (type alias) |
| {{mark enum}} | (enum) |
| {{mark mem enum}} | (public member enum) |
| {{mark keyword}} | (keyword) |
| {{mark macro keyword}} | (キーワードマクロ) |
| {{mark preprocessing directive}} | (preprocessing directive) |
| {{mark macro opr}} | (operator macro) |
| {{mark language}} | (language) |
- C++標準
- C規格
| Template | 注釈 |
|---|---|
| {{mark c95}} | (C95) |
| {{mark since c95}} | (C95 以降) |
| {{mark until c95}} | (C95まで) |
| {{mark c99}} | (C99) |
| {{mark since c99}} | (C99以降) |
| {{mark until c99}} | (C99まで) |
| {{mark c11}} | (C11) |
| {{mark since c11}} | (C11 以降) |
| {{mark until c11}} | (C11まで) |
| {{mark c17}} | (C17) |
| {{mark since c17}} | (C17以降) |
| {{mark deprecated c17}} | (C17で非推奨) |
| {{mark until c17}} | (C17まで) |
| {{mark c23}} | (C23) |
| {{mark since c23}} | (C23以降) |
| {{mark deprecated c23}} | (C23で非推奨) |
| {{mark until c23}} | (C23まで) |
| {{mark since none}} | ({std}以降) |
| {{mark until none}} | ({std}まで) |
- 組み合わせ
{{mark life|appear=c++xx (任意)|since=c++xx (任意)|deprecated=c++xx (任意)|until=c++xx (任意)|removed=c++xx (任意)|br=yes (任意)}}
- 例:
{{mark life|since=c++11|deprecated=c++17|removed=c++20}}の結果 - (C++11以降)(C++17で非推奨)(C++20で削除)
- 例:
{{mark life|appear=c++11|until=c++20}}の結果 (C++11)(C++20まで)
- オプションパラメータ br を yes に設定すると、各注釈が別々の行に表示されます。例:
- 例:
{{mark life|since=c++11|deprecated=c++17|removed=c++20|br=yes}}の結果 - (C++11以降)
(C++17で非推奨)
(C++20で削除)
- Technical specifications (技術仕様)
| Template | 注釈 |
|---|---|
| {{mark since libfund ts}} | (Library Fundamentals TS) |
| {{mark since libfund ts 2}} | (Library Fundamentals TS v2) |
| {{mark since libfund ts 3}} | (ライブラリ基本TS v3) |
| {{mark since fs ts}} | (filesystem TS) |
| {{mark since parallelism ts}} | (並列処理 TS) |
| {{mark since parallelism ts 2}} | (parallelism TS v2) |
| {{mark since concepts ts}} | (concepts 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}} | (modules TS) |
| {{mark since coro ts}} | (coroutines TS) |
| {{mark since reflection ts}} | (reflection TS) |
- 関数
| Template | 注釈 |
|---|---|
| {{mark fun}} | (関数) |
| {{mark expos fun}} | (説明専用関数*) |
| {{mark tfun}} | (関数テンプレート) |
| {{mark expos tfun}} | (説明専用関数テンプレート*) |
| {{mark mem fun}} | (public member function) |
| {{mark mem sfun}} | (public static member function) |
| {{mark mem vfun}} | (仮想 public メンバ関数) |
| {{mark priv mem fun}} | (privateメンバ関数) |
| {{mark prot mem fun}} | (protected メンバ関数) |
| {{mark prot mem vfun}} | (仮想 protected メンバ関数) |
| {{mark expos mem fun}} | (説明専用メンバ関数*) |
| {{mark expos mem sfun}} | (説明専用静的メンバ関数*) |
| {{mark macro fun}} | (関数マクロ) |
| {{mark macro tfun}} | (型汎用関数マクロ) |
- クラス
| Template | 注釈 |
|---|---|
| {{mark class}} | (クラス) |
| {{mark tclass}} | (クラステンプレート) |
| {{mark talias}} | (エイリアステンプレート) |
| {{mark ptclass}} | (クラステンプレートの特殊化) |
| {{mark mem class}} | (public メンバクラス) |
| {{mark priv mem class}} | (privateメンバクラス) |
| {{mark prot mem class}} | (protectedメンバクラス) |
| {{mark mem tclass}} | (publicメンバクラステンプレート) |
| {{mark priv mem tclass}} | (privateメンバクラステンプレート) |
| {{mark expos mem class}} | (説明専用メンバクラス*) |
| {{mark expos mem tclass}} | (説明専用メンバクラステンプレート*) |
| {{mark priv ntclass}} | (privateネストクラステンプレート) |
- 定数
| Template | 注釈 |
|---|---|
| {{mark macro const}} | (マクロ定数) |
| {{mark const}} | (定数) |
| {{mark mem const}} | (publicメンバ定数) |
| {{mark mem sconst}} | (公開静的メンバ定数) |
| {{mark expos mem sconst}} | ((実装専用静的メンバ定数*)) |
- オブジェクト
| Template | 注釈 |
|---|---|
| {{mark mem obj}} | (public メンバーオブジェクト) |
| {{mark priv mem obj}} | (privateメンバオブジェクト) |
| {{mark prot mem obj}} | (protected member object) |
| {{mark expos mem obj}} | (説明用のメンバオブジェクト*) |
| {{mark expos mem var}} | (説明専用バリアントメンバオブジェクト*) |
| {{mark custpt}} | (カスタマイズポイントオブジェクト) |
| {{mark rao}} | (レンジアダプタオブジェクト) |
| {{mark niebloid}} | (アルゴリズム関数オブジェクト) |
- コンテナマークサポート
{{cpp/container/mark std|container}} - 指定された標準 container の改訂に従って、(C++11以降)、(C++20以降)、(C++23以降)などを出力します。C++11より前のコンテナでは出力は空になります。
[編集] 例
-
{{cpp/container/mark std|vector}}の結果 (なし) -
{{cpp/container/mark std|array}}の結果 (C++11以降) -
{{cpp/container/mark std|unordered_set}}の結果 (C++11以降) -
{{cpp/container/mark std|span}}の結果 (C++20以降) -
{{cpp/container/mark std|flat_set}}の結果 (C++23以降)
| 上記のドキュメントはTemplate:mark/docから転載されています。(編集 | 履歴) このページのサブページ. |
[{{cmark}}ファミリーのテンプレート] {{cmark}}ファミリーのテンプレート
関数への注釈を作成します。いくつかの注釈がすでに定義されています。
{{cmark virtual}} の結果 [virtual]
{{cmark static}} の結果 [static]
{{cmark deleted}} の結果 [deleted]
| 上記のドキュメントはTemplate:cmark/docから転載されています。(編集 | 履歴) このページのサブページ. |
[バージョン管理] バージョン管理
説明の一部が規格の特定の改訂のみに有効であることを宣言するために使用されます。
{{rev begin|noborder=true_if_noborder (任意)}}
- 規格の特定の改訂に固有のテキストスニペットのセットを開始します。
noborderパラメータがtrueの場合、テーブルは境界線なしで、可能な限り最小限のパディングで表示されます。
{{rev|since=since-std (任意)|until=until-std (任意)|text }}
- textがsince-std以降until-stdまで(until-stdは含まない)の規格改訂でのみ有効であることを指定します。
{{rev end}}
- 規格の特定の改訂に固有のテキストスニペットのセットを終了します。
{{rrev|noborder=true_if_noborder (任意)|since=since-std (任意)|until=until-std (任意)|text }}
{{rrev multi|noborder=true_if_noborder (任意)|sinceX=since-std (任意)|untilX=until-std (任意)|revX=text |... }}
- {{rev begin}}/{{rev}}/{{rev end}}の組み合わせ。最大7つのスニペットをサポートします。
sinceXのデフォルトはuntilX-1、untilXのデフォルトはsinceX+1です。したがって、スニペットが比較的短く、改訂範囲が連続している場合に最も便利です。このテンプレートは置換可能です。
{{rev inl|id=id (任意)|since=since-std (任意)|until=until-std (任意)|noborder=true_if_noborder (任意)|text }}
noborderパラメータがtrueの場合、境界線は省略されます。
| 上記のドキュメントはTemplate:rev/docから転載されています。(編集 | 履歴) このページのサブページ. |
[機能テストマクロのレンダリング] 機能テストマクロのレンダリング
[編集] 機能テストマクロのサポート
指定された機能テストマクロのリンクやテーブルを生成するために使用されます。
[編集] 1行形式
{{feature test macro|feature-test-macro-name |feature |value=date |std=C++XY |dr=yes or NN (任意)}}
例
-
{{feature test macro|__cpp_lib_string_view|{{lc|std::string_view}}|value=201606L|std=C++17}}
- 結果:
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__cpp_lib_string_view |
201606L |
(C++17) | std::string_view |
例
-
{{feature test macro|__cpp_inheriting_constructors|Rewording|value=201511L|std=C++11|dr=98}}
- 結果:
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__cpp_inheriting_constructors |
201511L |
(C++11) (DR98) |
Rewording |
[編集] 複数行形式
1ページに複数の機能テストマクロがある場合は、次のテンプレートを使用してテーブルにまとめる必要があります。
{{ftm begin|params (任意)}}
{{ftm|params }}
...
{{ftm end}}
[編集] 構文
{{ftm begin|core=yes (任意)|sort=yes (任意)}}
テーブルのプロパティを決定します。
- 名前付きパラメータ core が指定されている場合、テーブルのタイトルにある ライブラリ機能ページへのリンクは生成されません。
- sort パラメータが指定されている場合、テーブルは「ソート可能な」ウィキテーブルになります。
- 注意: 以前は、2つの追加(オプション)パラメータ std と comment (両方とも現在は無視されます) がサポートされていましたが、列の条件付き追加/非表示に使用されていました。Std、Value、Feature 列は常に存在します。
{{ftm|cpp-macro |feature |value=value |std=C++XX |rowspan=R (任意)|dr=yes or XZ (任意)}}
- cpp-macro は機能テストマクロ名を提供します。例:
__cpp_lib_constexpr - feature は機能の説明を提供します。
- value は機能テスト値(日付)を提供します。例: 202202L
- std は改訂文字列を提供します。例: (C++23)
- rowspan はオプションパラメータです(例:
rowspan="3")。これは標準のウィキテーブルの R 個の連続するセル(Feature-test macro 列)を1つに垂直にマージし、その中に単一の機能テストマクロ名が表示されるという意味で、標準のウィキテーブルと同じ意味を持ちます。続く R - 1 個の {{ftm}} には、マクロ名の代わりに - 文字を含める必要があります。 - dr に引数 "yes" を指定すると、C++改訂の下に (DR) マークが追加されます。
- dr に "yes" 以外の引数(例: 改訂番号 98)を指定すると、C++改訂の下に (DR98) マークが追加されます。
[編集] 例
シーケンス
{{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}}
結果:
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__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 |
[編集] インライン形式
{{ftm link|feature-test-macro-name }}
cpp/feature test テーブルへの単純なリンクを生成します。
- feature-test-macro-name - FTM名。例:
__cpp_constexprまたは__cpp_lib_ratio
例
-
{{ftm link|__cpp_constexpr}}の結果__cpp_constexpr
-
{{ftml|feature-test-macro-name |since-rev (任意)|updated-in-rev-list (任意)}}
Macro Symbol Indexのようなページで使用するために設計された、改訂マーク付きの単純なリンクを生成します。
- feature-test-macro-name - FTM名。例:
__cpp_constexprまたは__cpp_lib_ratio - since-rev -
C++20のような形式のC++改訂 - update-in-rev-list - 更新が行われた改訂のリスト。
C++17, C++20のような形式
[編集] 例
-
{{ftml|__cpp_constexpr}}の結果__cpp_constexpr -
{{ftml|__cpp_constexpr|C++11}}の結果__cpp_constexpr(C++11以降) -
{{ftml|__cpp_lib_format|C++20|C++23}}の結果__cpp_lib_format(C++20以降)(C++23で更新) -
{{ftml|__cpp_lib_format|C++20|C++23, C++26}}の結果__cpp_lib_format(C++20以降)(C++23、C++26で更新)
-
| 上記のドキュメントはTemplate:ftm/docから転載されています。(編集 | 履歴) このページのサブページ. |
[ナビゲーションバー]
{{navbar
| style =
| heading1 =
| content1 =
| heading2 =
| content2 =
| heading3 =
| content3 =
...
| heading8 =
| content8 =
}}
| 上記のドキュメントはTemplate:navbar/docから転載されています。(編集 | 履歴) このページのサブページ. |
[その他] その他
[スペース] スペース
[編集] スペース文字の処理
{{space|number}} - number個のスペース文字を出力します。先頭/末尾の位置にあるこれらのスペース文字は、{{trim}}によってトリムされる可能性があることに注意してください。これは{{nbsp}}/{{nbspt}}ファミリーの「スペース」とは異なります。
{{space as|text}} - textの文字数と同じ数のスペース文字を出力します。テンプレート化されたコードのインデントに便利です。
{{trim|text}} - 先頭および末尾の空白をトリムします。
{{sep}} - 文字間に小さな改行されないスペースを挿入し、例えばイタリック体の文字の重なりを防ぎます。例: II vs I I。
{{nbsp|number (任意)}} - number個の改行されないスペース文字(HTML: )を挿入します。引数なしの場合は1つのスペースを挿入します。これらの「スペース」(先頭/末尾の位置)は{{trim}}ではトリムされません。
{{nbspt|number (任意)}} - {{nbsp}}と同じスペース文字ジェネレーターですが、monospace(teletype)フォントです。これらの「スペース」は{{trim}}ではトリムされません。
{{void}} - それ自体は空のスペースを挿入しますが、ウィキメディアプロセッサが動作する必要がある場合にHTML生成を防ぐために必要となる場合があります。一例として、foo<Ref> があり、<Ref> 部分がHTMLエンジンに参照リストを生成させます。これを抑制するために、このコードは {{c|foo<{{void}}Ref>}} のように書くことができます。
{{br}} - <br> HTMLタグと同様に動作しますが、文字列が囲むボックスに1行で収まらない場合のみ折り返しが発生します。テーブルで長い識別子をオプションで分割する場合に便利です。
例。識別子 __cpp_lib_allocator_traits_is_always_equal が次のようにタグ付けされているとします。
-
{{tt|__cpp_lib_allocator_}}{{br}}{{tt|traits_is_always_equal}}.
すると、それを含むボックスのレンダリングは次のようになる可能性があります。
__cpp_lib_allocator_traits_is_always_equal |
__cpp_lib_allocator_traits_is_always_equal |
| 上記のドキュメントはTemplate:space/docから転載されています。(編集 | 履歴) このページのサブページ. |
[ヘッダー] ヘッダー
CまたはC++ヘッダー説明ページへのリンクを作成するために使用されます。
{{header|name|lang=cpp または c (任意)}}、ここでnameはヘッダー名(山括弧なし)です。
- C++ページで {{header|iostream}} とすると <iostream> が表示されます。
| 上記のドキュメントはTemplate:header/docから転載されています。(編集 | 履歴) このページのサブページ. |
[ユーティリティテンプレート (他のテンプレートのみで使用することを意図)] ユーティリティテンプレート (他のテンプレートのみで使用することを意図)
[キャスト要件] キャスト要件
これは、ある型が別の型に変換可能であることを指定するために使用されるテンプレートの1つです。これらのテンプレートはすべて、特定の型のオブジェクトが別の型に変換可能であること、またはオブジェクトを逆参照してから別の型に変換可能であることのいずれかの要件を発行できます。この動作は、指定されたパラメータ(tはプレーン型、pは最初に逆参照する必要がある型)に依存します。
{{cast rreq| base_type| rt=type または rp=pointer_type}} - base_typeはrtまたは*rpに変換可能である必要があります。
{{cast req1| base_type| t1=type または p1=pointer_type}} - t1または*p1はbase_typeに変換可能である必要があります。
{{cast req2| base_type1| base_type2| t1=type または p1=pointer_type| t2=type または p2=pointer_type (任意)}} - t1または*p1はbase_type1に変換可能であるか、t2または*p2はbase_type2に変換可能である必要があります。t2もp2も指定されていない場合、t1または*p1はbase_type1とbase_type2の両方に変換可能であると想定されます。
| 上記のドキュメントはTemplate:cast rreq/docから転載されています。(編集 | 履歴) このページのサブページ. |
[標準コンテナの分類] 標準コンテナの分類
これはコンテナを分類するために使用されるテンプレートグループの1つです。
一般的な形式は次のとおりです。
{{cpp/container/TERM|container|if-true|if-false (任意)}}:
- containerが指定されたコンテナ/アダプタグループのいずれかである場合、if-trueになります。
- if-false(存在する場合)、そうでなければになります。
| TERM | グループ内のコンテナ/アダプタ |
|---|---|
| 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 |
|
[編集] 例
{{cpp/container/if set|multiset|Yes|No}} の結果 Yes。
{{cpp/container/if seq|multiset|Yes|No}} の結果 No。
| 上記のドキュメントはTemplate:cpp/container/if_assoc/docから転載されています。(編集 | 履歴) このページのサブページ. |