変種
操作

ヘルプ:テンプレート

From cppreference.com

このページでは、このウィキで使用されているテンプレートについて説明します。

テンプレートは、以下の目的を達成するための手段を提供します。

  1. 品質。コンテンツの変更が容易になり、エラーの修正も容易になります。重複したコンテンツは一度だけ編集すれば済みます。
  2. 一貫性。テンプレートは、「正しいやり方」を暗黙的に示します。
  3. 使いやすさ。高度なフォーマットがテンプレートによって容易になります。

このウィキには多くのテンプレートがあります。すべてのテンプレートのリストは、Special:AllPagesで入手できます。このウィキはMediawiki CMSを使用しているため、Wikipediaプロジェクトに存在するすべてのテンプレートをここで使用できます。さらに、テンプレートのドキュメントを使用してMediawikiテンプレート構文を学習できます。

目次

[編集] リスト

テンプレートファミリのリスト

  • dsc **** : メンバー変数/関数リストの作成用。
  • dcl **** : 詳細な宣言リスト(実際の宣言コードを含むもの)の作成用。
  • sdsc **** : 言語機能のさまざまな構文を表すリストの作成用。cpp/language のサブページで使用されます。
  • par **** : 関数パラメータを説明するリストの作成用。
  • spar **** : 構文パラメータを説明するリストの作成用。
  • nv **** : ナビゲーションバーの機能リストの作成用。
  • elink **** : 外部リンクリストの作成用。

[編集] タイポグラフィヘルパーテンプレート

[編集] [{{purge}}] ドキュメント

これは、特殊記号を出力するために使用されるテンプレートの1つです。

{{!}} - 出力します。|

{{!!}} - 出力します。||

{{=}} - 出力します。=

{{=}} - 出力します。==

{{!=}} - 出力します。|=

{{(!}} - 出力します。{|

{{!)}} - 出力します。|}

[編集] フォーマット

[編集] [{{purge}}] ドキュメント

囲まれたテキストにフォーマットを追加します。

使用法 説明 結果の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

[編集] 構文ハイライト

[編集] [{{purge}}] ドキュメント

これらは構文ハイライトに使用されるテンプレートです。


{{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= が必要であることに注意してください。
  • 範囲内のコードスニペット(例:[beginend))の場合は、{{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 (オプション)}}

可能な実装セクションでコードスニペットを表すためのベーステンプレート。引数code1code2 などは、説明されている関数の各バージョンのコードです(例:以下のケースの 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はコードによって表示される出力を指定します。出力が決定論的でない場合、ptrueに設定してこれを示します(その場合、「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++

[編集] リンクとアンカー

[編集] [{{purge}}] ドキュメント

これらは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つの部分から::を間に挿入して形成されます。これらの各部分は、title1title2で上書きできます。

例: {{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つの部分から::を間に挿入して形成されます。これらの各部分は、title1title2で上書きできます。関数を示す括弧が追加され、オプションの引数を囲み、その後にオプションの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リンク経由)。

例: {{ttt|this_page}} の結果: this_page

[編集] イタリックテレタイプフォント

{{rli|page |title (オプション)}} - このページ(つまりサブページ)に対して相対的なページへのリンクを作成します。

{{rlpi|page |title (オプション)}} - 親ページに対して相対的なページへのリンクを作成します。

{{rlpi|/ |title }} - 親ページへのリンクを作成します。

{{rlpsi|page#section }} - 親ページに対して相対的なページ上のセクション(アンカー)へのリンクを作成します。生成されるリンクのタイトルはセクション名です。

[編集] 装飾リンク

{{attr|attribute |title (オプション)|additional title (オプション)|lang=language (オプション)}}

C/C++言語属性指定子説明へのリンクを作成するために使用されます。パラメータ
  • attribute - 属性指定子の名前。
  • title - 属性指定子のタイトル。
  • additional title - タイトルの後の追加要素。
  • language - cpp または clanguageが指定されていない場合、{{get lang}}が使用されます。
例: {{attr|assume}} の結果: [[assume]]
例: {{attr|noreturn|_Noreturn|lang=c}} の結果: [[_Noreturn]]
例: {{attr|deprecated|3=("because")}} の結果: [[deprecated("because")]]

[編集] 標準化に関するリンクと情報

[編集] [{{purge}}] ドキュメント

[編集] 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}} の結果:
P0202R3
P0879R0
LWG3256
LWG3792
  • 例: {{stddocs|P0202R3, P0879R0, LWG3256, LWG3792|,}} の結果:
P0202R3
P0879R0
LWG3256
LWG3792
  • 例: {{stddocs|P0202R3/P0879R0/LWG3256/LWG3792|/|—}} の結果:
P0202R3P0879R0LWG3256LWG3792

[編集] 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}} の結果: 2y

doc ドキュメント番号 {{stdinfo latest draft|doc}} の結果: n5001

{{stdinfo latest draft|doc|lang=c}} の結果: n3467

date ドキュメント日付 {{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。

{{stdinfo next version}}

次のC/C++標準のバージョン(CまたはC++のプレフィックス付き)。結果: C++

{{stdinfo current version number}}

現在のC/C++標準のバージョン番号。結果: 20

{{stdinfo current version}}

現在の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/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

[編集] 注釈

[編集] {{mark}} ファミリのテンプレート

[編集] [{{purge}}] ドキュメント

注釈を作成します。

全般

{{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++標準
Template 注釈
{{mark deprecated c++98}} (C++98で非推奨)
{{mark c++03}} (C++03)
{{mark since c++03}} (since C++03)
{{mark until c++03}} (until C++03)
{{mark c++11}} (C++11)
{{mark since c++11}} (C++11以降)
{{mark constexpr since c++11}} (C++11 以降 constexpr)
{{mark noexcept since c++11}} (C++11 以降 noexcept)
{{mark deprecated c++11}} (C++11で非推奨)
{{mark until c++11}} (C++11まで)
{{mark c++14}} (C++14)
{{mark since c++14}} (C++14以降)
{{mark constexpr since c++14}} (C++14以降constexpr)
{{mark noexcept since c++14}} (C++14以降 noexcept)
{{mark deprecated c++14}} (C++14で非推奨)
{{mark until c++14}} (C++14まで)
{{mark c++17}} (C++17)
{{mark since c++17}} (C++17以降)
{{mark constexpr since c++17}} (C++17 以降 constexpr)
{{mark noexcept since c++17}} (C++17以降 noexcept)
{{mark deprecated c++17}} (C++17で非推奨)
{{mark until c++17}} (C++17まで)
{{mark c++20}} (C++20)
{{mark since c++20}} (C++20以降)
{{mark constexpr since c++20}} (C++20 以降 constexpr)
{{mark noexcept since c++20}} (C++20以降 noexcept)
{{mark deprecated c++20}} (C++20で非推奨)
{{mark until c++20}} (C++20まで)
{{mark c++23}} (C++23)
{{mark since c++23}} (C++23から)
{{mark constexpr since c++23}} (C++23 以降 constexpr)
{{mark noexcept since c++23}} (C++23以降 noexcept)
{{mark deprecated c++23}} (C++23で非推奨)
{{mark updated c++23}} (C++23で更新)
{{mark until c++23}} (C++23まで)
{{mark c++26}} (C++26)
{{mark since c++26}} (C++26以降)
{{mark constexpr since c++26}} (C++26 以降 constexpr)
{{mark noexcept since c++26}} (C++26以降 noexcept)
{{mark deprecated c++26}} (C++26で非推奨)
{{mark updated c++26}} (C++26で更新)
{{mark until c++26}} (C++26まで)
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まで)
  • オプションパラメータ bryes に設定すると、各注釈が別々の行に表示されます。例:
例: {{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以降)

[{{cmark}}ファミリーのテンプレート] {{cmark}}ファミリーのテンプレート

[編集] [{{パージ}}] ドキュメント

関数への注釈を作成します。いくつかの注釈がすでに定義されています。

{{cmark virtual}} の結果 [virtual]

{{cmark static}} の結果 [static]

{{cmark deleted}} の結果 [deleted]

[バージョン管理] バージョン管理

[編集] [{{パージ}}] ドキュメント

説明の一部が規格の特定の改訂のみに有効であることを宣言するために使用されます。

{{rev begin|noborder=true_if_noborder (任意)}}

規格の特定の改訂に固有のテキストスニペットのセットを開始します。noborderパラメータがtrueの場合、テーブルは境界線なしで、可能な限り最小限のパディングで表示されます。

{{rev|since=since-std (任意)|until=until-std (任意)|text }}

textsince-std以降until-stdまで(until-stdは含まない)の規格改訂でのみ有効であることを指定します。

{{rev end}}

規格の特定の改訂に固有のテキストスニペットのセットを終了します。

{{rrev|noborder=true_if_noborder (任意)|since=since-std (任意)|until=until-std (任意)|text }}

{{rev begin}}/{{rev}}/{{rev end}}の組み合わせで、単一の{{rev}}が必要な場合に使用します。

{{rrev multi|noborder=true_if_noborder (任意)|sinceX=since-std (任意)|untilX=until-std (任意)|revX=text |... }}

{{rev begin}}/{{rev}}/{{rev end}}の組み合わせ。最大7つのスニペットをサポートします。sinceXのデフォルトはuntilX-1untilXのデフォルトはsinceX+1です。したがって、スニペットが比較的短く、改訂範囲が連続している場合に最も便利です。このテンプレートは置換可能です。

{{rev inl|id=id (任意)|since=since-std (任意)|until=until-std (任意)|noborder=true_if_noborder (任意)|text }}

{{rev}}と同じですが、インラインで表示されます。{{rev begin}}および{{rev end}}は使用できません。テキストはidで参照できます。

noborderパラメータがtrueの場合、境界線は省略されます。

[機能テストマクロのレンダリング] 機能テストマクロのレンダリング

[編集] [{{パージ}}] ドキュメント

[編集] 機能テストマクロのサポート

指定された機能テストマクロのリンクやテーブルを生成するために使用されます。

[編集] 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つの追加(オプション)パラメータ stdcomment (両方とも現在は無視されます) がサポートされていましたが、列の条件付き追加/非表示に使用されていました。StdValueFeature 列は常に存在します。


{{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


{{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で更新)

[ナビゲーションバー] ナビゲーションバー

[編集] [{{パージ}}] ドキュメント
{{navbar
| style =

| heading1 = 
| content1 = 

| heading2 = 
| content2 = 

| heading3 = 
| content3 = 

...

| heading8 = 
| content8 = 

}}

[その他] その他

[スペース] スペース

[編集] [{{パージ}}] ドキュメント

[編集] スペース文字の処理

{{space|number}} - number個のスペース文字を出力します。先頭/末尾の位置にあるこれらのスペース文字は、{{trim}}によってトリムされる可能性があることに注意してください。これは{{nbsp}}/{{nbspt}}ファミリーの「スペース」とは異なります。

{{space as|text}} - textの文字数と同じ数のスペース文字を出力します。テンプレート化されたコードのインデントに便利です。

{{trim|text}} - 先頭および末尾の空白をトリムします。

{{sep}} - 文字間に小さな改行されないスペースを挿入し、例えばイタリック体の文字の重なりを防ぎます。例: II vs I I。

{{nbsp|number (任意)}} - number個の改行されないスペース文字(HTML: &nbsp;)を挿入します。引数なしの場合は1つのスペースを挿入します。これらの「スペース」(先頭/末尾の位置)は{{trim}}ではトリムされません。

{{nbspt|number (任意)}} - {{nbsp}}と同じスペース文字ジェネレーターですが、monospaceteletype)フォントです。これらの「スペース」は{{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

[ヘッダー] ヘッダー

[編集] [{{パージ}}] ドキュメント

CまたはC++ヘッダー説明ページへのリンクを作成するために使用されます。

{{header|name|lang=cpp または c (任意)}}、ここでnameはヘッダー名(山括弧なし)です。

C++ページで {{header|iostream}} とすると <iostream> が表示されます。
Cページで {{header|stdio.h}} とすると <stdio.h> が表示されます。

[ユーティリティテンプレート (他のテンプレートのみで使用することを意図)] ユーティリティテンプレート (他のテンプレートのみで使用することを意図)

[キャスト要件] キャスト要件

[編集] [{{パージ}}] ドキュメント

これは、ある型が別の型に変換可能であることを指定するために使用されるテンプレートの1つです。これらのテンプレートはすべて、特定の型のオブジェクトが別の型に変換可能であること、またはオブジェクトを逆参照してから別の型に変換可能であることのいずれかの要件を発行できます。この動作は、指定されたパラメータ(tはプレーン型、pは最初に逆参照する必要がある型)に依存します。

{{cast rreq| base_type| rt=type または rp=pointer_type}} - base_typertまたは*rpに変換可能である必要があります。

{{cast req1| base_type| t1=type または p1=pointer_type}} - t1または*p1base_typeに変換可能である必要があります。

{{cast req2| base_type1| base_type2| t1=type または p1=pointer_type| t2=type または p2=pointer_type (任意)}} - t1または*p1base_type1に変換可能であるか、t2または*p2base_type2に変換可能である必要があります。t2p2も指定されていない場合、t1または*p1base_type1base_type2の両方に変換可能であると想定されます。

[標準コンテナの分類] 標準コンテナの分類

[編集] [{{パージ}}] ドキュメント

これはコンテナを分類するために使用されるテンプレートグループの1つです。

一般的な形式は次のとおりです。

{{cpp/container/TERM|container|if-true|if-false (任意)}}:

  • containerが指定されたコンテナ/アダプタグループのいずれかである場合、if-trueになります。
  • if-false(存在する場合)、そうでなければになります。
TERM グループ内のコンテナ/アダプタ
if seq
  • arrayinplace_vectorvectorhivedequelistforward_list
if assoc
  • setmultisetmapmultimap
  • unordered_setunordered_multisetunordered_mapunordered_multimap
  • flat_setflat_multisetflat_mapflat_multimap
if ord
  • setmultisetmapmultimap
  • flat_setflat_multisetflat_mapflat_multimap
if unord
  • unordered_setunordered_multisetunordered_mapunordered_multimap
if uniq
  • setmap
  • unordered_setunordered_map
  • flat_setflat_map
if eq
  • multisetmultimap
  • unordered_multisetunordered_multimap
  • flat_multisetflat_multimap
if set
  • setmultiset
  • unordered_setunordered_multiset
  • flat_setflat_multiset
if map
  • mapmultimap
  • unordered_mapunordered_multimap
  • flat_mapflat_multimap
if ad
  • stackqueuepriority_queue
  • flat_setflat_multisetflat_mapflat_multimap
if flat
  • flat_setflat_multisetflat_mapflat_multimap
if c++98
  • vectorlistsetmultisetmapmultimap
  • stackqueuepriority_queue
if c++11
  • arrayforward_list
  • unordered_setunordered_multisetunordered_mapunordered_multimap
  • span
  • flat_setflat_multisetflat_mapflat_multimap
  • inplace_vector
  • hive

[編集]

{{cpp/container/if set|multiset|Yes|No}} の結果 Yes。

{{cpp/container/if seq|multiset|Yes|No}} の結果 No。

English 日本語 中文(简体) 中文(繁體)