diff --git a/README.md b/README.md index 1fe0045..1579957 100644 --- a/README.md +++ b/README.md @@ -27,12 +27,6 @@ pip install mkdocs-material pip install fontawesome_markdown ``` -### 日本語検索スクリプトの修正 - -日本語の検索スクリプトに問題があるため、次の手順で修正します ([参考](https://qiita.com/t-kuni/items/410aac718e531c6aee17#%E4%BF%AE%E6%AD%A3%E7%AE%87%E6%89%80)) -- `Python??\Lib\site-packages\mkdocs\contrib\search\lunr-language\` フォルダに [TynySegmenter](http://chasen.org/~taku/software/TinySegmenter/tiny_segmenter-0.2.js) を追加、TynySegmenter の最終行に `module.exports = TinySegmenter;` を加える -- `Python??\Lib\site-packages\mkdocs\contrib\search\lunr-language\lunr.jp.js` で `var segmenter = new lunr.TinySegmenter(); // インスタンス生成` を `var segmenter = new (require('./tiny_segmenter-0.2.js'))(); // インスタンス生成` に置き換え - ### ビルド `mkdocs.yml` があるプロジェクトフォルダに移動し、以下のコマンドを実行すると Web サイトをビルドできます。 diff --git a/docs/articles/acronyms.md b/docs/articles/acronyms.md index 2e5a6c7..a8998b6 100644 --- a/docs/articles/acronyms.md +++ b/docs/articles/acronyms.md @@ -98,6 +98,9 @@ C++ 標準化委員会のスタディグループの 1 つ (SG17). EWG に向け ### GCC | GNU Compiler Collection / GNU C++ Compiler GNU コンパイラコレクション、またはその C++ コンパイラ +### GMF | Global Module Fragment +グローバルモジュールフラグメント + ### G++ | GNU C++ Compiler GNU コンパイラコレクションの C++ コンパイラ @@ -191,6 +194,9 @@ C++ の設計コンセプトの 1 つ。あらゆる型や関数、テンプレ ### PImpl | Pointer to Implementation クラスの実装の詳細を隠す、C++ のプログラミングテクニック +### PMF | Pointer to Member Function +メンバ関数へのポインタ + ### POD | Plain Old Data C 言語と互換性のあるオブジェクトレイアウトを持つ型 @@ -209,6 +215,9 @@ C 言語と互換性のあるオブジェクトレイアウトを持つ型 ### SBO | Small Buffer Optimization 小さい動的配列でのメモリアロケーションを避ける C++ の最適化テクニック +### SD | Standing Document +標準化委員会の常備文書 (https://isocpp.org/std/standing-documents) + ### SEH | Structured Exception Handling 構造化例外処理。Windows で使われる独自の例外処理。 diff --git a/docs/articles/comment-tricks.md b/docs/articles/comment-tricks.md index 70675ca..0f3d983 100644 --- a/docs/articles/comment-tricks.md +++ b/docs/articles/comment-tricks.md @@ -10,93 +10,105 @@ description: C++ のプログラムで使えるコメントアウトのトリッ #### パターン 1 -``` C++ tab="無効" -#include +=== "無効" -int main() -{ - /**/ - int x; + ``` C++ + #include - std::cin >> x; + int main() + { + /**/ + int x; - std::cout << x * x; - /**/ -} -``` + std::cin >> x; -``` C++ tab="有効" -#include + std::cout << x * x; + /**/ + } + ``` -int main() -{ - /** - int x; +=== "有効" - std::cin >> x; + ``` C++ + #include - std::cout << x * x; - /**/ -} -``` + int main() + { + /** + int x; + + std::cin >> x; + + std::cout << x * x; + /**/ + } + ``` #### パターン 2 -``` C++ tab="無効" -#include +=== "無効" + + ``` C++ + #include + + int main() + { + //* + int x; -int main() -{ - //* - int x; + std::cin >> x; - std::cin >> x; + std::cout << x * x; + //*/ + } + ``` - std::cout << x * x; - //*/ -} -``` +=== "有効" -``` C++ tab="有効" -#include + ``` C++ + #include -int main() -{ - /* - int x; + int main() + { + /* + int x; - std::cin >> x; + std::cin >> x; - std::cout << x * x; - //*/ -} -``` + std::cout << x * x; + //*/ + } + ``` ## 値の切り替え スラッシュ `/` の有無に応じて、左右どちらかの値を選択します。 -``` C++ tab="左" -#include +=== "左" -int main() -{ - constexpr int N = /**/ 100 /*/ 200 /**/; + ``` C++ + #include - std::cout << N << '\n'; -} -``` + int main() + { + constexpr int N = /**/ 100 /*/ 200 /**/; -``` C++ tab="右" -#include + std::cout << N << '\n'; + } + ``` -int main() -{ - constexpr int N = /** 100 /*/ 200 /**/; +=== "右" - std::cout << N << '\n'; -} -``` + ``` C++ + #include + + int main() + { + constexpr int N = /** 100 /*/ 200 /**/; + + std::cout << N << '\n'; + } + ``` ## 範囲の切り替え @@ -105,116 +117,128 @@ int main() #### パターン 1 -``` C++ tab="前半" -#include +=== "前半" + + ``` C++ + #include + + int main() + { + /**/ + int x; -int main() -{ - /**/ - int x; + std::cin >> x; - std::cin >> x; + std::cout << x * x; + /*/ + int x, y; - std::cout << x * x; - /*/ - int x, y; + std::cin >> x >> y; - std::cin >> x >> y; + std::cout << x + y; + /**/ + } + ``` - std::cout << x + y; - /**/ -} -``` +=== "後半" -``` C++ tab="後半" -#include + ``` C++ + #include -int main() -{ - /** - int x; + int main() + { + /** + int x; - std::cin >> x; + std::cin >> x; - std::cout << x * x; - /*/ - int x, y; + std::cout << x * x; + /*/ + int x, y; - std::cin >> x >> y; + std::cin >> x >> y; - std::cout << x + y; - /**/ -} -``` + std::cout << x + y; + /**/ + } + ``` #### パターン 2 -``` C++ tab="前半" -#include +=== "前半" -int main() -{ - //* - int x; + ``` C++ + #include - std::cin >> x; + int main() + { + //* + int x; - std::cout << x * x; - /*/ - int x, y; + std::cin >> x; - std::cin >> x >> y; + std::cout << x * x; + /*/ + int x, y; - std::cout << x + y; - //*/ -} -``` + std::cin >> x >> y; -``` C++ tab="後半" -#include + std::cout << x + y; + //*/ + } + ``` -int main() -{ - /* - int x; +=== "後半" - std::cin >> x; + ``` C++ + #include - std::cout << x * x; - /*/ - int x, y; + int main() + { + /* + int x; - std::cin >> x >> y; + std::cin >> x; - std::cout << x + y; - //*/ -} -``` + std::cout << x * x; + /*/ + int x, y; + + std::cin >> x >> y; + + std::cout << x + y; + //*/ + } + ``` ## 行の入れ替えの防止 リファクタリング時に、コピー&ペーストで行の順番を入れ替えてしまうことを防ぎます。 -``` C++ tab="基本のコード" -void First() {} -void Second() {} - -int main() -{ - First();/* - */Second(); -} -``` - -``` C++ tab="入れ替えるとエラー" -void First() {} -void Second() {} - -int main() -{ - */ Second(); - First();/* -} -``` +=== "元のコード" + + ``` C++ + void First() {} + void Second() {} + + int main() + { + First();/* + */Second(); + } + ``` + +=== "入れ替えるとエラー" + + ``` C++ + void First() {} + void Second() {} + + int main() + { + */ Second(); + First();/* + } + ``` diff --git a/docs/articles/it-does-not-compile.md b/docs/articles/it-does-not-compile.md index ed04fb9..5cf778c 100644 --- a/docs/articles/it-does-not-compile.md +++ b/docs/articles/it-does-not-compile.md @@ -4,7 +4,7 @@ description: 正しいように見えて、コンパイルエラーになる C++ 正しいように見えて、コンパイルエラーになるコードの紹介です。 -## 添字とラムダ式 +## [添字とラムダ式](https://wandbox.org/permlink/SVY9fqkBjRUSUNJQ) ```C++ #include @@ -16,7 +16,7 @@ int main() } ``` -## 使えない変数 +## [使えない変数](https://wandbox.org/permlink/HJHm8EKL6Ma73jyR) ```C++ #include @@ -28,7 +28,7 @@ int main() } ``` -## ポインタ型のデフォルト引数 +## [ポインタ型のデフォルト引数](https://wandbox.org/permlink/RiDJ2HEPG9zL0KH8) ```C++ void Func(int*=nullptr) { @@ -41,8 +41,7 @@ int main() } ``` -## 関数のオーバーロード - +## [関数のオーバーロード](https://wandbox.org/permlink/dTWsrIqVeuJRifdK) ```C++ #include @@ -64,3 +63,11 @@ int main() f(x); } ``` + +## [0xe](https://wandbox.org/permlink/aYCRa87L7rhq5Ydt) +```C++ +int main() +{ + return 0xe-0xe; +} +``` diff --git a/docs/contribution/contributors.md b/docs/contribution/contributors.md index 40ba69c..4c48484 100644 --- a/docs/contribution/contributors.md +++ b/docs/contribution/contributors.md @@ -12,24 +12,47 @@ C++ の歩き方 Web サイトの改善、情報拡充に協力してくれた - [国内の勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/30) - [国内の勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/33) - [C++ 関連の略語 情報提供](https://github.com/cppmap/cppmap.docs/issues/41) + - [C++ 標準ライブラリ 記事加筆](https://github.com/cppmap/cppmap.docs/pull/45) - [@Fuyutsubaki](https://twitter.com/Fuyutsubaki) さん - [なぜかコンパイルできない ネタ提供](https://github.com/cppmap/cppmap.docs/issues/9#issuecomment-472076826) - [標準ライブラリ 記事作成](https://github.com/cppmap/cppmap.docs/pull/12) - [@hr_sao](https://twitter.com/hr_sao) さん - [C++ コードフォーマッタ 記事加筆](https://github.com/cppmap/cppmap.docs/pull/36) + - [gitignore テンプレ記事提供](https://github.com/cppmap/cppmap.docs/pull/48) + - [C++ 技術同人誌 情報提供](https://github.com/cppmap/cppmap.docs/pull/51) - [@kariya_mitsuru](https://twitter.com/kariya_mitsuru) さん - [C++17 洋書 情報提供](https://github.com/cppmap/cppmap.docs/issues/6) - [処理系の対応状況 情報提供](https://github.com/cppmap/cppmap.docs/pull/7) - [IEEE 754 演算について 情報提供](https://twitter.com/kariya_mitsuru/status/1148972200713584640) - [なぜかコンパイルできる 情報提供](https://twitter.com/kariya_mitsuru/status/1369276950972309509) + - [なぜかコンパイルできない 情報提供](https://twitter.com/kariya_mitsuru/status/1369294046456332296) - [@kenichiuda](https://twitter.com/kenichiuda) - - [C++ 関連の略語 情報提供](https://github.com/cppmap/cppmap.docs/issues/41) + - [C++ 関連の略語 情報提供](https://github.com/cppmap/cppmap.docs/issues/41#issuecomment-693335310) + - [C++ 関連の略語 情報提供](https://github.com/cppmap/cppmap.docs/issues/41#issuecomment-855238514) - [@Linda_pp](https://twitter.com/Linda_pp) さん - [ライブラリ 記事提供](https://github.com/cppmap/cppmap.docs/pull/22) -- [@matken11235](https://twitter.com/matken11235) さん +- [@mafafa_ese](https://twitter.com/mafafa_ese) さん + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/53) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/54) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/55) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/56) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/57) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/58) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/59) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/60) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/61) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/62) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/63) + - [国内の C++ 勉強会 記事加筆](https://github.com/cppmap/cppmap.docs/pull/64) +- [@_matken](https://twitter.com/_matken) さん - [C++ パッケージマネージャ 情報提供](https://github.com/cppmap/cppmap.docs/pull/2) + - [C++ リンター 情報提供](https://github.com/cppmap/cppmap.docs/pull/50) +- [@monman53](https://twitter.com/monman53) さん + - [ページの修正](https://github.com/cppmap/cppmap.docs/pull/46) - [@nekko1119](https://twitter.com/nekko1119) さん - [予約語 記事作成](https://github.com/cppmap/cppmap.docs/pull/11) +- [@nicklegr](https://twitter.com/nicklegr) さん + - [記事の修正](https://github.com/cppmap/cppmap.docs/pull/52) - [@NxNeu_J](https://twitter.com/NxNeu_J) さん - [C++17 洋書 情報提供](https://github.com/cppmap/cppmap.docs/issues/5) - [@onihusube9](https://twitter.com/onihusube9) さん @@ -71,6 +94,7 @@ C++ の歩き方 Web サイトの改善、情報拡充に協力してくれた - [C++ 規格書 記事更新](https://github.com/cppmap/cppmap.docs/pull/38) - [C++ 関連の略語 情報提供](https://github.com/cppmap/cppmap.docs/issues/41) - [なぜかコンパイルできる 情報提供](https://github.com/cppmap/cppmap.docs/issues/9#issuecomment-791437878) + - [C++ 関連の略語 情報提供](https://github.com/cppmap/cppmap.docs/issues/41#issuecomment-855401574) - [@yuji_n_dispair](https://twitter.com/yuji_n_dispair) さん - [国内の勉強会 情報加筆](https://github.com/cppmap/cppmap.docs/pull/29) - [@yumetodo](https://twitter.com/yumetodo) さん diff --git a/docs/cppmap_styles.css b/docs/cppmap_styles.css index 5eee8f6..d04ae84 100644 Binary files a/docs/cppmap_styles.css and b/docs/cppmap_styles.css differ diff --git a/docs/index.md b/docs/index.md index 8b8cd43..7607c4d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,16 +1,21 @@ # C++ の歩き方 | cppmap +📢 CEDEC 2024 にて講演を行いました。発表資料を公開しています。 + +- [CEDEC 2024 | ゲーム開発者のための C++17~C++23, 近年の C++ 規格策定の動向 :material-open-in-new:](https://www.docswell.com/s/cpp/5XEY92-cedec2024){:target="_blank"} + 📢 CEDEC 2020 にて講演を行いました。発表資料を公開しています。 -- [CEDEC 2020 | ゲーム開発者のための C++11~C++20, 将来の C++ の展望](https://speakerdeck.com/cpp/cedec2020) +- [CEDEC 2020 | ゲーム開発者のための C++11~C++20, 将来の C++ の展望 :material-open-in-new:](https://speakerdeck.com/cpp/cedec2020){:target="_blank"} 📢 コンテンツ拡充のため【募集】タグのスレッドへ情報をお寄せください。 -- [cppmap.docs | Issues](https://github.com/cppmap/cppmap.docs/issues) +- [cppmap.docs | Issues :material-open-in-new:](https://github.com/cppmap/cppmap.docs/issues){:target="_blank"} + +📢 本サイトの運営は、GitHub Sponsors によって支えられています。 -📢 本サイトの運営により多くの時間を使えるよう、寄付をお願いしています。 +- [GitHub Sponsors | Become a sponsor to Reputeless :material-open-in-new:](https://github.com/sponsors/Reputeless){:target="_blank"} -- [GitHub Sponsors | Become a sponsor to Reputeless](https://github.com/sponsors/Reputeless) ## このサイトについて C++17, C++20, C++23, C++26 に関する情報を調査・提供します。 @@ -18,29 +23,25 @@ C++17, C++20, C++23, C++26 に関する情報を調査・提供します。 - [コントリビュート方法](https://github.com/cppmap/cppmap.docs) -## ライセンス -CC0 +## ライセンス 本サイトの記事とサンプルコードはパブリックドメインです。 サードパーティーのコンテンツの著作権は、それぞれの所有者に帰属します。 -## 💗 [スポンサー](https://github.com/sponsors/Reputeless) +CC0 + -[GitHub Sponsors ページ](https://github.com/sponsors/Reputeless) から「C++ の歩き方」のスポンサーにご登録ください。 +## GitHub Sponsors -- [TOMOAKI12345](https://github.com/TOMOAKI12345) -- [sknjpn](https://twitter.com/sknjpn) -- アゲハマ -- chobby75 -- (匿名 😀) -- minachun -- Fuyutsubaki -- (匿名 😊) -- (匿名 🐝) -- (匿名 🐠) +#### Gold Sponsor +- [TOMOAKI12345](https://github.com/TOMOAKI12345){:target="_blank"} +- [CubeSoft, Inc.](https://www.cube-soft.jp/){:target="_blank"} + +#### Silver Sponsor +- [sknjpn](https://x.com/sknjpn){:target="_blank"} - 野菜ジュース -- MawkishWaffle -- jacking75 -- Chris Ohk -- IZUNA -- qppon +- [kagamiz](https://github.com/kagamiz){:target="_blank"} +- [kt2763](https://github.com/kt2763){:target="_blank"} + +#### Bronze Sponsor +アゲハマ, Fuyutsubaki, 😊, 🐝, jacking75, Chris Ohk, ysaito, おおやま, ShivAlley, lamuda, fal_rnd, As Project, IZUNA, nasatame, sashi, 🌶️, PlumRice, 緑獺おがめ diff --git a/docs/learn/books.md b/docs/learn/books.md index 644929c..86c8a57 100644 --- a/docs/learn/books.md +++ b/docs/learn/books.md @@ -3,28 +3,30 @@ description: モダン C++ の学習に役立つ書籍の紹介 # C++ 書籍 C++ の学習に役立つ最新の書籍を紹介します。 -初学者向けの入門書には :fa-graduation-cap: マークを付けています。 +初学者向けの入門書には :fontawesome-solid-graduation-cap: マークを付けています。 - + ## C++14 以降を扱った書籍 | 書名 | 発行年 | C++ 規格 | 内容 | |------------------------------------------------------------------------|------|----------|------------------------------------------------------------------------------------------------| | [Effective Modern C++](https://amzn.to/2H8bnnF) | 2015 | C++14 | Effective C++ で有名な Scott Meyers による C++11/14 のガイドライン・コーディングスタイル・イディオム集 | -| [C++11/14 コア言語](https://amzn.to/2HmyYQP) | 2015 | C++14 | C++11/14 の文法と言語機能を規格書に基づいて詳細に解説。[オープンソース版](https://github.com/EzoeRyou/cpp-book) | -| [組込みソフトウェア開発向けコーディング作法ガイド C++ 言語版 Ver.2.0](https://www.ipa.go.jp/sec/publish/tn16-007.html) | 2016 | C++14 | 基礎を学んだ人向けのコーディングスタイル本。組み込み向けの厳格さもあるが概ね汎用的。PDF 版は無料公開 | +| [C++11/14 コア言語](https://amzn.to/2HmyYQP) | 2015 | C++14 | C++11/14 の文法と言語機能を規格書に基づいて詳細に解説。[オープンソース版 :material-open-in-new:](https://github.com/EzoeRyou/cpp-book){:target="_blank"} | +| [組込みソフトウェア開発向けコーディング作法ガイド C++ 言語版 Ver.2.0](https://www.ipa.go.jp/publish/secbooks20161001.html) | 2016 | C++14 | 基礎を学んだ人向けのコーディングスタイル本。組み込み向けの厳格さもあるが概ね汎用的。PDF 版は無料公開 | | [C++ によるプログラミングの原則と実践](https://amzn.to/2Hmzazx) | 2016 | C++14 | C++ を使ってプログラミングを教える 1,000 ページ超の入門書。C++ 生みの親 Bjarne Stroustrup 著 | | [基礎からしっかり学ぶ C++ の教科書](https://amzn.to/2IXa1hf) | 2017 | C++14 | C++ の基本的な文法からクラス、コンテナ、並列化など様々な機能を 300 ページに圧縮して紹介する入門書 | | [C++ の絵本 第2版](https://amzn.to/2TFvvTO) | 2017 | C++14 | クラスや参照、テンプレートなど、C に対する C++ 固有の言語機能を図版を用いて解説 | | [Optimized C++](https://amzn.to/2Ho1KjN) | 2017 | C++14 | C++ プログラムの性能測定と最適化についての実践と解説 | | [[改訂第3版] C++ ポケットリファレンス](https://amzn.to/2H8a3kH) | 2018 | C++17 | 基本文法の解説に加え、逆引き形式で標準ライブラリの幅広い機能を紹介 | -| [江添亮の詳説 C++17](https://amzn.to/2HmVw42) | 2018 | C++17 | C++14/17 の新しい文法と標準ライブラリ機能を詳細に解説。[オープンソース版](https://ezoeryou.github.io/cpp17book/) | -| [冒険で学ぶはじめてのプログラミング](https://amzn.to/2IWnWnx) | 2018 | C++17 | :fa-graduation-cap: 未経験者向け。早稲田大学が運営する中学・高校生向け C++ 入門講座の教科書。[紹介ページ](https://enrect.org/cppbook/) | +| [江添亮の詳説 C++17](https://amzn.to/2HmVw42) | 2018 | C++17 | C++14/17 の新しい文法と標準ライブラリ機能を詳細に解説。[オープンソース版 :material-open-in-new:](https://ezoeryou.github.io/cpp17book/){:target="_blank"} | +| [冒険で学ぶはじめてのプログラミング](https://amzn.to/2IWnWnx) | 2018 | C++17 | :fontawesome-solid-graduation-cap: 未経験者向け。早稲田大学が運営する中学・高校生向け C++ 入門講座の教科書。[紹介ページ :material-open-in-new:](https://enrect.org/cppbook/){:target="_blank"} | | [Modern C++ チャレンジ ― C++17 プログラミング力を鍛える 100 問](https://amzn.to/2EMsIP8) | 2019 | C++17/20 | 現実的・実践的な 100 の課題を C++ で解決する問題集。オープンソースライブラリを積極的に活用する | -| [江添亮の C++ 入門](https://amzn.to/2HTGUbt) | 2019 | C++17/20 | C++ のツールや文法、いくつかの標準ライブラリ機能の設計を学べる解説書。[オープンソース版](https://ezoeryou.github.io/cpp-intro/) | -| [独習 C++ 新版](https://amzn.to/2ZWRrck) | 2019 | C++17 | :fa-graduation-cap: 初学者向け。「独習 C++ 第 4 版」を C++17 に対応させ解説を一新 | -| [[改訂第4版] C++ポケットリファレンス](https://amzn.to/3p4p0pa) | 2021 | C++20 | (2021 年 4 月 15 日に発売) | +| [江添亮の C++ 入門](https://amzn.to/2HTGUbt) | 2019 | C++17/20 | C++ のツールや文法、いくつかの標準ライブラリ機能の設計を学べる解説書。[オープンソース版 :material-open-in-new:](https://ezoeryou.github.io/cpp-intro/){:target="_blank"} | +| [独習 C++ 新版](https://amzn.to/2ZWRrck) | 2019 | C++17 | :fontawesome-solid-graduation-cap: 初学者向け。「独習 C++ 第 4 版」を C++17 に対応させ解説を一新 | +| [[改訂第4版] C++ ポケットリファレンス](https://amzn.to/3p4p0pa) | 2021 | C++20 | 基本文法の解説に加え、逆引き形式で標準ライブラリの幅広い機能を紹介 | +| [C++ ソフトウェア設計 - 高品質設計の原則とデザインパターン](https://amzn.to/3tI3puI) | 2023 | C++20 | モダン C++ における設計技法やデザインパターンなど 39 項目を解説。[目次 :material-open-in-new:](https://www.oreilly.co.jp/books/9784814400454/){:target="_blank"} | +| [[改訂第5版]C++ ポケットリファレンス](https://amzn.to/3PrY2bf) | 2024 | C++23 | 基本文法の解説に加え、逆引き形式で標準ライブラリの幅広い機能を紹介。C++23 に対応 | ![](images/books.jpg) @@ -50,7 +52,7 @@ C++ の入門~中級レベルの多くの情報(『やさしい C++ 第 5 ### [江添亮の C++ 入門](https://amzn.to/2HTGUbt) 古い C++ を学習した人が、最新の C++ の流儀に再入門するのに適した入門書です。 -### [[改訂第3版] C++ ポケットリファレンス](https://amzn.to/2H8a3kH) +### [[改訂第4版] C++ ポケットリファレンス](https://amzn.to/3p4p0pa) 掲載されている C++ の機能の数は断トツのトップクラスです。総ページのうち大部分が標準ライブラリ機能の解説ですが、100 ページ以上ある第 2 章では C++ の言語機能も網羅的に解説しています(図などは無く、抜粋のコードがほとんどなので初学者にはやや難しいです)。入門書というよりも辞書的な性格が強い本です。ある程度 C++ の経験を積んでからもお世話になる本です。 @@ -68,19 +70,31 @@ C++ の入門~中級レベルの多くの情報(『やさしい C++ 第 5 | [Advanced C++ Programming Cookbook](https://amzn.to/3fFA88f) | 2020 | C++20 | [目次](https://www.packtpub.com/programming/advanced-c-cookbook) / [サンプルコード](https://github.com/PacktPublishing/Advanced-CPP-Programming-CookBook) | | [C++ System Programming Cookbook](https://amzn.to/3jfdoxU) | 2020 | C++20 | [目次](https://www.packtpub.com/programming/c-system-programming-cookbook) / [サンプルコード](https://github.com/PacktPublishing/C-System-Programming-Cookbook) | | [Expert C++](https://amzn.to/2WsxY49) | 2020 | C++20 | [目次](https://www.packtpub.com/programming/mastering-c-programming) / [サンプルコード](https://github.com/PacktPublishing/Expert-CPP) | +| [C++ Lambda Story](https://amzn.to/3qLsbF8) | 2020 | C++20 | モダン C++ におけるラムダ式の機能やその変遷、ラムダ式の活用テクニックを解説。[目次](https://leanpub.com/cpplambda) | | [The C++ Standard Library](https://leanpub.com/cpplibrary) | 2020 | C++20 | C++20 までの標準ライブラリ機能を解説。[目次](https://leanpub.com/cpplibrary) | | [C++ Move Semantics - The Complete Guide: First Edition](https://amzn.to/3fTLgiM) | 2020 | C++20 | C++ のムーブセマンティクスを解説。[目次](http://www.cppmove.com/) | | [Modern C++ Programming Cookbook, 2nd Edition](https://amzn.to/3naUMQs) | 2020 | C++20 | C++11~C++20 のモダンな機能の使い方を解説。パターンやイディオム、Boost.Test, Google Test, Catch2 を使ったテスト手法も扱う。[目次](https://www.packtpub.com/product/modern-c-programming-cookbook-second-edition/9781800208988) | +| [Beginning C++20: From Novice to Professional Sixth Edition](https://amzn.to/3qHFZRb) | 2020 | C++20 | C++20 に基づいた C++ プログラミング入門書。853 ページ。[目次](https://link.springer.com/book/10.1007/978-1-4842-5884-2) | | [C++ Best Practices: 45ish Simple Rules with Specific Action Items for Better C++](https://amzn.to/3paeX2R) | 2021 | C++20 | より良い C++ コーディングのための 45 個のルールを説明。[目次](https://leanpub.com/cppbestpractices) | | [Professional C++, 5th Edition](https://amzn.to/3bKXqdH) | 2021 | C++20 | 2018 年に発売された『Professional C++, 4th Edition』の C++20 対応版。1312 ページ | - - -## 同人誌 -| 書名 | 発表年 | C++ 規格 | 内容 | -|---------------------------------------------------------------------|------|----------|----------------------------| -| [C++ 標準的インターフェース](https://techbookfest.org/product/6417376601964544) | 2020 | C++17/20 | C++ 標準ライブラリのインターフェースについて解説。[目次とサンプル](https://github.com/onihusube/books/blob/master/sample/cpp_interface/sample.md) | -| [C++20 Modules 第2版](https://techbookfest.org/product/4680272314368000) | 2020 | C++20 | C++20 から追加されるモジュールの仕様を解説。[目次とサンプル](https://github.com/onihusube/books/blob/master/sample/cpp20_modules/sample.md) | -| [C++ 集成体](https://techbookfest.org/product/5650141820223488) | 2020 | C++20 | C++20 における集成体型について解説。[目次とサンプル](https://github.com/onihusube/books/blob/master/sample/cpp_aggregate/sample.md) | -| [ゲーム開発者のための C++11~C++20 技術書典10 Ver.](https://techbookfest.org/product/5738569643589632) | 2020 | C++20/23 | CEDEC 2020 講演での C++11~C++20 機能解説に追加の説明やサンプル、C++23 情報を加筆した本。 | +| [C++20: Get the Details](https://leanpub.com/c20) | 2021 | C++20/23 | C++20 の新機能を 500 ページにわたって解説。[目次](https://leanpub.com/c20) | +| [Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code](https://amzn.to/3JyIoX5) | 2021 | C++20 | C++ Core Guidelines のうち特に重要な 30 項目について、実践的なサンプルや解説を提供。[目次](https://www.oreilly.com/library/view/beautiful-c-30/9780137647767/) / [サンプルコード](https://godbolt.org/z/cg30-ch0.0) | + + +## 技術同人誌 +| 書名 | 発表年 | C++ 規格 | 内容 | +|---------------------------------------------------------------------------------------------|------|----------|--------------------------------------------------------------------------------------------------------------------------------------| +| [C++ 標準的インターフェース](https://techbookfest.org/product/6417376601964544) | 2020 | C++17/20 | C++ 標準ライブラリのインターフェースについて解説。[目次とサンプル](https://github.com/onihusube/books/blob/master/sample/cpp_interface/sample.md) | +| [C++20 Modules 第2版](https://techbookfest.org/product/4680272314368000) | 2020 | C++20 | C++20 から追加されるモジュールの仕様を解説。[目次とサンプル](https://github.com/onihusube/books/blob/master/sample/cpp20_modules/sample.md) | +| [C++ 集成体](https://techbookfest.org/product/5650141820223488) | 2020 | C++20 | C++20 における集成体型について解説。[目次とサンプル](https://github.com/onihusube/books/blob/master/sample/cpp_aggregate/sample.md) | +| [ゲーム開発者のための C++11~C++20 技術書典10 Ver.](https://techbookfest.org/product/5738569643589632) | 2020 | C++20/23 | CEDEC 2020 講演での C++11~C++20 機能解説に追加の説明やサンプル、C++23 情報を加筆した本。[Zenn 版](https://zenn.dev/tetsurom/books/cpp11-cpp20-for-game-developers) | +| [C++ マルチスレッド一巡り](https://zenn.dev/yohhoy/books/cpp-stdlib-multithreading) | 2021 | C++20 | C++11~20 標準ライブラリで提供されるマルチスレッド関連機能を解説 | +| [競プロのための標準 C++](https://zenn.dev/reputeless/books/standard-cpp-for-competitive-programming) | 2021 | C++17 | 競技プログラミングで使える C++ の主要な標準機能のサンプル付き解説 | +| [C++20 ranges](https://techbookfest.org/product/5134506308665344?productVariantID=5896161179205632) | 2021 | C++20 | C++20 の Ranges ライブラリの使い方や設計を解説 (164 ページ) | +| [C++20 コア言語機能](https://techbookfest.org/product/4904567416291328?productVariantID=5196501510782976) | 2022 | C++20 | C++20 コア言語に追加された機能を解説 (128 ページ) | +| [C++20 ライブラリ機能 Vol.1](https://techbookfest.org/product/eGzbawjDfDAjJdkCwKbFtY?productVariantID=imM8MxR9zvu5fC0cpzWD6g) | 2022 | C++20 | C++20で新たに追加された標準ライブラリ機能のうち、規模の大きなものに絞って解説 (222 ページ) | +| [C++20 ライブラリ機能 Vol.2](https://techbookfest.org/product/w7kWwTCFWpgi7XYvGyKqpM?productVariantID=4ZazJVHsFG7e5AdL28WjpQ) | 2022 | C++20 | Vol.1 で取り扱っていない機能を解説 (174 ページ) | +| [return 文で起こること](https://techbookfest.org/product/wEvHSr45NZQ9EV7u3sMZ9Y?productVariantID=qXfWjZxLmjfM8a2UTcAWc9) | 2023 | C++20/23 | C++ の return 文に関するトピックを解説(72 ページ) | +| [C++23 ranges](https://techbookfest.org/product/mBjbXjatZwmYXPYJh1ddmB?productVariantID=qWzTAS8TW2x7AmPiYkge29) | 2023 | C++23 | C++23 の Ranges ライブラリの使い方や設計を解説(166 ページ) | diff --git a/docs/learn/communities.md b/docs/learn/communities.md index a01d61a..4b70470 100644 --- a/docs/learn/communities.md +++ b/docs/learn/communities.md @@ -2,39 +2,46 @@ description: C++ ユーザのためのコミュニティの紹介 # C++ コミュニティ -C++ ユーザのためのコミュニティです。 +C++ のオンラインコミュニティです。 ## ユーザグループ -### Cpplang Slack -[:fa-slack: https://cpplang.now.sh/](https://cpplang.now.sh/) +### Cpplang Slack :fontawesome-brands-slack: +[https://cppalliance.org/slack/](https://cppalliance.org/slack/) 1 万人以上が登録し、100 以上のチャンネルが存在する、C++ に関する世界最大の Slack ワークスペースです。上記ページにメールアドレスを入力すると招待メールが届きます。 -### reddit (r/cpp) -[:fa-reddit: https://www.reddit.com/r/cpp/](https://www.reddit.com/r/cpp/) +### reddit (r/cpp) :fontawesome-brands-reddit: +[https://www.reddit.com/r/cpp/](https://www.reddit.com/r/cpp/) C++ のニュース掲示板。 -### C++JP Facebook グループ -[:fa-facebook: https://www.facebook.com/groups/cppjp/](https://www.facebook.com/groups/cppjp/) +### C++JP Facebook グループ :fontawesome-brands-facebook: +[https://www.facebook.com/groups/cppjp/](https://www.facebook.com/groups/cppjp/) 400 人以上が参加する、日本の C++ プログラマのための Facebook グループです。書籍やイベントの情報が投稿されています。 -## Twitter +### C++ Twitter コミュニティ (日本語) :fontawesome-brands-x-twitter: + +[https://twitter.com/i/communities/1499396722514345984](https://twitter.com/i/communities/1499396722514345984) -### C++ に関する日本語のツイートを検索する方法 -Twitter の検索機能では、"C++20" のように `+` 記号を含むワードを検索できません。"C++20" でツイート検索をするには、[Yahoo!リアルタイム検索](https://search.yahoo.co.jp/realtime/search?p=C%2B%2B20&ei=UTF-8) を使います。このサービスでは、直近 1 カ月の日本語ツイートの中から、"C++20" のように `+` 記号を含むワードでの検索ができます。 +C++ ユーザが集まる、日本語の Twitter コミュニティです。 + +### C++ Twitter コミュニティ (英語) :fontawesome-brands-x-twitter: + +[https://twitter.com/i/communities/1508588673310277633](https://twitter.com/i/communities/1508588673310277633) + +C++ ユーザが集まる、英語の Twitter コミュニティです。 ## 日本語の Q & A サイト -### Stack Overflow (日本語版) -C++ タグが付いた質問: [:fa-stack-overflow: https://ja.stackoverflow.com/questions/tagged/c%2b%2b](https://ja.stackoverflow.com/questions/tagged/c%2b%2b) +### Stack Overflow (日本語版) :fontawesome-brands-stack-overflow: +C++ タグが付いた質問: [https://ja.stackoverflow.com/questions/tagged/c%2b%2b](https://ja.stackoverflow.com/questions/tagged/c%2b%2b) ### teratail C++ タグが付いた質問: https://teratail.com/search?q=C%2B%2B -### 2 ちゃんねるスレッド +### 国内掲示板スレッド - [C++ 相談室](https://www.google.co.jp/search?q=site%3Ahttps%3A%2F%2Fmevius.5ch.net+%22C%2B%2B%E7%9B%B8%E8%AB%87%E5%AE%A4%22) - [C/C++ 室](https://www.google.com/search?q=site%3Ahttps%3A%2F%2Fmevius.5ch.net+%22C%2FC%2B%2B%E5%AE%A4%22) diff --git a/docs/learn/conferences.md b/docs/learn/conferences.md index c08643c..73849a1 100644 --- a/docs/learn/conferences.md +++ b/docs/learn/conferences.md @@ -4,9 +4,17 @@ description: C++ のカンファレンスと発表資料 C++ に関するカンファレンスと発表資料へのリンクです。 +## 過去の講演のキーワード検索 + +- [C++ Talks List](https://wovo.github.io/ctl/) + ## C++Now https://cppnow.org/ | [YouTube](https://www.youtube.com/user/BoostCon/) +- [C++Now 2023](https://cppnow.org/history/2023/) +- [C++Now 2022](https://cppnow.org/history/2022/) +- [C++Now 2021](https://cppnow.org/history/2021/talks/) +- C++Now 2020 (開催キャンセル) - [C++Now 2019](https://cppnow.org/history/2019/talks/) - [C++Now 2018](https://cppnow.org/history/2018/talks/) - [C++Now 2017](https://cppnow.org/history/2017/talks/) @@ -25,6 +33,9 @@ https://cppnow.org/ | [YouTube](https://www.youtube.com/user/BoostCon/) ## CppCon https://cppcon.org/ | [YouTube](https://www.youtube.com/user/CppCon/) +- CppCon 2023 +- [CppCon 2022](https://github.com/CppCon/CppCon2022) +- [CppCon 2021](https://github.com/CppCon/CppCon2021) - [CppCon 2020](https://github.com/CppCon/CppCon2020) - [CppCon 2019](https://github.com/CppCon/CppCon2019) - [CppCon 2018](https://github.com/CppCon/CppCon2018) @@ -35,32 +46,48 @@ https://cppcon.org/ | [YouTube](https://www.youtube.com/user/CppCon/) ## ACCU -https://conference.accu.org/ | [YouTube](https://www.youtube.com/channel/UCJhay24LTpO1s4bIZxuIqKw/) - -- [ACCU Autumn 2019](https://conference.accu.org/previous/2019_autumn/schedule/) -- [ACCU 2019](https://conference.accu.org/previous/2019/schedule/) -- [ACCU 2018](https://conference.accu.org/previous/2018/schedule/) -- [ACCU 2017](https://conference.accu.org/previous/2017/schedule/) -- [ACCU 2016](https://github.com/ACCUConf/PDFs_2016) -- [ACCU 2015](https://github.com/ACCUConf/PDFs_2015) -- [ACCU 2014](https://accu.org/index.php/conferences/accu_conference_2014/accu2014_schedule) -- [ACCU 2013](https://accu.org/index.php/conferences/accu_conference_2013/accu2013_schedule) -- [ACCU 2012](https://accu.org/index.php/conferences/accu_conference_2012/accu2012_schedule) -- [ACCU 2011](https://accu.org/index.php/conferences/accu_conference_2011/accu2011_sessions) -- [ACCU 2010](https://accu.org/index.php/conferences/accu_conference_2010/accu2010_sessions) -- [ACCU 2009](https://accu.org/index.php/conferences/accu_conference_2009/accu2009_sessions) -- [ACCU 2008](https://accu.org/index.php/conferences/accu_conference_2008/accu2008_sessions) -- [ACCU 2007](https://accu.org/index.php/conferences/accu_conference_2007/accu2007_sessions) -- [ACCU 2006](https://github.com/ACCUConf/PDFs_2006) -- [ACCU 2005](https://github.com/ACCUConf/PDFs_2005) -- [ACCU 2004](https://github.com/ACCUConf/PDFs_2004) -- [ACCU 2003](https://accu.org/index.php/conferences/2003/schedule2000b) -- [ACCU 2002](https://accu.org/index.php/conferences/2002/schedule2002) +https://accu.org/conf-main/main/ | [YouTube](https://www.youtube.com/channel/UCJhay24LTpO1s4bIZxuIqKw/) + +- [ACCU 2023](https://accu.org/conf-previous/accu2023/) +- [ACCU 2022](https://accu.org/conf-previous/2022/schedule/) +- [ACCU 2021](https://accu.org/conf-previous/2021/schedule/) +- ACCU 2020 (開催キャンセル) +- [ACCU Autumn 2019](https://accu.org/conf-previous/2019_autumn/schedule/) +- [ACCU 2019](https://accu.org/conf-previous/2019/schedule/) +- [ACCU 2018](https://accu.org/conf-previous/2018/schedule/) +- [ACCU 2017](https://accu.org/conf-previous/2017/schedule/) +- [ACCU 2016](https://accu.org/conf-previous/2016/schedule/) +- [ACCU 2015](https://accu.org/conf-previous/2015/schedule/) +- [ACCU 2014](https://accu.org/conf-previous/2014/schedule/) +- [ACCU 2013](https://accu.org/conf-previous/2013/schedule/) +- [ACCU 2012](https://accu.org/conf-previous/2012/schedule/) +- [ACCU 2011](https://accu.org/conf-previous/2011/schedule/) +- [ACCU 2010](https://accu.org/conf-previous/2010/schedule/) +- [ACCU 2009](https://accu.org/conf-previous/2009/schedule/) +- [ACCU 2008](https://accu.org/conf-previous/2008/schedule/) +- [ACCU 2007](https://accu.org/conf-previous/2007/schedule/) +- [ACCU 2006](https://accu.org/conf-previous/2006/schedule/) +- [ACCU 2005](https://accu.org/conf-previous/2005/schedule/) +- [ACCU 2004](https://accu.org/conf-previous/2004/schedule/) +- [ACCU 2003](https://accu.org/conf-previous/2003/schedule/) +- [ACCU 2002](https://accu.org/conf-previous/2002/schedule/) ## C++ Russia https://cppconf-moscow.ru/en/ | [YouTube](https://www.youtube.com/channel/UCJ9v015sPgEi0jJXe_zanjA/playlists) +- [C++ Russia 2023](https://cppconf.ru/en/) +- [C++ Russia 2022](https://cppconf.ru/en/archive/2022/) +- [C++ Russia 2021](https://cppconf.ru/en/archive/2021/) +- [C++ Russia 2020 Piter](https://cppconf.ru/en/archive/2020%20Piter/) +- [C++ Russia 2020 Moscow](https://cppconf.ru/en/archive/2020%20Moscow/) +- [C++ Russia 2019 Piter](https://cppconf.ru/en/archive/2019%20Piter/) +- [C++ Russia 2019](https://cppconf.ru/en/archive/2019/) +- [C++ Russia 2018](https://2018.cppconf-piter.ru/index-en.html) +- [C++ Russia 2017](https://www.youtube.com/playlist?list=PLZN9ZGiWZoZojYik8EdApUgPwa0YM3Yuz) +- [C++ Russia 2016](https://www.youtube.com/playlist?list=PLZN9ZGiWZoZp2olvWw-OysBHqIv2ufL3d) +- [C++ Russia 2015](https://www.youtube.com/playlist?list=PLZN9ZGiWZoZq3nObp2P8BJvsCc639tYSd) + ## Core C++ https://corecpp.org/ | [YouTube](https://www.youtube.com/channel/UCE14XYFaK1fDTnOTqlOFrrQ/) diff --git a/docs/learn/online-resources.md b/docs/learn/online-resources.md index a072eee..0cb014c 100644 --- a/docs/learn/online-resources.md +++ b/docs/learn/online-resources.md @@ -12,6 +12,8 @@ description: オンラインでアクセスできる C++ 資料の紹介 ## 英語のリファレンス - [cppreference.com](https://en.cppreference.com/w/) - [C++ Language Reference](https://docs.microsoft.com/en-us/cpp/cpp/cpp-language-reference) +- [hacking C++](https://hackingcpp.com/) + - 豊富なインフォグラフィックで C++ の機能を網羅的に解説 ## プレゼンテーション - [CEDEC 2020 | ゲーム開発者のための C++11~C++20, 将来の C++ の展望](https://speakerdeck.com/cpp/cedec2020) @@ -26,6 +28,8 @@ description: オンラインでアクセスできる C++ 資料の紹介 - [C++ Core Guidelines](http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines) | [見出し日本語訳](https://qiita.com/tetsurom/items/322c7b58cddaada861ff) - [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) | [日本語訳](https://ttsuki.github.io/styleguide/cppguide.ja.html) - [LLVM Coding Standards](https://llvm.org/docs/CodingStandards.html) +- [Safer Usage Of C++](https://docs.google.com/document/d/e/2PACX-1vRZr-HJcYmf2Y76DhewaiJOhRNpjGHCxliAQTBhFxzv1QTae9o8mhBmDl32CRIuaWZLt5kVeH9e9jXv/pub) + - Chromium チームによる、C++ の安全性を一層高めるためのガイドライン案 ## C++ 規格関連 - [C++ 規格](https://cppmap.github.io/standardization/working-drafts/) diff --git a/docs/learn/studymeetings.md b/docs/learn/studymeetings.md index 47301fb..5deb7f7 100644 --- a/docs/learn/studymeetings.md +++ b/docs/learn/studymeetings.md @@ -4,84 +4,190 @@ description: 国内で開催されている C++ 関連の勉強会イベント 国内で開催されている C++ 関連の勉強会イベントです。 -## C++ MIX ->「C++ MIX」は、C++周辺の勉強会です。 -標準C++、標準外のライブラリやツールの紹介はもちろんですが、RustやGoなどの後継言語のように、C++プログラマに知ってもらいたい話を広く扱っていきます。 -この勉強会では、発表者によるプレゼンテーションだけでなく、参加者のみなさんと議論する時間も今後用意していきたいと考えています。 -- https://cppmix.connpass.com/ -- [Youtube チャンネル](https://www.youtube.com/channel/UC3c011RjfXoU4Gj86V7sb_w) -- Twitter ハッシュタグ [#cppmix](https://twitter.com/search?q=%23cppmix) +## 大阪 C++ 読書会 +>大阪でC++に関するものを読み進める会です。 誰かが発表するといったスタイルではなく、みんなでわからないところを話し合って読んでいくスタイルの会です。 + +| | | +|------|--------| +| Connpass | [https://cpp-osaka.connpass.com/ :material-open-in-new:](https://cpp-osaka.connpass.com/){:target="_blank"} | +| Cosense | [https://scrapbox.io/cpp-osaka/ :material-open-in-new:](https://scrapbox.io/cpp-osaka/){:target="_blank"} | +| X ハッシュタグ | [#cpp読書会 :material-open-in-new:](https://x.com/search?q=%23cpp%E8%AA%AD%E6%9B%B8%E4%BC%9A&f=live){:target="_blank"} | + +- [C++ breaktime 2025/Summer :material-open-in-new:](https://cpp-osaka.connpass.com/event/356031/){:target="_blank"} + - 大阪 C++ 読書会が開催する聴講スタイルの勉強会 -### C++ MIX #7 [(2020-01-29)](https://cppmix.connpass.com/event/160166/) + +## C++ Meetup +- ウーブン・バイ・トヨタが主催する、C++ 専門家を招いたパネルディスカッション + +| 日時 | テーマ | ムービー | +|------|--------|:--:| +| 2024-03-21 | Reflection in C++26: the renaissance of C++ | [:simple-youtube:](https://www.youtube.com/watch?v=vRda0mGYg_A){:target="_blank"} | +| 2023-11-21 | Dangerous optimizations - C++ meetup | [:simple-youtube:](https://www.youtube.com/watch?v=MddV3jwqcTk){:target="_blank"} | +| 2023-06-07 | Making safer and more secure Native Applications | [:simple-youtube:](https://www.youtube.com/watch?v=rkDTgkN7FIY){:target="_blank"} | +| 2023-02-28 | C++ and Security | [:simple-youtube:](https://www.youtube.com/watch?v=mrQKfl893e8){:target="_blank"} | +| 2022-11-22 | | [:simple-youtube:](https://www.youtube.com/watch?v=FU5Tl_Zdtmw){:target="_blank"} | + + +## C++ MIX +- C++ プログラマのための勉強会 +- 発表だけでなく、参加者どうしのカジュアルな議論の時間も設けている + +| | | +|------|--------| +| Connpass | [https://cppmix.connpass.com/ :material-open-in-new:](https://cppmix.connpass.com/){:target="_blank"} | +| YouTube | [https://www.youtube.com/channel/UC3c011RjfXoU4Gj86V7sb_w :material-open-in-new:](https://www.youtube.com/channel/UC3c011RjfXoU4Gj86V7sb_w){:target="_blank"} | +| X ハッシュタグ | [#cppmix :material-open-in-new:](https://x.com/search?q=%23cppmix&f=live){:target="_blank"} | + +#### C++ MIX #16 [(2025-10-17)](https://cppmix.connpass.com/event/369191/) +| タイトル | 発表者 | ムービー | +|-----------------------------------------------------------------------------------------------------------------------|-----------------|----------| +| 勉強会と会場の説明 | Akira Takahashi | | +| [量子コンピュータのシミュレーション](https://www.docswell.com/s/gyu-don/K447N6-2025-10-17-192918) | gyu-don | | +| [プラグイン開発で学習するUnrealEngine C++(実践編)](https://www.docswell.com/s/YuukiOgino/574MN1-cppmix16-UE5Plugin) | 荻野雄季 | | +| [C++26 std::execution](https://www.docswell.com/s/yohhoy/ZQXJ2E-cpp26-execution) | yohhoy | | + +#### C++ MIX #15 [(2025-07-18)](https://cppmix.connpass.com/event/359098/) +| タイトル | 発表者 | ムービー | +|------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------| +| 勉強会と会場の説明 | Akira Takahashi | | +| [P2P通信の標準化 WebRTCを知ろう](https://speakerdeck.com/faithandbrave/p2ptong-xin-nobiao-zhun-hua-webrtcwozhi-rou) | Akira Takahashi | [:simple-youtube:](https://youtu.be/c-admz1IeWs) | +| [私の機械学習フレームワーク](https://docs.google.com/presentation/d/1SC41aBHOkCfVkjfNEMjVK6BGWWXSn1pW5bVNj_QF6pE/edit?usp=sharing) | 池田公平 | [:simple-youtube:](https://youtu.be/bSdbJZ_JW1Q) | +| [オーディオ処理入門 ボイスチェンジャーを作ろう](https://speakerdeck.com/hotwatermorning/oteiochu-li-ru-men-hoisutiensiyawozuo-rou) | hotwatermorning | [:simple-youtube:](https://youtu.be/45keX6SxxI0) | + +#### C++ MIX #14 [(2025-04-25)](https://cppmix.connpass.com/event/349703/) +| タイトル | 発表者 | ムービー | +|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------| +| 勉強会と会場の説明 | Akira Takahashi | | +| [C++26アップデート 2025-03](https://speakerdeck.com/faithandbrave/c-plus-plus-26atupudeto-2025-03) | Akira Takahashi | | +| [Data Parallel C++ と OpenVINO で iGPU, NPU の計算速度とエネルギー効率を測ってみた](https://www.slideshare.net/slideshow/data-parallel-c-openvino-igpu-npu/278404192) | 鈴木宗良 | | +| [LLM超入門 (仮)](https://github.com/ssa-study/documents/blob/master/LLM%E8%B6%85%E5%85%A5%E9%96%802025.pdf) | 池田公平 | | + +#### C++ MIX #13 [(2025-02-21)](https://cppmix.connpass.com/event/343088/) +| タイトル | 発表者 | ムービー | +|-----------------------------------------------------------------------------------------------------------------------|-----------------|----------| +| 勉強会と会場の説明 | Akira Takahashi | | +| [プラグイン開発で学習するUnrealEngine C++(概要編)](https://www.docswell.com/s/YuukiOgino/ZXEQPX-cppmix13-UE5Plugin) | 荻野雄季 | | +| [C++23ジェネレータの紹介](https://www.docswell.com/s/yohhoy/KEXQPG-cpp23gen) | yohhoy | | +| [GCCの<type_traits>最適化 (リモート発表予定)](https://drive.proton.me/urls/349KVCZH5C#2SRNr0r2aHX5) | Ken Matsui | | + +#### C++ MIX #12 [(2024-12-20)](https://cppmix.connpass.com/event/337028/) +| タイトル | 発表者 | ムービー | +|--------------------------------------------------------------------------------------------------------------------|-------------------|--------------------------------------------------| +| 勉強会と会場の説明 | Akira Takahashi | | +| [C++26から導入される「エラー性動作」を解説](https://speakerdeck.com/faithandbrave/c-plus-plus-26-eraxing-dong-zuo) | Akira Takahashi | [:simple-youtube:](https://youtu.be/7AcY_uEPK1Q) | +| [Rangeアダプタを作る](https://speakerdeck.com/tetsurom/rangeadaputawozuo-ru) | Tetsuro Matsumura | [:simple-youtube:](https://youtu.be/eFFAFuf74Eg) | +| [HTTP/3サーバ実装について](https://speakerdeck.com/yasunorihigashiyama/3) | 東山裕徳 | [:simple-youtube:](https://youtu.be/mT0eyMP7o0E) | +| [return文におけるmoveについて](https://speakerdeck.com/onihusube/returnwen-niokerustd-movenituite) | 安藤弘晃 | [:simple-youtube:](https://youtu.be/zxlCgBNeCUg) | + +#### C++ MIX #11 [(2024-06-14)](https://cppmix.connpass.com/event/319167/) +| タイトル | 発表者 | ムービー | +|------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------| +| 勉強会と会場の説明 | Akira Takahashi | | +| [コンテナと文字列の中間インタフェースspanとstring_view](https://speakerdeck.com/faithandbrave/kontenatowen-zi-lie-nozhong-jian-intahuesuspantostring-view) | Akira Takahashi | [:simple-youtube:](https://youtu.be/1uxyzeWeyhw) | +| [C++23 スタックトレースライブラリ](https://speakerdeck.com/faithandbrave/c-plus-plus-23-sutatukutoresuraiburari) | Akira Takahashi | [:simple-youtube:](https://youtu.be/zUspXaFIea4) | +| 最短 1 行、C++ と Siv3D で生成 AI 活用アプリを作る | Ryo Suzuki | [:simple-youtube:](https://youtu.be/RwkxHe_N8Vs) | +| [これってどう読むの…?](https://speakerdeck.com/5mingame2/c-plus-plus-mix-number-11-koredoudu-muno-dot-dot-dot) | 西山 信行 | [:simple-youtube:](https://youtu.be/RmaoC2es4sA) | + +#### C++ MIX #10 [(2024-04-19)](https://cppmix.connpass.com/event/311283/) +| タイトル | 発表者 | ムービー | +|------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------| +| 勉強会と会場の説明 | Akira Takahashi | | +| [x64 のスカラー,SIMD 演算性能を測ってみた](https://www.slideshare.net/slideshow/x64-simd-c-mix-10/267364631) | 鈴木 宗良 | [:simple-youtube:](https://youtu.be/AB-vf6TvAIw) | +| [Boost.Asioにおけるcoroutineの活用法](https://1drv.ms/p/c/9164139b3166c293/Edth1kidYtFJt0JLjpUDE4cB5ALYoamKTPAfnWyPTgm_iw?e=QXy9dj) | 近藤貴俊 | [:simple-youtube:](https://youtu.be/TrFfJoYklvk) | +| [if constexpr文はテンプレート世界のラムダ式である](https://speakerdeck.com/faithandbrave/if-constexprwen-hatenpuretoshi-jie-noramudashi-dearu) | Akira Takahashi | [:simple-youtube:](https://youtu.be/Wr3B7ZT4FHY) | + +#### C++ MIX #9 [(2024-02-09)](https://cppmix.connpass.com/event/305699/) +| タイトル | 発表者 | ムービー | +|-----------------------------------------------------------------------------------------------------------------|------------------|--------------------------------------------------| +| 勉強会と会場の説明 | Akira Takahashi | | +| [C++とWin32 APIを利用した中品質なリソースファイルのホットリロード](https://www.docswell.com/slide/5W1QQ4/embed) | 荻野雄季 | [:simple-youtube:](https://youtu.be/A95aFKW7DSw) | +| [C++でつくる歴史シミュレーションGIS](https://speakerdeck.com/aspjt/c-plus-plus-detukuruli-shi-simiyuresiyongis) | Hayato Kasuga | [:simple-youtube:](https://youtu.be/GyUjW8MAhLw) | +| [使いたい標準C++機能がない環境でいかに実装・設計するか](https://speakerdeck.com/faithandbrave/shi-itaibiao-zhun-c-plus-plus-ji-neng-ganaihuan-jing-deikanishi-zhuang-she-ji-suruka-55e6f70a-5ff8-46f0-9cda-d7229c5e6d65) | Akira Takahashi | [:simple-youtube:](https://youtu.be/XFKoQbsP-_8) | +| [C++ 開発が少し便利になる Visual Studio の最近の機能](https://speakerdeck.com/cpp/cppmix9) | Ryo Suzuki | [:simple-youtube:](https://youtu.be/eP-rm5_Rl7E) | + +#### C++ MIX #8 [(2023-12-06)](https://cppmix.connpass.com/event/301925/) +| タイトル | 発表者 | ムービー | +|-----------------------------------------------------------------------------------------------------------------------------|------------------|--------------------------------------------------| +| 勉強会と会場の説明 | Akira Takahashi | | +| [C++20からC++23での変化](https://speakerdeck.com/faithandbrave/c-plus-plus-20karac-plus-plus-23madenobian-hua) | Akira Takahashi | [:simple-youtube:](https://youtu.be/75HuEvqklkQ) | +| [オレオレGithub Copilotを作ろう](https://docs.google.com/presentation/d/1Euz4Fr1gMX9CchM2MbexxTIijShCChIJUzDp18349R0/edit) | Shintarou Okada | [:simple-youtube:](https://youtu.be/sd9txd65iAY) | +| [未定義動作でFizzBuzz](https://speakerdeck.com/kaityo256/undefined-fizz-buzz) | kaityo256 | [:simple-youtube:](https://youtu.be/bEDY9E5yKhc) | +| [構文解析で使えるC++のテクニック](https://docs.google.com/presentation/d/15lNgrej1hugJkMi0NZ7iGe69REon9u8FaH3xKhT_u7c/edit) | Ryosuke Hirakida | [:simple-youtube:](https://youtu.be/EIqEEZywdi4) | + +#### C++ MIX #7 [(2020-01-29)](https://cppmix.connpass.com/event/160166/) | タイトル | 発表者 | ムービー | |------------------------------------------------------|-------------------|------| | 勉強会と会場の説明 | Akira Takahashi | | -| [蛇を埋葬する](https://www.slideshare.net/ShintarouOkada/pythonembed-225851252) | Shintarou Okada | | -| [みんな大好き!using ディレクティブ!](https://speakerdeck.com/kariyamitsuru/using-directive) | Kariya Mitsuru | | -| [みんな代替トークン使とる。使てへんのお前だけ。](https://speakerdeck.com/kariyamitsuru/alternative-tokens) | Kariya Mitsuru | | -| [続・モジュール](https://www.slideshare.net/TetsuroMatsumura/introduction-to-c-modules-part-2-225829715) | Tetsuro Matsumura | | -| RustとC++を比べてみた(当社比) | いなむのみたま | | -| ディスカッション | (全員参加) | | - -### C++ MIX #6 [(2019-11-20)](https://cppmix.connpass.com/event/150527/) +| [蛇を埋葬する](https://www.slideshare.net/ShintarouOkada/pythonembed-225851252) | Shintarou Okada | [:simple-youtube:](https://youtu.be/4ldJsy9UU4o) | +| [みんな大好き!using ディレクティブ!](https://speakerdeck.com/kariyamitsuru/using-directive) | Kariya Mitsuru | [:simple-youtube:](https://youtu.be/Mv10rl9obAw) | +| [みんな代替トークン使とる。使てへんのお前だけ。](https://speakerdeck.com/kariyamitsuru/alternative-tokens) | Kariya Mitsuru | [:simple-youtube:](https://youtu.be/TGEDRbvRwfY) | +| [続・モジュール](https://www.slideshare.net/TetsuroMatsumura/introduction-to-c-modules-part-2-225829715) | Tetsuro Matsumura | [:simple-youtube:](https://youtu.be/zI0PPLucONk) | +| RustとC++を比べてみた(当社比) | いなむのみたま | [:simple-youtube:](https://youtu.be/lLb69NSx_Lk) | + +#### C++ MIX #6 [(2019-11-20)](https://cppmix.connpass.com/event/150527/) | タイトル | 発表者 | ムービー | |------------------------------------------------------|-----------------|------| | 勉強会と会場の説明 | Akira Takahashi | | -| [std::format - C++20 時代の便利な文字列フォーマット](https://www.dropbox.com/s/4gt1y5i3ogt9bvr/cppmix-C%2B%2B20Format.pdf?dl=0) | Ryo Suzuki | [:fa-play:](https://youtu.be/UGs10Unwams) | -| インターンシップでC++を使用したゲーム開発を経験した話 | がっちょ | [:fa-play:](https://youtu.be/V0ENpMzZ4OE) | -| [コンパイラのいじめ方](https://speakerdeck.com/kaityo256/how-to-fight-the-compiler) | kaityo256 | [:fa-play:](https://youtu.be/rC-YSvtRrHw) | -| [書籍『独習C++』の改訂について (仮) ](https://docs.google.com/presentation/d/1dfJ537pkSwYYRai4mktlAoHwNnqmnOUqfmQiVjDJClY/edit) | Flast | [:fa-play:](https://youtu.be/j30j7poj3J0) | -| ディスカッション | (全員参加) | | +| [std::format - C++20 時代の便利な文字列フォーマット](https://www.dropbox.com/s/4gt1y5i3ogt9bvr/cppmix-C%2B%2B20Format.pdf?dl=0) | Ryo Suzuki | [:simple-youtube:](https://youtu.be/UGs10Unwams) | +| インターンシップでC++を使用したゲーム開発を経験した話 | がっちょ | [:simple-youtube:](https://youtu.be/V0ENpMzZ4OE) | +| [コンパイラのいじめ方](https://speakerdeck.com/kaityo256/how-to-fight-the-compiler) | kaityo256 | [:simple-youtube:](https://youtu.be/rC-YSvtRrHw) | +| [書籍『独習C++』の改訂について (仮) ](https://docs.google.com/presentation/d/1dfJ537pkSwYYRai4mktlAoHwNnqmnOUqfmQiVjDJClY/edit) | Flast | [:simple-youtube:](https://youtu.be/j30j7poj3J0) | -### C++ MIX #5 [(2019-09-04)](https://cppmix.connpass.com/event/141908/) +#### C++ MIX #5 [(2019-09-04)](https://cppmix.connpass.com/event/141908/) | タイトル | 発表者 | ムービー | |-----------------------------|-----------------|------| | 勉強会と会場の説明 | Shintaro Okada | | -| [自作OS向けにlibc++をビルドする方法](https://www.slideshare.net/uchan_nos/building-libcxxformyos) | uchan | [:fa-play:](https://youtu.be/2G9My4DR_N0) | -| [C++ 製グラフィックライブラリ Skia の紹介](https://speakerdeck.com/pine/c-plus-plus-zhi-kurahuitukuraihurari-skia-falseshao-jie) | 水音ぴね | [:fa-play:](https://youtu.be/Wvx2xW3c8_w) | -| [Unreal C++ を始めてみた時の躓いたTips](https://www.slideshare.net/MakotoAdachi/cmix5) | akoto | [:fa-play:](https://youtu.be/Uy1qxTDlOA4) | -| [C++20ステータス](https://speakerdeck.com/faithandbrave/c-plus-plus-20-status) | Akira Takahashi | [:fa-play:](https://youtu.be/0xbmP9iJFRM) | -| [20分くらいでわかった気分になれるC++20コルーチン](https://www.slideshare.net/yohhoy/20c20) | yohhoy | [:fa-play:](https://youtu.be/XkZ260fgsq0) | -| ディスカッション | (全員参加) | | - +| [自作OS向けにlibc++をビルドする方法](https://www.slideshare.net/uchan_nos/building-libcxxformyos) | uchan | [:simple-youtube:](https://youtu.be/2G9My4DR_N0) | +| [C++ 製グラフィックライブラリ Skia の紹介](https://speakerdeck.com/pine/c-plus-plus-zhi-kurahuitukuraihurari-skia-falseshao-jie) | 水音ぴね | [:simple-youtube:](https://youtu.be/Wvx2xW3c8_w) | +| [Unreal C++ を始めてみた時の躓いたTips](https://www.slideshare.net/MakotoAdachi/cmix5) | akoto | [:simple-youtube:](https://youtu.be/Uy1qxTDlOA4) | +| [C++20ステータス](https://speakerdeck.com/faithandbrave/c-plus-plus-20-status) | Akira Takahashi | [:simple-youtube:](https://youtu.be/0xbmP9iJFRM) | +| [20分くらいでわかった気分になれるC++20コルーチン](https://www.slideshare.net/yohhoy/20c20) | yohhoy | [:simple-youtube:](https://youtu.be/XkZ260fgsq0) | -### C++ MIX #4 [(2019-06-26)](https://cppmix.connpass.com/event/132145/) +#### C++ MIX #4 [(2019-06-26)](https://cppmix.connpass.com/event/132145/) | タイトル | 発表者 | ムービー | |----------------------------------------------------------------------------------------------------|----------------------|------| | 勉強会と会場の説明 | Shintaro Okada | | -| [C++ でも Result したい](https://speakerdeck.com/loligothick/c-plus-plus-demorustfalseresultgashi-itai) | いなむのみたま (@mitama_rs) | [:fa-play:](https://youtu.be/_GYnVhGmenY) | -| [世界を創造する OSS 開発を始めた話](https://www.slideshare.net/Gaccho1/oss-c-mix-151965959) | がっちょ | [:fa-play:](https://youtu.be/cNEo65uGJXY) | -| [C++ で HTTP Proxy](https://www.slideshare.net/YasunoriHigashiyama/chttp-proxy) | 東山裕徳 | [:fa-play:](https://youtu.be/ldQr9meQY00) | -| [モジュールの概要](https://www.slideshare.net/TetsuroMatsumura/c20-152189285) | Tetsuro Matsumura | [:fa-play:](https://youtu.be/_UhfHhRwPQY) | +| [C++ でも Result したい](https://speakerdeck.com/loligothick/c-plus-plus-demorustfalseresultgashi-itai) | いなむのみたま (@mitama_rs) | [:simple-youtube:](https://youtu.be/_GYnVhGmenY) | +| [世界を創造する OSS 開発を始めた話](https://www.slideshare.net/Gaccho1/oss-c-mix-151965959) | がっちょ | [:simple-youtube:](https://youtu.be/cNEo65uGJXY) | +| [C++ で HTTP Proxy](https://www.slideshare.net/YasunoriHigashiyama/chttp-proxy) | 東山裕徳 | [:simple-youtube:](https://youtu.be/ldQr9meQY00) | +| [モジュールの概要](https://www.slideshare.net/TetsuroMatsumura/c20-152189285) | Tetsuro Matsumura | [:simple-youtube:](https://youtu.be/_UhfHhRwPQY) | -### C++ MIX #3 [(2019-04-17)](https://cppmix.connpass.com/event/124862/) +#### C++ MIX #3 [(2019-04-17)](https://cppmix.connpass.com/event/124862/) | タイトル | 発表者 | ムービー | |------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|----------------------------------------------------------| | 勉強会と会場の説明 | Shintaro Okada | | -| [Clangにreflection/metaclass提案っぽいものを実装してみた話](https://speakerdeck.com/hori1991/clangnireflectionti-an-tupoimofalsewoshi-zhuang-sitemitahua) | Iwahori Kodai | [:fa-play:](https://www.youtube.com/watch?v=FYZKnb8NOsA) | -| [C++ 情報サイト「C++ の歩き方 \| cppmap」を作っている話](https://www.dropbox.com/s/6zgithu4bakq58x/cppmap%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E8%A9%B1.pdf?dl=0) | Ryo Suzuki | [:fa-play:](https://www.youtube.com/watch?v=FXRzYQGM7zE) | -| [データベースとポリモーフィズムとModern C++](https://www.slideshare.net/ToshitakaAdachi/database-polymorphism-and-modern-c/) | 安達俊貴 | [:fa-play:](https://www.youtube.com/watch?v=K-xuX-HdOwY) | -| [C++20の概要 #1 言語機能編](https://www.slideshare.net/faithandbrave/cpp20-overview-language-features) | Akira Takahash | [:fa-play:](https://www.youtube.com/watch?v=JmbHiCAMX2U) | +| [Clangにreflection/metaclass提案っぽいものを実装してみた話](https://speakerdeck.com/hori1991/clangnireflectionti-an-tupoimofalsewoshi-zhuang-sitemitahua) | Iwahori Kodai | [:simple-youtube:](https://www.youtube.com/watch?v=FYZKnb8NOsA) | +| [C++ 情報サイト「C++ の歩き方 \| cppmap」を作っている話](https://www.dropbox.com/s/6zgithu4bakq58x/cppmap%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E8%A9%B1.pdf?dl=0) | Ryo Suzuki | [:simple-youtube:](https://www.youtube.com/watch?v=FXRzYQGM7zE) | +| [データベースとポリモーフィズムとModern C++](https://www.slideshare.net/ToshitakaAdachi/database-polymorphism-and-modern-c/) | 安達俊貴 | [:simple-youtube:](https://www.youtube.com/watch?v=K-xuX-HdOwY) | +| [C++20の概要 #1 言語機能編](https://www.slideshare.net/faithandbrave/cpp20-overview-language-features) | Akira Takahash | [:simple-youtube:](https://www.youtube.com/watch?v=JmbHiCAMX2U) | -### C++ MIX #2 [(2019-02-20)](https://cppmix.connpass.com/event/115640/) +#### C++ MIX #2 [(2019-02-20)](https://cppmix.connpass.com/event/115640/) | タイトル | 発表者 | ムービー | |------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|----------------------------------------------------------| -| [勉強会と会場の説明](https://www.slideshare.net/faithandbrave/cppmix-02) | Akira Takahashi | [:fa-play:](https://www.youtube.com/watch?v=yviMSUKPF24) | -| [iOSアプリ『パズモナ』のひみつ](https://speakerdeck.com/5mingame2/c-plus-plus-mix-number-2-pazumonafalsehimitu) | Nobuyuki Nishiyama | [:fa-play:](https://www.youtube.com/watch?v=bienAWHUXYA) | -| [Qt×Reactive Extensions](https://www.slideshare.net/TetsuroMatsumura/qt-reactive-extensions-ja?ref=https://cppmix.connpass.com/event/115640/presentation/) | Tetsuro Matsumura | [:fa-play:](https://www.youtube.com/watch?v=1Sb3XD8sPTI) | -| [C++のパッケージマネージャ「poac」を開発した話](https://speakerdeck.com/matken11235/poac-is-a-package-manager-for-c-plus-plus) | Ken Matsui | [:fa-play:](https://www.youtube.com/watch?v=znVZkH3PjVw) | -| 雑談タイム | | | +| [勉強会と会場の説明](https://www.slideshare.net/faithandbrave/cppmix-02) | Akira Takahashi | [:simple-youtube:](https://www.youtube.com/watch?v=yviMSUKPF24) | +| [iOSアプリ『パズモナ』のひみつ](https://speakerdeck.com/5mingame2/c-plus-plus-mix-number-2-pazumonafalsehimitu) | Nobuyuki Nishiyama | [:simple-youtube:](https://www.youtube.com/watch?v=bienAWHUXYA) | +| [Qt×Reactive Extensions](https://www.slideshare.net/TetsuroMatsumura/qt-reactive-extensions-ja?ref=https://cppmix.connpass.com/event/115640/presentation/) | Tetsuro Matsumura | [:simple-youtube:](https://www.youtube.com/watch?v=1Sb3XD8sPTI) | +| [C++のパッケージマネージャ「poac」を開発した話](https://speakerdeck.com/matken11235/poac-is-a-package-manager-for-c-plus-plus) | Ken Matsui | [:simple-youtube:](https://www.youtube.com/watch?v=znVZkH3PjVw) | -### C++ MIX #1 [(2018-12-06)](https://cppmix.connpass.com/event/107576/) +#### C++ MIX #1 [(2018-12-06)](https://cppmix.connpass.com/event/107576/) | タイトル | 発表者 | ムービー | |-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------| -| [勉強会と会場、最近のC++の説明](https://www.slideshare.net/faithandbrave/cppmix-01) | Akira Takahashi | [:fa-play:](https://www.youtube.com/watch?v=HfKNtAHMxiQ) | -| [Menohにおける C++実装 / C API / C++API](https://www.slideshare.net/ShintarouOkada/menohc-c-api-capi) | okdshin | [:fa-play:](https://www.youtube.com/watch?v=3_0p_yGv52Q) | -| [Undefined Behaviorに対する防衛術](https://speakerdeck.com/loligothick/defense-against-undefined-behavior-wei-ding-yi-dong-zuo-nidui-surufang-wei-shu) | いなむのみたま | [:fa-play:](https://www.youtube.com/watch?v=gc58TZ5m2dg) | -| [C++ を教える ~早稲田大学の小中高生向けプログラミング教室における事例紹介~](https://www.dropbox.com/s/mfhncuyo723lfai/C%2B%2B%E3%82%92%E6%95%99%E3%81%88%E3%82%8B.pdf) | Reputeless | [:fa-play:](https://www.youtube.com/watch?v=O3i6gCpZKDw) | -| [避けよう memset の乱用](https://agate-pris.gitlab.io/slides/no-more-memset/) | agate-pris | [:fa-play:](https://www.youtube.com/watch?v=IxPqx4ZOnFw) | +| [勉強会と会場、最近のC++の説明](https://www.slideshare.net/faithandbrave/cppmix-01) | Akira Takahashi | [:simple-youtube:](https://www.youtube.com/watch?v=HfKNtAHMxiQ) | +| [Menohにおける C++実装 / C API / C++API](https://www.slideshare.net/ShintarouOkada/menohc-c-api-capi) | okdshin | [:simple-youtube:](https://www.youtube.com/watch?v=3_0p_yGv52Q) | +| [Undefined Behaviorに対する防衛術](https://speakerdeck.com/loligothick/defense-against-undefined-behavior-wei-ding-yi-dong-zuo-nidui-surufang-wei-shu) | いなむのみたま | [:simple-youtube:](https://www.youtube.com/watch?v=gc58TZ5m2dg) | +| [C++ を教える ~早稲田大学の小中高生向けプログラミング教室における事例紹介~](https://www.dropbox.com/s/mfhncuyo723lfai/C%2B%2B%E3%82%92%E6%95%99%E3%81%88%E3%82%8B.pdf) | Reputeless | [:simple-youtube:](https://www.youtube.com/watch?v=O3i6gCpZKDw) | +| [避けよう memset の乱用](https://agate-pris.gitlab.io/slides/no-more-memset/) | agate-pris | [:simple-youtube:](https://www.youtube.com/watch?v=IxPqx4ZOnFw) | + + +## talk.cpp +>talk.cpp は、動画と質疑応答による発表・議論を通して、C++ ユーザどうしが知見やアイデアを共有する、参加無料の技術イベントです。完全オンラインでの実施を前提にした、新しいスタイルの発表方式を採用しています。 + +- https://talkcpp.connpass.com/ +- 発表資料: https://scrapbox.io/talkcpp/ +- Twitter ハッシュタグ [#talkcpp](https://twitter.com/search?q=%23talkcpp&f=live) ## feature.cpp @@ -139,17 +245,17 @@ description: 国内で開催されている C++ 関連の勉強会イベント | イベント番号 | 内容 | ムービー | |-------------------------------------------------------------------|------------------|-------------------------------------------| -| #11 [(2020-01-08)](https://caddi.connpass.com/event/160626/) | volatile、std::launder、PODやstandard layout型の歴史など | [:fa-play:](https://youtu.be/0d9upvmeuu4) | -| #10 [(2019-12-17)](https://caddi.connpass.com/event/158954/) | テンプレートの同一性、C++20の新機能解説 | [:fa-play:](https://youtu.be/3kZwwzdPR8M) | -| #9 [(2019-12-03)](https://caddi.connpass.com/event/157462/) | コンセプト(時間があれば、Three-way Comparison operator) | [:fa-play:](https://youtu.be/nJcWfICJwyc) | | -| #8 [(2019-11-19)](https://caddi.connpass.com/event/154653/) | C++20 の機能紹介と一時オブジェクトの寿命 | [:fa-play:](https://youtu.be/Gu9Y5t3uCZA) | -| #7 [(2019-10-29)](https://caddi.connpass.com/event/151541/) | type erasure の続きと expression templates | [:fa-play:](https://youtu.be/50J6pM5JlsU) | +| #11 [(2020-01-08)](https://caddi.connpass.com/event/160626/) | volatile、std::launder、PODやstandard layout型の歴史など | [:simple-youtube:](https://youtu.be/0d9upvmeuu4) | +| #10 [(2019-12-17)](https://caddi.connpass.com/event/158954/) | テンプレートの同一性、C++20の新機能解説 | [:simple-youtube:](https://youtu.be/3kZwwzdPR8M) | +| #9 [(2019-12-03)](https://caddi.connpass.com/event/157462/) | コンセプト(時間があれば、Three-way Comparison operator) | [:simple-youtube:](https://youtu.be/nJcWfICJwyc) | | +| #8 [(2019-11-19)](https://caddi.connpass.com/event/154653/) | C++20 の機能紹介と一時オブジェクトの寿命 | [:simple-youtube:](https://youtu.be/Gu9Y5t3uCZA) | +| #7 [(2019-10-29)](https://caddi.connpass.com/event/151541/) | type erasure の続きと expression templates | [:simple-youtube:](https://youtu.be/50J6pM5JlsU) | | #6 [(2019-10-09)](https://caddi.connpass.com/event/150414/) | 派生と継承、Type Erasure | | -| #5 [(2019-09-25)](https://caddi.connpass.com/event/147690/) | 標準変換、オーバーロード解決、テンプレートの実引数推定 | [:fa-play:](https://youtu.be/bUyUDHPk4ik) | -| #4 [(2019-09-11)](https://caddi.connpass.com/event/146851/) | C++ 標準規格の用語解説 | [:fa-play:](https://youtu.be/OYBLK4Lwudw) | +| #5 [(2019-09-25)](https://caddi.connpass.com/event/147690/) | 標準変換、オーバーロード解決、テンプレートの実引数推定 | [:simple-youtube:](https://youtu.be/bUyUDHPk4ik) | +| #4 [(2019-09-11)](https://caddi.connpass.com/event/146851/) | C++ 標準規格の用語解説 | [:simple-youtube:](https://youtu.be/OYBLK4Lwudw) | | #3 [(2019-08-30)](https://caddi.connpass.com/event/145070/) | メタプログラミング | | -| #2 [(2019-08-21)](https://caddi.connpass.com/event/142476/) | テンプレート基礎 | [:fa-play:](https://youtu.be/fz8ahXzOUNE) | -| #1 [(2019-07-30)](https://caddi.connpass.com/event/140080/) | ポインターについて | [:fa-play:](https://youtu.be/d9VgUHghlog) | +| #2 [(2019-08-21)](https://caddi.connpass.com/event/142476/) | テンプレート基礎 | [:simple-youtube:](https://youtu.be/fz8ahXzOUNE) | +| #1 [(2019-07-30)](https://caddi.connpass.com/event/140080/) | ポインターについて | [:simple-youtube:](https://youtu.be/d9VgUHghlog) | ## 札幌 C++ 勉強会 @@ -159,12 +265,6 @@ description: 国内で開催されている C++ 関連の勉強会イベント - [札幌C++勉強会/もくもく会](https://sapporocpp-mokumoku.connpass.com/) -## 大阪 C++ 読書会 ->大阪でC++に関するものを読み進める会です。 誰かが発表するといったスタイルではなく、みんなでわからないところを話し合って読んでいくスタイルの会です。 - -- https://cpp-osaka.connpass.com/ - - ## Boost. 勉強会 >Boost C++ Librariesという、C++の有名なライブラリ群を中心とした、C++全般の勉強会です。 Boostに限らず、C++全般の話、QtやOpenCVのような他のライブラリ、自分が作ったプログラムの紹介、その他C++プログラマに知っておいてもらいたいことの紹介(データ構造やアルゴリズム、イディオム、プログラムの設計やデザインパターン、他の言語での考え方やアプローチ)など、幅広いテーマを扱っています。 diff --git a/docs/libraries/boost.md b/docs/libraries/boost.md index 6c740b7..893631c 100644 --- a/docs/libraries/boost.md +++ b/docs/libraries/boost.md @@ -2,61 +2,74 @@ description: Boost C++ Libraries のバージョン履歴 # Boost -| バージョン / リリースノート | リリース日 | 新しく追加されたライブラリ | +| リリースノート | リリース日 | 新しく追加されたライブラリ | |------------------------------------------------------------------------------------------------------------------------------------|------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [1.75.0](https://www.boost.org/users/history/version_1_75_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_75_0.html) | 2020-12-11 | [JSON](https://www.boost.org/libs/json/), [LEAF](https://www.boost.org/libs/leaf/), [PFR](https://www.boost.org/libs/pfr/) | -| [1.74.0](https://www.boost.org/users/history/version_1_74_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_74_0.html) | 2020-08-14 | [STLInterfaces](https://www.boost.org/libs/stl_interfaces/) | -| [1.73.0](https://www.boost.org/users/history/version_1_73_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_73_0.html) | 2020-04-28 | [Nowide](https://www.boost.org/libs/nowide/), [StaticString](https://www.boost.org/libs/static_string/) | -| [1.72.0](https://www.boost.org/users/history/version_1_72_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_72_0.html) | 2019-12-11 | | -| [1.71.0](https://www.boost.org/users/history/version_1_71_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_71_0.html) | 2019-08-19 | [Variant2](https://www.boost.org/libs/variant2/) | -| [1.70.0](https://www.boost.org/users/history/version_1_70_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_70_0.html) | 2019-04-12 | [Outcome](https://www.boost.org/libs/outcome/), [Histogram](https://www.boost.org/libs/histogram/) | -| [1.69.0](https://www.boost.org/users/history/version_1_69_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_69_0.html) | 2018-12-12 | [Safe Numerics](https://www.boost.org/libs/safe_numerics/) | -| [1.68.0](https://www.boost.org/users/history/version_1_68_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_68_0.html) | 2018-08-09 | [YAP](https://www.boost.org/libs/yap/) | -| [1.67.0](https://www.boost.org/users/history/version_1_67_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_67_0.html) | 2018-04-14 | [Contract](https://www.boost.org/libs/contract/), [HOF](https://www.boost.org/libs/hof/) | -| [1.66.0](https://www.boost.org/users/history/version_1_66_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_66_0.html) | 2017-12-18 | [Beast](https://www.boost.org/libs/beast/), [CallableTraits](https://www.boost.org/libs/callable_traits/), [Mp11](https://www.boost.org/libs/mp11/) | -| [1.65.1](https://www.boost.org/users/history/version_1_65_1.html) / [日本語訳](https://boostjp.github.io/document/version/1_65_1.html) | 2017-09-07 | | -| [1.65.0](https://www.boost.org/users/history/version_1_65_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_65_0.html) | 2017-08-21 | [PolyCollection](https://www.boost.org/libs/poly_collection/), [Stacktrace](https://www.boost.org/libs/stacktrace/) | -| [1.64.0](https://www.boost.org/users/history/version_1_64_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_64_0.html) | 2017-04-19 | [Process](https://www.boost.org/libs/process/) | -| [1.63.0](https://www.boost.org/users/history/version_1_63_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_63_0.html) | 2016-12-26 | | -| [1.62.0](https://www.boost.org/users/history/version_1_62_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_62_0.html) | 2016-09-28 | [Fiber](https://www.boost.org/libs/fiber/), [QVM](https://www.boost.org/libs/qvm/doc/index.html) | -| [1.61.0](https://www.boost.org/users/history/version_1_61_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_61_0.html) | 2016-05-13 | [Compute](https://www.boost.org/libs/compute/), [DLL](https://www.boost.org/libs/dll/), [Hana](https://www.boost.org/libs/hana/), [Metaparse](https://www.boost.org/libs/metaparse/) | -| [1.60.0](https://www.boost.org/users/history/version_1_60_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_60_0.html) | 2015-12-17 | [VMD](https://www.boost.org/libs/vmd/) | -| [1.59.0](https://www.boost.org/users/history/version_1_59_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_59_0.html) | 2015-08-13 | [Convert](https://www.boost.org/libs/convert/), [Coroutine2](https://www.boost.org/libs/coroutine2/) | -| [1.58.0](https://www.boost.org/users/history/version_1_58_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_58_0.html) | 2015-04-17 | [Endian](https://www.boost.org/libs/endian), [Sort](https://www.boost.org/libs/sort/) | -| [1.57.0](https://www.boost.org/users/history/version_1_57_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_57_0.html) | 2014-11-03 | | -| [1.56.0](https://www.boost.org/users/history/version_1_56_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_56_0.html) | 2014-08-07 | [Align](https://www.boost.org/libs/align/), [Type_Index](https://www.boost.org/libs/type_index/) | -| [1.55.0](https://www.boost.org/users/history/version_1_55_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_55_0.html) | 2013-11-11 | [Predef](https://www.boost.org/libs/predef/) | -| [1.54.0](https://www.boost.org/users/history/version_1_54_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_54_0.html) | 2013-07-01 | [Log](https://www.boost.org/libs/log/), [TTI](https://www.boost.org/libs/tti/), [Type Erasure](https://www.boost.org/libs/type_erasure/) | -| [1.53.0](https://www.boost.org/users/history/version_1_53_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_53_0.html) | 2013-02-04 | [Atomic](https://www.boost.org/libs/atomic/), [Coroutine](https://www.boost.org/libs/coroutine/), [Lockfree](https://www.boost.org/libs/lockfree/), [Multiprecision](https://www.boost.org/libs/multiprecision/), [Odeint](https://www.boost.org/libs/numeric/odeint/) | -| [1.52.0](https://www.boost.org/users/history/version_1_52_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_52_0.html) | 2012-11-05 | | -| [1.51.0](https://www.boost.org/users/history/version_1_51_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_51_0.html) | 2012-08-20 | [Context](https://www.boost.org/libs/context/) | -| [1.50.0](https://www.boost.org/users/history/version_1_50_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_50_0.html) | 2012-06-28 | [Algorithm](https://www.boost.org/libs/algorithm/), [Functional/OverloadedFunction](https://www.boost.org/libs/functional/overloaded_function/),
[LocalFunction](https://www.boost.org/libs/local_function/), [Utility/IdentityType](https://www.boost.org/libs/utility/identity_type/) | -| [1.49.0](https://www.boost.org/users/history/version_1_49_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_49_0.html) | 2012-02-24 | [Heap](https://www.boost.org/libs/heap/index.html) | -| [1.48.0](https://www.boost.org/users/history/version_1_48_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_48_0.html) | 2011-11-15 | [Container](https://www.boost.org/libs/container/index.html), [Locale](https://www.boost.org/libs/locale/index.html), [Move](https://www.boost.org/doc/html/move.html) | -| [1.47.0](https://www.boost.org/users/history/version_1_47_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_47_0.html) | 2011-07-11 | [Chrono](https://www.boost.org/libs/chrono/index.html), [Geometry](https://www.boost.org/libs/geometry/index.html), [Phoenix](https://www.boost.org/libs/phoenix/index.html), [Ratio](https://www.boost.org/libs/ratio/index.html) | -| [1.46.1](https://www.boost.org/users/history/version_1_46_1.html) / [日本語訳](https://boostjp.github.io/document/version/1_46_1.html) | 2011-03-12 | | -| [1.46.0](https://www.boost.org/users/history/version_1_46_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_46_0.html) | 2011-02-21 | [Icl](https://www.boost.org/libs/icl/index.html) | -| [1.45.0](https://www.boost.org/users/history/version_1_45_0.html) / [日本語訳](https://boostjp.github.io/document/version/1_45_0.html) | 2010-11-19 | | -| [1.44.0](https://www.boost.org/users/history/version_1_44_0.html) | 2010-08-13 | [Meta State Machine](https://www.boost.org/libs/msm/index.html), [Polygon](https://www.boost.org/libs/polygon/index.html) | -| [1.43.0](https://www.boost.org/users/history/version_1_43_0.html) | 2010-05-06 | [Functional/factory](https://www.boost.org/libs/functional/factory/index.html), [Functional/forward](https://www.boost.org/libs/functional/forward/index.html) | -| [1.42.0](https://www.boost.org/users/history/version_1_42_0.html) | 2010-02-02 | [Uuid](https://www.boost.org/libs/uuid/index.html) | -| [1.41.0](https://www.boost.org/users/history/version_1_41_0.html) | 2009-11-17 | [Property Tree](https://www.boost.org/libs/property_tree/index.html) | -| [1.40.0](https://www.boost.org/users/history/version_1_40_0.html) | 2009-08-27 | | -| [1.39.0](https://www.boost.org/users/history/version_1_39_0.html) | 2009-05-02 | [Signals2](https://www.boost.org/libs/signals2/index.html) | -| [1.38.0](https://www.boost.org/users/history/version_1_38_0.html) | 2009-02-08 | [Flyweight](https://www.boost.org/libs/flyweight/index.html), [ScopeExit](https://www.boost.org/libs/scope_exit/doc/html/index.html), [Swap](https://www.boost.org/libs/utility/swap.html) | -| [1.37.0](https://www.boost.org/users/history/version_1_37_0.html) | 2008-11-03 | [Proto](https://www.boost.org/libs/proto/index.html) | -| [1.36.0](https://www.boost.org/users/history/version_1_36_0.html) | 2008-08-14 | [Accumulators](https://www.boost.org/libs/accumulators/index.html), [Exception](https://www.boost.org/libs/exception/doc/boost-exception.html), [Units](https://www.boost.org/libs/units/index.html), [Unordered](https://www.boost.org/libs/unordered/index.html) | -| [1.35.0](https://www.boost.org/users/history/version_1_35_0.html) | 2008-03-29 | [Asio](https://www.boost.org/libs/asio/index.html), [Bimap](https://www.boost.org/libs/bimap/index.html), [Circular Buffer](https://www.boost.org/libs/circular_buffer/index.html), [Function Types](https://www.boost.org/libs/function_types/index.html), [Fusion](https://www.boost.org/libs/fusion/index.html),
[GIL](https://www.boost.org/libs/gil/doc/index.html), [Interprocess](https://www.boost.org/libs/interprocess/index.html), [Intrusive](https://www.boost.org/libs/intrusive/index.html), [Math/Special Functions](https://www.boost.org/libs/math/doc/sf_and_dist/html/index.html),
[Math/Statistical Distributions](https://www.boost.org/libs/math/doc/sf_and_dist/html/index.html), [MPI](https://www.boost.org/doc/html/mpi.html), [System](https://www.boost.org/libs/system/index.html) | -| [1.34.1](https://www.boost.org/users/history/version_1_34_1.html) | 2007-07-24 | | -| [1.34.0](https://www.boost.org/users/history/version_1_34_0.html) | 2007-05-12 | [Foreach](https://www.boost.org/libs/foreach/index.html), [Statechart](https://www.boost.org/libs/statechart/index.html), [TR1 (removed)](https://www.boost.org/doc/libs/1_64_0/doc/html/boost_tr1.html), [Typeof](https://www.boost.org/libs/typeof/index.html), [Xpressive](https://www.boost.org/libs/xpressive/index.html) | -| [1.33.1](https://www.boost.org/users/history/version_1_33_1.html) | 2006-12-05 | | -| [1.33.0](https://www.boost.org/users/history/version_1_33_0.html) | 2005-08-11 | [Iostreams](https://www.boost.org/libs/iostreams/index.html), [Functional/Hash](https://www.boost.org/doc/html/hash.html), [Parameter](https://www.boost.org/libs/parameter/index.html), [Pointer Container](https://www.boost.org/libs/ptr_container/index.html), [Wave](https://www.boost.org/libs/wave/index.html) | -| [1.32.0](https://www.boost.org/users/history/version_1_32_0.html) | 2004-11-19 | [Assignment](https://www.boost.org/libs/assign/index.html), [Minmax](https://www.boost.org/libs/algorithm/minmax/index.html), [Multi-index Containers](https://www.boost.org/libs/multi_index/index.html),
[Numeric Conversion](https://www.boost.org/libs/numeric/conversion/index.html), [Program Options](https://www.boost.org/libs/program_options/index.html), [Range](https://www.boost.org/libs/range/index.html), [Serialization](https://www.boost.org/libs/serialization/index.html),
[String Algorithms](https://www.boost.org/doc/html/string_algo.html), [Tribool](https://www.boost.org/doc/html/boost/logic/tribool.html) | -| [1.31.0](https://www.boost.org/users/history/version_1_31_0.html) | 2004-01-26 | [enable_if](https://www.boost.org/libs/core/doc/html/core/enable_if.html), [Variant](https://www.boost.org/libs/variant/index.html) | -| [1.30.2](https://www.boost.org/users/history/version_1_30_2.html) | 2003-08-19 | | -| [1.30.1](https://www.boost.org/users/history/version_1_30_1.html) | 2003-08-04 | | -| [1.30.0](https://www.boost.org/users/history/version_1_30_0.html) | 2003-03-19 | [Filesystem](https://www.boost.org/libs/filesystem/index.html), [Optional](https://www.boost.org/libs/optional/doc/html/index.html), [Interval](https://www.boost.org/libs/numeric/interval/index.html), [MPL](https://www.boost.org/libs/mpl/index.html), [Spirit](https://www.boost.org/libs/spirit/index.html) | -| [1.29.0](https://www.boost.org/users/history/version_1_29_0.html) | 2002-10-10 | [Date-Time](https://www.boost.org/libs/date_time/doc/index.html), [Dynamic Bitset](https://www.boost.org/libs/dynamic_bitset/dynamic_bitset.html), [Format](https://www.boost.org/libs/format/index.html) | +| [1.88.0](https://www.boost.org/releases/1.88.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_88_0.html){:target="_blank"} | 2025-04-03 | [Hash2](https://www.boost.org/libs/hash2/){:target="_blank"}, [MQTT5](https://www.boost.org/libs/mqtt5/){:target="_blank"} | +| [1.87.0](https://www.boost.org/releases/1.87.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_87_0.html){:target="_blank"} | 2024-12-12 | [Parser](https://www.boost.org/libs/parser/){:target="_blank"} | +| [1.86.0](https://www.boost.org/releases/1.86.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_86_0.html){:target="_blank"} | 2024-08-07 | | +| [1.85.0](https://www.boost.org/releases/1.85.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_85_0.html){:target="_blank"} | 2024-04-11 | [Charconv](https://www.boost.org/libs/charconv/){:target="_blank"}, [Scope](https://www.boost.org/libs/scope/){:target="_blank"} | +| [1.84.0](https://www.boost.org/releases/1.84.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_84_0.html){:target="_blank"} | 2023-12-06 | [Cobalt](https://www.boost.org/libs/cobalt/){:target="_blank"}, [Redis](https://www.boost.org/libs/redis/){:target="_blank"} | +| [1.83.0](https://www.boost.org/releases/1.83.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_83_0.html){:target="_blank"} | 2023-08-11 | [Compat](https://www.boost.org/libs/compat/){:target="_blank"} | +| [1.82.0](https://www.boost.org/releases/1.82.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_82_0.html){:target="_blank"} | 2023-04-14 | [Mysql](https://www.boost.org/libs/mysql/){:target="_blank"} | +| [1.81.0](https://www.boost.org/releases/1.81.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_81_0.html){:target="_blank"} | 2022-12-14 | [URL](https://www.boost.org/libs/url/){:target="_blank"} | +| [1.80.0](https://www.boost.org/releases/1.80.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_80_0.html){:target="_blank"} | 2022-08-03 | | +| [1.79.0](https://www.boost.org/releases/1.79.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_79_0.html){:target="_blank"} | 2022-04-13 | | +| [1.78.0](https://www.boost.org/releases/1.78.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_78_0.html){:target="_blank"} | 2021-12-08 | | +| [1.77.0](https://www.boost.org/releases/1.77.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_77_0.html){:target="_blank"} | 2021-08-11 | [Describe](https://www.boost.org/libs/describe/){:target="_blank"}, [Lambda2](https://www.boost.org/libs/lambda2/){:target="_blank"} | +| [1.76.0](https://www.boost.org/releases/1.76.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_76_0.html){:target="_blank"} | 2021-04-16 | | +| [1.75.0](https://www.boost.org/releases/1.75.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_75_0.html){:target="_blank"} | 2020-12-11 | [JSON](https://www.boost.org/libs/json/){:target="_blank"}, [LEAF](https://www.boost.org/libs/leaf/){:target="_blank"}, [PFR](https://www.boost.org/libs/pfr/){:target="_blank"} | +| [1.74.0](https://www.boost.org/releases/1.74.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_74_0.html){:target="_blank"} | 2020-08-14 | [STLInterfaces](https://www.boost.org/libs/stl_interfaces/){:target="_blank"} | +| [1.73.0](https://www.boost.org/releases/1.73.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_73_0.html){:target="_blank"} | 2020-04-28 | [Nowide](https://www.boost.org/libs/nowide/){:target="_blank"}, [StaticString](https://www.boost.org/libs/static_string/){:target="_blank"} | +| [1.72.0](https://www.boost.org/releases/1.72.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_72_0.html){:target="_blank"} | 2019-12-11 | | +| [1.71.0](https://www.boost.org/releases/1.71.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_71_0.html){:target="_blank"} | 2019-08-19 | [Variant2](https://www.boost.org/libs/variant2/){:target="_blank"} | +| [1.70.0](https://www.boost.org/releases/1.70.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_70_0.html){:target="_blank"} | 2019-04-12 | [Outcome](https://www.boost.org/libs/outcome/){:target="_blank"}, [Histogram](https://www.boost.org/libs/histogram/){:target="_blank"} | +| [1.69.0](https://www.boost.org/releases/1.69.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_69_0.html){:target="_blank"} | 2018-12-12 | [Safe Numerics](https://www.boost.org/libs/safe_numerics/){:target="_blank"} | +| [1.68.0](https://www.boost.org/releases/1.68.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_68_0.html){:target="_blank"} | 2018-08-09 | [YAP](https://www.boost.org/libs/yap/){:target="_blank"} | +| [1.67.0](https://www.boost.org/releases/1.67.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_67_0.html){:target="_blank"} | 2018-04-14 | [Contract](https://www.boost.org/libs/contract/){:target="_blank"}, [HOF](https://www.boost.org/libs/hof/){:target="_blank"} | +| [1.66.0](https://www.boost.org/releases/1.66.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_66_0.html){:target="_blank"} | 2017-12-18 | [Beast](https://www.boost.org/libs/beast/){:target="_blank"}, [CallableTraits](https://www.boost.org/libs/callable_traits/){:target="_blank"}, [Mp11](https://www.boost.org/libs/mp11/){:target="_blank"} | +| [1.65.1](https://www.boost.org/releases/1.65.1/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_65_1.html){:target="_blank"} | 2017-09-07 | | +| [1.65.0](https://www.boost.org/releases/1.65.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_65_0.html){:target="_blank"} | 2017-08-21 | [PolyCollection](https://www.boost.org/libs/poly_collection/){:target="_blank"}, [Stacktrace](https://www.boost.org/libs/stacktrace/){:target="_blank"} | +| [1.64.0](https://www.boost.org/releases/1.64.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_64_0.html){:target="_blank"} | 2017-04-19 | [Process](https://www.boost.org/libs/process/){:target="_blank"} | +| [1.63.0](https://www.boost.org/releases/1.63.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_63_0.html){:target="_blank"} | 2016-12-26 | | +| [1.62.0](https://www.boost.org/releases/1.62.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_62_0.html){:target="_blank"} | 2016-09-28 | [Fiber](https://www.boost.org/libs/fiber/){:target="_blank"}, [QVM](https://www.boost.org/libs/qvm/doc/index.html){:target="_blank"} | +| [1.61.0](https://www.boost.org/releases/1.61.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_61_0.html){:target="_blank"} | 2016-05-13 | [Compute](https://www.boost.org/libs/compute/){:target="_blank"}, [DLL](https://www.boost.org/libs/dll/){:target="_blank"}, [Hana](https://www.boost.org/libs/hana/){:target="_blank"}, [Metaparse](https://www.boost.org/libs/metaparse/){:target="_blank"} | +| [1.60.0](https://www.boost.org/releases/1.60.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_60_0.html){:target="_blank"} | 2015-12-17 | [VMD](https://www.boost.org/libs/vmd/){:target="_blank"} | +| [1.59.0](https://www.boost.org/releases/1.59.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_59_0.html){:target="_blank"} | 2015-08-13 | [Convert](https://www.boost.org/libs/convert/){:target="_blank"}, [Coroutine2](https://www.boost.org/libs/coroutine2/){:target="_blank"} | +| [1.58.0](https://www.boost.org/releases/1.58.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_58_0.html){:target="_blank"} | 2015-04-17 | [Endian](https://www.boost.org/libs/endian), [Sort](https://www.boost.org/libs/sort/){:target="_blank"} | +| [1.57.0](https://www.boost.org/releases/1.57.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_57_0.html){:target="_blank"} | 2014-11-03 | | +| [1.56.0](https://www.boost.org/releases/1.56.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_56_0.html){:target="_blank"} | 2014-08-07 | [Align](https://www.boost.org/libs/align/){:target="_blank"}, [Type_Index](https://www.boost.org/libs/type_index/){:target="_blank"} | +| [1.55.0](https://www.boost.org/releases/1.55.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_55_0.html){:target="_blank"} | 2013-11-11 | [Predef](https://www.boost.org/libs/predef/){:target="_blank"} | +| [1.54.0](https://www.boost.org/releases/1.54.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_54_0.html){:target="_blank"} | 2013-07-01 | [Log](https://www.boost.org/libs/log/){:target="_blank"}, [TTI](https://www.boost.org/libs/tti/){:target="_blank"}, [Type Erasure](https://www.boost.org/libs/type_erasure/){:target="_blank"} | +| [1.53.0](https://www.boost.org/releases/1.53.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_53_0.html){:target="_blank"} | 2013-02-04 | [Atomic](https://www.boost.org/libs/atomic/){:target="_blank"}, [Coroutine](https://www.boost.org/libs/coroutine/){:target="_blank"}, [Lockfree](https://www.boost.org/libs/lockfree/){:target="_blank"}, [Multiprecision](https://www.boost.org/libs/multiprecision/){:target="_blank"}, [Odeint](https://www.boost.org/libs/numeric/odeint/){:target="_blank"} | +| [1.52.0](https://www.boost.org/releases/1.52.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_52_0.html){:target="_blank"} | 2012-11-05 | | +| [1.51.0](https://www.boost.org/releases/1.51.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_51_0.html){:target="_blank"} | 2012-08-20 | [Context](https://www.boost.org/libs/context/){:target="_blank"} | +| [1.50.0](https://www.boost.org/releases/1.50.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_50_0.html){:target="_blank"} | 2012-06-28 | [Algorithm](https://www.boost.org/libs/algorithm/){:target="_blank"}, [Functional/OverloadedFunction](https://www.boost.org/libs/functional/overloaded_function/){:target="_blank"},
[LocalFunction](https://www.boost.org/libs/local_function/){:target="_blank"}, [Utility/IdentityType](https://www.boost.org/libs/utility/identity_type/){:target="_blank"} | +| [1.49.0](https://www.boost.org/releases/1.49.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_49_0.html){:target="_blank"} | 2012-02-24 | [Heap](https://www.boost.org/libs/heap/index.html){:target="_blank"} | +| [1.48.0](https://www.boost.org/releases/1.48.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_48_0.html){:target="_blank"} | 2011-11-15 | [Container](https://www.boost.org/libs/container/index.html){:target="_blank"}, [Locale](https://www.boost.org/libs/locale/index.html){:target="_blank"}, [Move](https://www.boost.org/doc/html/move.html){:target="_blank"} | +| [1.47.0](https://www.boost.org/releases/1.47.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_47_0.html){:target="_blank"} | 2011-07-11 | [Chrono](https://www.boost.org/libs/chrono/index.html){:target="_blank"}, [Geometry](https://www.boost.org/libs/geometry/index.html){:target="_blank"}, [Phoenix](https://www.boost.org/libs/phoenix/index.html){:target="_blank"}, [Ratio](https://www.boost.org/libs/ratio/index.html){:target="_blank"} | +| [1.46.1](https://www.boost.org/releases/1.46.1/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_46_1.html){:target="_blank"} | 2011-03-12 | | +| [1.46.0](https://www.boost.org/releases/1.46.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_46_0.html){:target="_blank"} | 2011-02-21 | [Icl](https://www.boost.org/libs/icl/index.html){:target="_blank"} | +| [1.45.0](https://www.boost.org/releases/1.45.0/){:target="_blank"} / [日本語訳](https://boostjp.github.io/document/version/1_45_0.html){:target="_blank"} | 2010-11-19 | | +| [1.44.0](https://www.boost.org/releases/1.44.0/){:target="_blank"} | 2010-08-13 | [Meta State Machine](https://www.boost.org/libs/msm/index.html){:target="_blank"}, [Polygon](https://www.boost.org/libs/polygon/index.html){:target="_blank"} | +| [1.43.0](https://www.boost.org/releases/1.43.0/){:target="_blank"} | 2010-05-06 | [Functional/factory](https://www.boost.org/libs/functional/factory/index.html){:target="_blank"}, [Functional/forward](https://www.boost.org/libs/functional/forward/index.html){:target="_blank"} | +| [1.42.0](https://www.boost.org/releases/1.42.0/){:target="_blank"} | 2010-02-02 | [Uuid](https://www.boost.org/libs/uuid/index.html){:target="_blank"} | +| [1.41.0](https://www.boost.org/releases/1.41.0/){:target="_blank"} | 2009-11-17 | [Property Tree](https://www.boost.org/libs/property_tree/index.html){:target="_blank"} | +| [1.40.0](https://www.boost.org/releases/1.40.0/){:target="_blank"} | 2009-08-27 | | +| [1.39.0](https://www.boost.org/releases/1.39.0/){:target="_blank"} | 2009-05-02 | [Signals2](https://www.boost.org/libs/signals2/index.html){:target="_blank"} | +| [1.38.0](https://www.boost.org/releases/1.38.0/){:target="_blank"} | 2009-02-08 | [Flyweight](https://www.boost.org/libs/flyweight/index.html){:target="_blank"}, [ScopeExit](https://www.boost.org/libs/scope_exit/doc/html/index.html){:target="_blank"}, [Swap](https://www.boost.org/libs/utility/swap.html){:target="_blank"} | +| [1.37.0](https://www.boost.org/releases/1.37.0/){:target="_blank"} | 2008-11-03 | [Proto](https://www.boost.org/libs/proto/index.html){:target="_blank"} | +| [1.36.0](https://www.boost.org/releases/1.36.0/){:target="_blank"} | 2008-08-14 | [Accumulators](https://www.boost.org/libs/accumulators/index.html){:target="_blank"}, [Exception](https://www.boost.org/libs/exception/doc/boost-exception.html){:target="_blank"}, [Units](https://www.boost.org/libs/units/index.html){:target="_blank"}, [Unordered](https://www.boost.org/libs/unordered/index.html){:target="_blank"} | +| [1.35.0](https://www.boost.org/releases/1.35.0/){:target="_blank"} | 2008-03-29 | [Asio](https://www.boost.org/libs/asio/index.html){:target="_blank"}, [Bimap](https://www.boost.org/libs/bimap/index.html){:target="_blank"}, [Circular Buffer](https://www.boost.org/libs/circular_buffer/index.html){:target="_blank"}, [Function Types](https://www.boost.org/libs/function_types/index.html){:target="_blank"}, [Fusion](https://www.boost.org/libs/fusion/index.html){:target="_blank"},
[GIL](https://www.boost.org/libs/gil/doc/index.html){:target="_blank"}, [Interprocess](https://www.boost.org/libs/interprocess/index.html){:target="_blank"}, [Intrusive](https://www.boost.org/libs/intrusive/index.html){:target="_blank"}, [Math/Special Functions](https://www.boost.org/libs/math/doc/sf_and_dist/html/index.html){:target="_blank"},
[Math/Statistical Distributions](https://www.boost.org/libs/math/doc/sf_and_dist/html/index.html){:target="_blank"}, [MPI](https://www.boost.org/doc/html/mpi.html){:target="_blank"}, [System](https://www.boost.org/libs/system/index.html){:target="_blank"} | +| [1.34.1](https://www.boost.org/releases/1.34.1/){:target="_blank"} | 2007-07-24 | | +| [1.34.0](https://www.boost.org/releases/1.34.0/){:target="_blank"} | 2007-05-12 | [Foreach](https://www.boost.org/libs/foreach/index.html){:target="_blank"}, [Statechart](https://www.boost.org/libs/statechart/index.html){:target="_blank"}, [TR1 (removed)](https://www.boost.org/doc/libs/1_64_0/doc/html/boost_tr1.html){:target="_blank"}, [Typeof](https://www.boost.org/libs/typeof/index.html){:target="_blank"}, [Xpressive](https://www.boost.org/libs/xpressive/index.html){:target="_blank"} | +| [1.33.1](https://www.boost.org/releases/1.33.1/){:target="_blank"} | 2006-12-05 | | +| [1.33.0](https://www.boost.org/releases/1.33.0/){:target="_blank"} | 2005-08-11 | [Iostreams](https://www.boost.org/libs/iostreams/index.html){:target="_blank"}, [Functional/Hash](https://www.boost.org/doc/html/hash.html){:target="_blank"}, [Parameter](https://www.boost.org/libs/parameter/index.html){:target="_blank"}, [Pointer Container](https://www.boost.org/libs/ptr_container/index.html){:target="_blank"}, [Wave](https://www.boost.org/libs/wave/index.html){:target="_blank"} | +| [1.32.0](https://www.boost.org/releases/1.32.0/){:target="_blank"} | 2004-11-19 | [Assignment](https://www.boost.org/libs/assign/index.html){:target="_blank"}, [Minmax](https://www.boost.org/libs/algorithm/minmax/index.html){:target="_blank"}, [Multi-index Containers](https://www.boost.org/libs/multi_index/index.html){:target="_blank"},
[Numeric Conversion](https://www.boost.org/libs/numeric/conversion/index.html){:target="_blank"}, [Program Options](https://www.boost.org/libs/program_options/index.html){:target="_blank"}, [Range](https://www.boost.org/libs/range/index.html){:target="_blank"}, [Serialization](https://www.boost.org/libs/serialization/index.html){:target="_blank"},
[String Algorithms](https://www.boost.org/doc/html/string_algo.html){:target="_blank"}, [Tribool](https://www.boost.org/doc/html/boost/logic/tribool.html){:target="_blank"} | +| [1.31.0](https://www.boost.org/releases/1.31.0/){:target="_blank"} | 2004-01-26 | [enable_if](https://www.boost.org/libs/core/doc/html/core/enable_if.html){:target="_blank"}, [Variant](https://www.boost.org/libs/variant/index.html){:target="_blank"} | +| [1.30.2](https://www.boost.org/releases/1.30.2/){:target="_blank"} | 2003-08-19 | | +| [1.30.1](https://www.boost.org/releases/1.30.1/){:target="_blank"} | 2003-08-04 | | +| [1.30.0](https://www.boost.org/releases/1.30.0/){:target="_blank"} | 2003-03-19 | [Filesystem](https://www.boost.org/libs/filesystem/index.html){:target="_blank"}, [Optional](https://www.boost.org/libs/optional/doc/html/index.html){:target="_blank"}, [Interval](https://www.boost.org/libs/numeric/interval/index.html){:target="_blank"}, [MPL](https://www.boost.org/libs/mpl/index.html){:target="_blank"}, [Spirit](https://www.boost.org/libs/spirit/index.html){:target="_blank"} | +| [1.29.0](https://www.boost.org/releases/1.29.0/){:target="_blank"} | 2002-10-10 | [Date-Time](https://www.boost.org/libs/date_time/doc/index.html){:target="_blank"}, [Dynamic Bitset](https://www.boost.org/libs/dynamic_bitset/dynamic_bitset.html){:target="_blank"}, [Format](https://www.boost.org/libs/format/index.html){:target="_blank"} | | … | … | … | ## 参考文献 diff --git a/docs/standardization/cpp20.md b/docs/standardization/cpp20.md index 2044b4e..af3ad43 100644 --- a/docs/standardization/cpp20.md +++ b/docs/standardization/cpp20.md @@ -147,66 +147,69 @@ int main() ### 型名であることが明らかな文脈で `typename` を省略可能に [(P0634R3)](https://wg21.link/P0634R3) C++17 で依存名が型である場合に `typename` を付けないのは、派生クラス定義時の基底クラスの指定と、初期化子リストでの基底クラスの指定のみでした(厳密にはこの 2 つには `typename` を付けられません)。C++20 では、型名しか使えないさらにいくつかの文脈で `typename` が省略可能になります。次のサンプルコードの左右タブで比較できます。 -```C++ tab="C++17" -#include -#include +=== "C++17" -template -struct S : T::value_type // 派生クラス定義時の基底クラスの指定 -{ - using value_type = typename T::value_type; + ```C++ + #include + #include - S() - : T::value_type() {} // 初期化子リストでの基底クラスの指定 + template + struct S : T::value_type // 派生クラス定義時の基底クラスの指定 + { + using value_type = typename T::value_type; - typename T::size_type max_size() const; + S() + : T::value_type() {} // 初期化子リストでの基底クラスの指定 - auto data()->typename T::pointer; + typename T::size_type max_size() const; - auto min_size() const + auto data()->typename T::pointer; + + auto min_size() const + { + return static_cast(0); + } + }; + + template typename T::size_type MaxSize(); + + int main() { - return static_cast(0); + S> s; } -}; + ``` -template typename T::size_type MaxSize(); +=== "C++20" -int main() -{ - S> s; -} -``` + ```C++ + #include + #include -```C++ tab="C++20" -#include -#include + template // OK + struct S : T::value_type // 派生クラス定義時の基底クラスの指定 + { + using value_type = T::value_type; // OK -template // OK -struct S : T::value_type // 派生クラス定義時の基底クラスの指定 -{ - using value_type = T::value_type; // OK + S() + : T::value_type() {} // 初期化子リストでの基底クラスの指定 - S() - : T::value_type() {} // 初期化子リストでの基底クラスの指定 + T::size_type max_size() const; // OK - T::size_type max_size() const; // OK + auto data()->T::pointer; // OK - auto data()->T::pointer; // OK + auto min_size() const + { + return static_cast(0); // OK + } + }; + + template T::size_type MaxSize(); // OK - auto min_size() const + int main() { - return static_cast(0); // OK + S> s; } -}; - -template T::size_type MaxSize(); // OK - -int main() -{ - S> s; -} - -``` + ``` ### 定数式での仮想関数呼び出しが可能に [(P1064R0)](https://wg21.link/P1064) @@ -526,53 +529,57 @@ int main() C++17 でネストした名前空間定義が導入されましたが、その中では `inline namespace` を使うことができず、`inline namespace` が `namespace` 内にある次のようなケースで恩恵を受けられませんでした。C++20 からはネストした名前空間定義の中で `inline` を使えるようになります。 -```C++ tab="C++17" -#include +=== "C++17" -namespace mylib::v1::util -{ - constexpr int GetValue() { return 1; } -} + ```C++ + #include -namespace mylib -{ - inline namespace v2 + namespace mylib::v1::util + { + constexpr int GetValue() { return 1; } + } + + namespace mylib { - namespace util + inline namespace v2 { - constexpr int GetValue() { return 2; } + namespace util + { + constexpr int GetValue() { return 2; } + } } } -} -int main() -{ - std::cout << mylib::v1::util::GetValue() << '\n'; - std::cout << mylib::v2::util::GetValue() << '\n'; - std::cout << mylib::util::GetValue() << '\n'; // v2 -} -``` + int main() + { + std::cout << mylib::v1::util::GetValue() << '\n'; + std::cout << mylib::v2::util::GetValue() << '\n'; + std::cout << mylib::util::GetValue() << '\n'; // v2 + } + ``` -```C++ tab="C++20" -#include +=== "C++20" -namespace mylib::v1::util -{ - constexpr int GetValue() { return 1; } -} + ```C++ + #include -namespace mylib::inline v2::util -{ - constexpr int GetValue() { return 2; } -} + namespace mylib::v1::util + { + constexpr int GetValue() { return 1; } + } -int main() -{ - std::cout << mylib::v1::util::GetValue() << '\n'; - std::cout << mylib::v2::util::GetValue() << '\n'; - std::cout << mylib::util::GetValue() << '\n'; // v2 -} -``` + namespace mylib::inline v2::util + { + constexpr int GetValue() { return 2; } + } + + int main() + { + std::cout << mylib::v1::util::GetValue() << '\n'; + std::cout << mylib::v2::util::GetValue() << '\n'; + std::cout << mylib::util::GetValue() << '\n'; // v2 + } + ``` ### 本来アクセス可能な private メンバに構造化束縛ではアクセスできなかった仕様を修正 [(P0969R0)](https://wg21.link/P0969R0) @@ -1148,42 +1155,46 @@ int main() ### `std::memory_order` を `enum class` に変更 [(P0439R0)](https://wg21.link/P0439R0) C++17 まで `enum` で定義されていた `std::memory_order` を、モダンな C++ 文法と型安全のために、`enum class` で定義する仕様に変更されます。これまでの表記は定数で提供されるようになるため、既存のソースコードは影響を受けません。また、バイナリ互換性のために、`enum class` の基底型の選択は実装に任せられています。 -```C++ tab="C++17" -namespace std -{ - typedef enum memory_order - { - memory_order_relaxed, - memory_order_consume, - memory_order_acquire, - memory_order_release, - memory_order_acq_rel, - memory_order_seq_cst - } memory_order; -} -``` +=== "C++17" -```C++ tab="C++20" -namespace std -{ - enum class memory_order /* : unspecified */ + ```C++ + namespace std { - relaxed, - consume, - acquire, - release, - acq_rel, - seq_cst - }; + typedef enum memory_order + { + memory_order_relaxed, + memory_order_consume, + memory_order_acquire, + memory_order_release, + memory_order_acq_rel, + memory_order_seq_cst + } memory_order; + } + ``` - inline constexpr memory_order memory_order_relaxed = memory_order::relaxed; - inline constexpr memory_order memory_order_consume = memory_order::consume; - inline constexpr memory_order memory_order_acquire = memory_order::acquire; - inline constexpr memory_order memory_order_release = memory_order::release; - inline constexpr memory_order memory_order_acq_rel = memory_order::acq_rel; - inline constexpr memory_order memory_order_seq_cst = memory_order::seq_cst; -} -``` +=== "C++20" + + ```C++ + namespace std + { + enum class memory_order /* : unspecified */ + { + relaxed, + consume, + acquire, + release, + acq_rel, + seq_cst + }; + + inline constexpr memory_order memory_order_relaxed = memory_order::relaxed; + inline constexpr memory_order memory_order_consume = memory_order::consume; + inline constexpr memory_order memory_order_acquire = memory_order::acquire; + inline constexpr memory_order memory_order_release = memory_order::release; + inline constexpr memory_order memory_order_acq_rel = memory_order::acq_rel; + inline constexpr memory_order memory_order_seq_cst = memory_order::seq_cst; + } + ``` ### `Hash` が同一の挙動をしない非順序連想コンテナどうしの比較が可能に [(P0809R0)](https://wg21.link/P0809R0) @@ -1322,44 +1333,48 @@ int main() C++17 では、`std::basic_string::reserve(size_type)` に現在の `capacity()` よりも小さい値が渡された際、shrink-to-fit を実行することが許可されていたため、注意深く使わないとメモリの再配置を頻繁に引き起こし、実行時性能を低下させることがありました。また、デフォルト引数として `0` が定義されており、`s.reserve()` と `s.shrink_to_fit()` で機能が重複するという問題や、shrink-to-fit を実行せずデフォルト引数も無い `std::vector::reserve(size_type)` との一貫性がないという問題がありました。C++20 からの新しい仕様では `std::vector` 側に合わせ、`std::basic_string::reserve(size_type)` に現在の `capacity()` よりも小さい値が渡された際には何もしないことが保証され、デフォルト引数も廃止(互換性のために deprecated 指定の `std::basic_string:reserve(void)` オーバーロードが追加)となり、これらの問題が解決されます。 -### 連想コンテナに `constains()` メンバ関数を追加 [(P0458R2)](https://wg21.link/P0458R2) +### 連想コンテナに `contains()` メンバ関数を追加 [(P0458R2)](https://wg21.link/P0458R2) ある要素が連想コンテナに含まれているか調べるための C++17 までのイディオムは、直感的でなく初心者にとっても明快ではありませんでした。C++20 からは、要素の存在をチェックする `contains(key)` メンバ関数が `std::map`, `std::multimap`, `std::set`, `std::multiset`, `std::unordered_map`, `std::unordered_multimap`, `std::unordered_set`, `std::unordered_multiset` に追加されます。 -```C++ tab="C++17" -#include -#include +=== "C++17" -int main() -{ - const std::unordered_map table = - { - { 200, "OK" }, { 201, "Created" }, { 202, "Accepted" } - }; + ```C++ + #include + #include - if (table.find(200) != table.end()) + int main() { - std::cout << "key exists\n"; + const std::unordered_map table = + { + { 200, "OK" }, { 201, "Created" }, { 202, "Accepted" } + }; + + if (table.find(200) != table.end()) + { + std::cout << "key exists\n"; + } } -} -``` + ``` -```C++ tab="C++20" -#include -#include +=== "C++20" -int main() -{ - const std::unordered_map table = - { - { 200, "OK" }, { 201, "Created" }, { 202, "Accepted" } - }; + ```C++ + #include + #include - if (table.contains(200)) + int main() { - std::cout << "key exists\n"; + const std::unordered_map table = + { + { 200, "OK" }, { 201, "Created" }, { 202, "Accepted" } + }; + + if (table.contains(200)) + { + std::cout << "key exists\n"; + } } -} -``` + ``` ### コンテナから指定した要素を削除する操作に一貫して使える `std::erase()`, `std::erase_if()` 関数 [(P1209R0)](https://wg21.link/p1209r0) コンテナから特定の要素を削除するという処理は、コンテナの種類によって最適な書き方が異なります。`std::unordered_map` ではイテレータを使って先頭から要素を削除していき、`std::list` ではメンバ関数の `remove()` や `remove_if()` を使い、`std::vector` では `std::remove_if()` と `erase()` メンバ関数を組み合わせます。このようにコンテナの特性に応じてコードを書き分けるのは大変だったため、C++20 ではすべてのコンテナ向けに適切な実装を提供する、一貫して使える非メンバ関数 `std::erase()`, `std::erase_if()` が追加されます。 diff --git a/docs/standardization/cpp23.md b/docs/standardization/cpp23.md index 93f2a5c..f078794 100644 --- a/docs/standardization/cpp23.md +++ b/docs/standardization/cpp23.md @@ -58,47 +58,50 @@ int main() ## 標準ライブラリ -### 文字列クラスに、指定した文字列が含まれるかを返す `.contains()` メンバ関数を追加 [(P1679)](http://wg21.link/P1679) -Java, C#, Rust の文字列クラスは、指定した文字列を含むかのメソッドを持っていますが、C++ の `std::string` には同等のメンバ関数がなく、次のようなコードを書く必要がありました。 + + +### C 言語との atomics の互換を目的とした標準ライブラリヘッダ `` を追加 [(P0943R6)](http://wg21.link/P0943R6) +C++ atomics の非ジェネリックな部分 (`atomic_char` や `atomic_ulong` など) は C 言語からも使えるように設計されていましたが、C 言語がジェネリック用として独自に `_Atomic(T)` 型指定子を追加したほか、C++ の規格では C 言語のヘッダ `` に関する言及がないことから、実際の相互運用にはいくらかの手間が必要でした。 ```C++ -#include -#include +#ifdef __cplusplus + #include + using std::atomic_int; + using std::memory_order; + using std::memory_order_acquire; + #define _Atomic(X) std::atomic + // ... +#else + #include +#endif -int main() +// C でも C++ でもコンパイル可能 +int main(void) { - const std::string s = "I like C++23"; - - if (s.find("C++") != std::string::npos) // 文字列に "C++" が含まれるかを調べる - { - std::cout << "found!\n"; - } + atomic_int a; + memory_order b = memory_order_acquire; + _Atomic(int) c; + return 0; } ``` -C++23 では `std::basic_string` と `std::basic_string_view` に、指定した文字や文字列が含まれるかを返す `.contains(basic_string_view)`, `.contains(charT)`, `.contains(const charT*)` メンバ関数が追加され、より短く書けるようになります。 +C++23 では標準ライブラリに C 言語との atomics の互換のためのヘッダ `` を追加し、インクルードするだけで共通のコードを書けるようにします。 ```C++ -#include -#include +#include -int main() +// C でも C++ でもコンパイル可能 +int main(void) { - const std::string s = "I like C++23"; - - std::cout << std::boolalpha; - std::cout << s.contains('+') << '\n'; // true - std::cout << s.contains('-') << '\n'; // false - std::cout << s.contains("like") << '\n'; // true - std::cout << s.contains("C++11") << '\n'; // false - std::cout << s.contains(s) << '\n'; // true + atomic_int a; + memory_order b = memory_order_acquire; + _Atomic(int) c; + return 0; } ``` -なお、指定した文字列から始まるかを調べる `.starts_with()`, 指定した文字列で終わるかを調べる `.ends_with()` メンバ関数は C++20 で追加されています。 - -### 型が scoped enum であるかを調べる `std::is_scoped_enum` trait [(P1048)](http://wg21.link/P1048) +### 型が scoped enum であるかを調べる `std::is_scoped_enum` trait [(P1048R1)](http://wg21.link/P1048R1) C++11 で scoped enum (`enum class` / `enum struct`) が導入されましたが、同時に導入された type trait `std::is_enum` は、unscoped enum (`enum`) 型と scoped enum 型のどちらにも `true` を示し、両者を区別できませんでした。 C++23 では型が scoped enum であるかを調べる `std::is_scoped_enum` trait が追加され、両者を区別できるようになります。 @@ -135,43 +138,191 @@ namespace boost } ``` -### C 言語との atomics の互換を目的とした標準ライブラリヘッダ `` を追加 [(P0943)](http://wg21.link/P0943) -C++ atomics の非ジェネリックな部分 (`atomic_char` や `atomic_ulong` など) は C 言語からも使えるように設計されていましたが、C 言語がジェネリック用として独自に `_Atomic(T)` 型指定子を追加したほか、C++ の規格では C 言語のヘッダ `` に関する言及がないことから、実際の相互運用にはいくらかの手間が必要でした。 +### 文字列クラスに、指定した文字や文字列が含まれているかを返す `.contains()` メンバ関数 [(P1679R3)](https://wg21.link/P1679R3) +`std::string` や `std::string_view` にある文字や文字列が含まれているかを調べるには、次のように `.find()` を使った少し遠回りなコードを書く必要がありました。 ```C++ -#ifdef __cplusplus - #include - using std::atomic_int; - using std::memory_order; - using std::memory_order_acquire; - #define _Atomic(X) std::atomic - // ... -#else - #include -#endif +#include +#include -// C でも C++ でもコンパイル可能 -int main(void) +int main() { - atomic_int a; - memory_order b = memory_order_acquire; - _Atomic(int) c; - return 0; + std::string s = "C++23"; + + std::cout << std::boolalpha; + + // '4' が含まれているかを調べる + std::cout << (s.find('4') != std::string::npos) << '\n'; // false + + // "++" が含まれているかを調べる + std::cout << (s.find("++") != std::string::npos) << '\n'; // true } ``` -C++23 では標準ライブラリに C 言語との atomics の互換のためのヘッダ `` を追加し、インクルードするだけで共通のコードを書けるようにします。 +C++23 では `std::basic_string` と `std::basic_string_view` に、指定した文字や文字列が含まれるかを返す `.contains(basic_string_view)`, `.contains(charT)`, `.contains(const charT*)` メンバ関数が追加され、より簡潔に書けるようになりました。 ```C++ -#include +#include +#include -// C でも C++ でもコンパイル可能 -int main(void) +int main() { - atomic_int a; - memory_order b = memory_order_acquire; - _Atomic(int) c; - return 0; + std::string s = "C++23"; + + std::cout << std::boolalpha; + + // '4' が含まれているかを調べる + std::cout << s.contains('4') << '\n'; // false + + // "++" が含まれているかを調べる + std::cout << s.contains("++") << '\n'; // true +} +``` + +なお、指定した文字列から始まるかを調べる `.starts_with()`, 指定した文字列で終わるかを調べる `.ends_with()` メンバ関数が C++20 で追加されています。 + + +### 列挙型の値を基底型に変換する `std::to_underlying()` [(P1682R3)](https://wg21.link/P1682R3) +これまで `enum class` を基底型の整数値へ適切に変換するには `static_cast>(e)` と書く必要がありました。C++23 ではこれを `std::to_underlying(e)` と書けるようになりました。 + +```C++ +#include +#include + +enum class State : char +{ + Open, Closed +}; + +enum class Terrain +{ + Open, Mountain, River, Ocean +}; + +int main() +{ + auto a = std::to_underlying(State::Open); // c は char + + auto b = std::to_underlying(Terrain::Mountain); // b は int +} +``` + + + + + + + + + + + + + + +### `std::stringstream` と異なり、内部バッファに `std::span` を用いる `std::spanstream` [(P0448R4)](https://wg21.link/P0448R4) +`std::stringstream` は内部のバッファを動的に確保するものでしたが、C++23 で追加された `std::spanstream` は `std::span` をバッファとして用いることができるようになりました。例えば、スタックに確保した固定サイズのバッファを割り当てることができます。 + +```C++ +# include +# include +# include +# include + +int main() +{ + const char input[] = "11 22 33"; + + // C++23 + { + std::ispanstream is{ input }; // span としてバッファを渡す + int a, b, c; + is >> a >> b >> c; + + char buffer[30]{}; + std::ospanstream os{ buffer }; // span としてバッファを渡す + os << (a * 100) << (b * 100) << (c * 100); + std::cout << std::string_view{ os.span() } << '\n'; + } + + // (比較) std::stringstream + { + std::istringstream is{ input }; // std::string が作られる + int a, b, c; + is >> a >> b >> c; + + std::ostringstream os; // 内部バッファは動的に確保される + os << (a * 100) << (b * 100) << (c * 100); + std::cout << os.str() << '\n'; + } } ``` + + + +### ` type_info::operator==()` が constexpr に [(P1328R1)](https://wg21.link/P1328R1) +C++20 で `typeid` が constexpr の文脈で使えるようになりましたが、戻り値の `std::type_info` には constexpr のメンバ関数が無く実用性がありませんでした。C++23 では `std::type_info::operator==` が constexpr になりました。 + +```C++ +#include +#include + +struct IShape +{ + virtual ~IShape() = default; +}; + +struct Circle : IShape +{ + double x, y, r; +}; + +int main() +{ + if constexpr (typeid(IShape) != typeid(Circle)) + { + std::cout << "typeid(IShape) != typeid(Circle))\n"; + } +} +``` + + +### `std::stack` と `std::queue` に、イテレータペアをとるコンストラクタオーバーロードを追加 [(P1425R4)](https://wg21.link/P1425R4) +`std::stack` と `std::queue` には、イテレータペアをとるコンストラクタが無く、他のコンテナやコンテナアダプタと一貫性が無かったため、C++23 で追加されました。これは、C++23 で追加された `ranges::to` の内部実装が複雑になるのを防ぐことにも貢献します。 + +```C++ +#include +#include +#include + +int main() +{ + std::vector v = { 10, 20, 30, 40 }; + std::stack s(v.begin(), v.end()); + std::queue q(v.begin(), v.end()); +} +``` + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/standardization/cppx.md b/docs/standardization/cppx.md index a514217..a706ae3 100644 --- a/docs/standardization/cppx.md +++ b/docs/standardization/cppx.md @@ -1,9 +1,9 @@ -description: C++23 以降に向けて議論が進行中のおもな提案の紹介 +description: C++23, C++26 以降に向けて議論が進行中のおもな提案の紹介 -# C++23 以降に向けた提案 +# C++23, C++26 以降に向けた提案 !!! Info - C++23 の規格ドラフト入りが決まった機能は [C++23 の新機能](../cpp23) に移動します。 + C++23 の規格ドラフト入りが決まった機能は [C++23 の新機能](cpp23.md) に移動します。 C++ 標準化委員会で議論が進行中のおもな提案です。まだ提案段階であるため、委員会によって妥当でないと判断された場合は規格には採択されません。提案内容は採択まで何度も変更されることがあります。 @@ -73,168 +73,193 @@ inspect constexpr_opt (init-statement_opt condition) trailing-return-type_opt ``` ### 整数のマッチング -```C++ tab="現在" -switch (code) -{ - case 200: std::cout << "OK\n"; break; - case 404: std::cout << "Not Found\n"; break; - default : std::cout << "don't care\n"; -} -``` -```C++ tab="提案" -inspect (code) -{ - 200 => { std::cout << "OK\n" } - 404 => { std::cout << "Not Found\n" } - __ => { std::cout << "don't care\n" } // __ はワイルドカードパターン -}; -``` +=== "現在" + + ```C++ + switch (code) + { + case 200: std::cout << "OK\n"; break; + case 404: std::cout << "Not Found\n"; break; + default : std::cout << "don't care\n"; + } + ``` + +=== "提案" + + ```C++ + inspect (code) + { + 200 => { std::cout << "OK\n" } + 404 => { std::cout << "Not Found\n" } + __ => { std::cout << "don't care\n" } // __ はワイルドカードパターン + }; + ``` ### 文字列のマッチング -```C++ tab="現在" -if (s == "png") -{ - std::cout << "PNG Image\n"; -} -else if (s == "jpg") -{ - std::cout << "JPEG Image\n"; -} -else -{ - std::cout << "Not supported\n"; -} -``` -```C++ tab="提案" -inspect (s) -{ - "png" => { std::cout << "PNG Image\n"; } - "jpg" => { std::cout << "JPEG Image\n"; } - __ => { std::cout << "Not supported\n"; } -}; -``` +=== "現在" + + ```C++ + if (s == "png") + { + std::cout << "PNG Image\n"; + } + else if (s == "jpg") + { + std::cout << "JPEG Image\n"; + } + else + { + std::cout << "Not supported\n"; + } + ``` + +=== "提案" + + ```C++ + inspect (s) + { + "png" => { std::cout << "PNG Image\n"; } + "jpg" => { std::cout << "JPEG Image\n"; } + __ => { std::cout << "Not supported\n"; } + }; + ``` ### Tuples のマッチング -```C++ tab="現在" -auto&& [x, y] = pos; -if (x == 0 && y == 0) -{ - std::cout << "on the origin\n"; -} -else if (y == 0) -{ - std::cout << "on X-axis\n"; -} -else if (x == 0) -{ - std::cout << "on Y-axis\n"; -} -else -{ - std::cout << x << ", " << y << '\n'; -} -``` -```C++ tab="提案" -inspect (pos) -{ - [0, 0] => { std::cout << "on the origin\n"; } - [x, 0] => { std::cout << "on the X-axis\n"; } - [0, y] => { std::cout << "on the Y-axis\n"; } - [x, y] => { std::cout << x << ", " << y << '\n'; } -}; -``` +=== "現在" -### Variants のマッチング -```C++ tab="現在" -struct Visitor -{ - void operator()(int i) const + ```C++ + auto&& [x, y] = pos; + if (x == 0 && y == 0) { - std::cout << "int: " << i << '\n'; + std::cout << "on the origin\n"; } - - void operator()(float f) const + else if (y == 0) { - std::cout << "float: " << f << '\n'; + std::cout << "on X-axis\n"; } -}; + else if (x == 0) + { + std::cout << "on Y-axis\n"; + } + else + { + std::cout << x << ", " << y << '\n'; + } + ``` -int main() -{ - std::variant v = 3.14f; +=== "提案" - std::visit(Visitor{}, v); -} -``` + ```C++ + inspect (pos) + { + [0, 0] => { std::cout << "on the origin\n"; } + [x, 0] => { std::cout << "on the X-axis\n"; } + [0, y] => { std::cout << "on the Y-axis\n"; } + [x, y] => { std::cout << x << ", " << y << '\n'; } + }; + ``` -```C++ tab="提案" -int main() -{ - std::variant v = 3.14f; +### Variants のマッチング + +=== "現在" - inspect (v) + ```C++ + struct Visitor { - i => { std::cout << "int: " << i << '\n'; } - f => { std::cout << "float: " << f << '\n'; } + void operator()(int i) const + { + std::cout << "int: " << i << '\n'; + } + + void operator()(float f) const + { + std::cout << "float: " << f << '\n'; + } + }; + + int main() + { + std::variant v = 3.14f; + + std::visit(Visitor{}, v); } -}; -``` + ``` -### Polymorphic Types のマッチング -```C++ tab="現在" -struct Shape -{ - virtual ~Shape() = default; - virtual double area() const = 0; -}; +=== "提案" -struct Circle : Shape -{ - double radius; - double area() const override + ```C++ + int main() { - return std::numbers::pi * radius * radius; - } -}; + std::variant v = 3.14f; -struct Rectangle : Shape -{ - double width, height; - double area() const override + inspect (v) + { + i => { std::cout << "int: " << i << '\n'; } + f => { std::cout << "float: " << f << '\n'; } + } + }; + ``` + +### Polymorphic Types のマッチング + +=== "現在" + + ```C++ + struct Shape { - return width * height; - } -}; -``` + virtual ~Shape() = default; + virtual double area() const = 0; + }; -```C++ tab="提案" -struct Shape -{ - virtual ~Shape() = default; -}; + struct Circle : Shape + { + double radius; + double area() const override + { + return std::numbers::pi * radius * radius; + } + }; + + struct Rectangle : Shape + { + double width, height; + double area() const override + { + return width * height; + } + }; + ``` + +=== "提案" + + ```C++ + struct Shape + { + virtual ~Shape() = default; + }; -struct Circle : Shape -{ - double radius; -}; + struct Circle : Shape + { + double radius; + }; -struct Rectangle : Shape -{ - double width, height; -}; + struct Rectangle : Shape + { + double width, height; + }; -double Area(const Shape& shape) -{ - return inspect (shape) + double Area(const Shape& shape) { - [r] => std::numbers::pi * r * r; - [w, h] => w * h; - } -}; -``` + return inspect (shape) + { + [r] => std::numbers::pi * r * r; + [w, h] => w * h; + } + }; + ``` ## 拡張浮動小数点数型 @@ -277,30 +302,6 @@ C++20 の `std::format` をベースにした新しい標準出力 API, `std::pr std::print("Hello, {}!", name); ``` -## 列挙型の値を基底型に変換する `std::to_underlying()` -- [std::to_underlying for enumerations (P1682)](https://wg21.link/P1682) - -`enum class` を基底型の整数値へ適切に変換するには `static_cast>(e)` のようなコードを書く必要がありました。これを `std::to_underlying(e)` で書けるようにする提案です。 - -```C++ -#include - -enum class Enum : char -{ - A, B, C -}; - -void F(char) {} -void F(int) {} -void F(unsigned) {} - -int main() -{ - Enum e = Enum::A; - F(std::to_underlying(e)); // F(char) が呼ばれる -} -``` - ## ソート済み配列による連想コンテナ - [A Standard flat_set (P1222)](https://wg21.link/P1222) diff --git a/docs/standardization/header.md b/docs/standardization/header.md index 9350e35..fab62c2 100644 --- a/docs/standardization/header.md +++ b/docs/standardization/header.md @@ -15,113 +15,126 @@ C++ の規格で定められた標準ライブラリに含まれるヘッダの |ヘッダ|リファレンス|実装|バージョン| |---|---|---|---| -|[<algorithm>](http://eel.is/c++draft/algorithm.syn)|[en](https://en.cppreference.com/w/cpp/header/algorithm) / [jp](https://ja.cppreference.com/w/cpp/header/algorithm) / [cpprefjp](https://cpprefjp.github.io/reference/algorithm.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/algorithm) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/algorithm) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/algorithm)|| -|[<any>](http://eel.is/c++draft/any.synop)|[en](https://en.cppreference.com/w/cpp/header/any) / [jp](https://ja.cppreference.com/w/cpp/header/any) / [cpprefjp](https://cpprefjp.github.io/reference/any.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/any) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/any) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/any)|since C++17| -|[<array>](http://eel.is/c++draft/array.syn)|[en](https://en.cppreference.com/w/cpp/header/array) / [jp](https://ja.cppreference.com/w/cpp/header/array) / [cpprefjp](https://cpprefjp.github.io/reference/array.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/array) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/array) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/array)|since C++11| -|[<atomic>](http://eel.is/c++draft/atomics.syn)|[en](https://en.cppreference.com/w/cpp/header/atomic) / [jp](https://ja.cppreference.com/w/cpp/header/atomic) / [cpprefjp](https://cpprefjp.github.io/reference/atomic.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/atomic) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/atomic) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/atomic)|since C++11| -|[<barrier>](http://eel.is/c++draft/barrier.syn)|[en](https://en.cppreference.com/w/cpp/header/barrier) / [jp](https://ja.cppreference.com/w/cpp/header/barrier) / [cpprefjp](https://cpprefjp.github.io/reference/barrier.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/barrier) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/barrier) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/barrier)|since C++20| -|[<bit>](http://eel.is/c++draft/bit.syn)|[en](https://en.cppreference.com/w/cpp/header/bit) / [jp](https://ja.cppreference.com/w/cpp/header/bit) / [cpprefjp](https://cpprefjp.github.io/reference/bit.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/bit) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/bit) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/bit)|since C++20| -|[<bitset>](http://eel.is/c++draft/bitset.syn)|[en](https://en.cppreference.com/w/cpp/header/bitset) / [jp](https://ja.cppreference.com/w/cpp/header/bitset) / [cpprefjp](https://cpprefjp.github.io/reference/bitset.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/bitset) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/bitset) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/bitset)|| -|[<cassert>](http://eel.is/c++draft/cassert.syn)|[en](https://en.cppreference.com/w/cpp/header/cassert) / [jp](https://ja.cppreference.com/w/cpp/header/cassert) / [cpprefjp](https://cpprefjp.github.io/reference/cassert.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cassert) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cassert) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cassert)|| -|[<cctype>](http://eel.is/c++draft/cctype.syn)|[en](https://en.cppreference.com/w/cpp/header/cctype) / [jp](https://ja.cppreference.com/w/cpp/header/cctype) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cctype) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cctype) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cctype)|| -|[<cerrno>](http://eel.is/c++draft/cerrno.syn)|[en](https://en.cppreference.com/w/cpp/header/cerrno) / [jp](https://ja.cppreference.com/w/cpp/header/cerrno) / [cpprefjp](https://cpprefjp.github.io/reference/cerrno.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cerrno) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cerrno) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cerrno)|| -|[<cfenv>](http://eel.is/c++draft/cfenv.syn)|[en](https://en.cppreference.com/w/cpp/header/cfenv) / [jp](https://ja.cppreference.com/w/cpp/header/cfenv) / [cpprefjp](https://cpprefjp.github.io/reference/cfenv.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cfenv) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cfenv) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cfenv)|since C++11| -|[<cfloat>](http://eel.is/c++draft/cfloat.syn)|[en](https://en.cppreference.com/w/cpp/header/cfloat) / [jp](https://ja.cppreference.com/w/cpp/header/cfloat) / [cpprefjp](https://cpprefjp.github.io/reference/cfloat.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cfloat) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cfloat) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cfloat)|| -|[<charconv>](http://eel.is/c++draft/charconv.syn)|[en](https://en.cppreference.com/w/cpp/header/charconv) / [jp](https://ja.cppreference.com/w/cpp/header/charconv) / [cpprefjp](https://cpprefjp.github.io/reference/charconv.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/charconv) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/charconv) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/charconv)|since C++17| -|[<chrono>](http://eel.is/c++draft/time.syn)|[en](https://en.cppreference.com/w/cpp/header/chrono) / [jp](https://ja.cppreference.com/w/cpp/header/chrono) / [cpprefjp](https://cpprefjp.github.io/reference/chrono.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/chrono) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/chrono) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/chrono)|since C++11| -|[<cinttypes>](http://eel.is/c++draft/cinttypes.syn)|[en](https://en.cppreference.com/w/cpp/header/cinttypes) / [jp](https://ja.cppreference.com/w/cpp/header/cinttypes) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cinttypes) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cinttypes) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cinttypes)|since C++11| -|[<climits>](http://eel.is/c++draft/climits.syn)|[en](https://en.cppreference.com/w/cpp/header/climits) / [jp](https://ja.cppreference.com/w/cpp/header/climits) / [cpprefjp](https://cpprefjp.github.io/reference/climits.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/climits) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/climits) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/climits)|| -|[<clocale>](http://eel.is/c++draft/clocale.syn)|[en](https://en.cppreference.com/w/cpp/header/clocale) / [jp](https://ja.cppreference.com/w/cpp/header/clocale) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/clocale) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/clocale) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/clocale)|| -|[<cmath>](http://eel.is/c++draft/cmath.syn)|[en](https://en.cppreference.com/w/cpp/header/cmath) / [jp](https://ja.cppreference.com/w/cpp/header/cmath) / [cpprefjp](https://cpprefjp.github.io/reference/cmath.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cmath) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cmath) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cmath)|| -|[<compare>](http://eel.is/c++draft/compare.syn)|[en](https://en.cppreference.com/w/cpp/header/compare) / [jp](https://ja.cppreference.com/w/cpp/header/compare) / [cpprefjp](https://cpprefjp.github.io/reference/compare.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/16e2427f50c208dfe07d07f18009969502c25dc8/libstdc%2B%2B-v3/libsupc%2B%2B/compare) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/compare) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/compare)|since C++20| -|[<complex>](http://eel.is/c++draft/complex.syn)|[en](https://en.cppreference.com/w/cpp/header/complex) / [jp](https://ja.cppreference.com/w/cpp/header/complex) / [cpprefjp](https://cpprefjp.github.io/reference/complex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/complex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/complex) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/complex)|| -|[<concepts>](http://eel.is/c++draft/concepts.syn)|[en](https://en.cppreference.com/w/cpp/header/concepts) / [jp](https://ja.cppreference.com/w/cpp/header/concepts) / [cpprefjp](https://cpprefjp.github.io/reference/concepts.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/concepts) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/concepts) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/concepts)|since C++20| -|[<condition_variable>](http://eel.is/c++draft/condition.variable.syn)|[en](https://en.cppreference.com/w/cpp/header/condition_variable) / [jp](https://ja.cppreference.com/w/cpp/header/condition_variable) / [cpprefjp](https://cpprefjp.github.io/reference/condition_variable.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/condition_variable) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/condition_variable) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/condition_variable)|since C++11| -|[<coroutine>](http://eel.is/c++draft/coroutine.syn)|[en](https://en.cppreference.com/w/cpp/header/coroutine) / jp / [cpprefjp](https://cpprefjp.github.io/reference/coroutine.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/coroutine) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/coroutine)|since C++20| -|[<csetjmp>](http://eel.is/c++draft/csetjmp.syn)|[en](https://en.cppreference.com/w/cpp/header/csetjmp) / [jp](https://ja.cppreference.com/w/cpp/header/csetjmp) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/csetjmp) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/csetjmp) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/csetjmp)|| -|[<csignal>](http://eel.is/c++draft/csignal.syn)|[en](https://en.cppreference.com/w/cpp/header/csignal) / [jp](https://ja.cppreference.com/w/cpp/header/csignal) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/csignal) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/csignal) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/csignal)|| -|[<cstdarg>](http://eel.is/c++draft/cstdarg.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdarg) / [jp](https://ja.cppreference.com/w/cpp/header/cstdarg) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdarg) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdarg) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cstdarg)|| -|[<cstddef>](http://eel.is/c++draft/cstddef.syn)|[en](https://en.cppreference.com/w/cpp/header/cstddef) / [jp](https://ja.cppreference.com/w/cpp/header/cstddef) / [cpprefjp](https://cpprefjp.github.io/reference/cstddef.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstddef) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstddef) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cstddef)|| -|[<cstdint>](http://eel.is/c++draft/cstdint.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdint) / [jp](https://ja.cppreference.com/w/cpp/header/cstdint) / [cpprefjp](https://cpprefjp.github.io/reference/cstdint.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdint) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdint) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cstdint)|since C++11| -|[<cstdio>](http://eel.is/c++draft/cstdio.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdio) / [jp](https://ja.cppreference.com/w/cpp/header/cstdio) / [cpprefjp](https://cpprefjp.github.io/reference/cstdio.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdio) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdio) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cstdio)|| -|[<cstdlib>](http://eel.is/c++draft/cstdlib.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdlib) / [jp](https://ja.cppreference.com/w/cpp/header/cstdlib) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdlib) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdlib) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cstdlib)|| -|[<cstring>](http://eel.is/c++draft/cstring.syn)|[en](https://en.cppreference.com/w/cpp/header/cstring) / [jp](https://ja.cppreference.com/w/cpp/header/cstring) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstring) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstring) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cstring)|| -|[<ctime>](http://eel.is/c++draft/ctime.syn)|[en](https://en.cppreference.com/w/cpp/header/ctime) / [jp](https://ja.cppreference.com/w/cpp/header/ctime) / [cpprefjp](https://cpprefjp.github.io/reference/ctime.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/ctime) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ctime) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/ctime)|| -|[<cuchar>](http://eel.is/c++draft/cuchar.syn)|[en](https://en.cppreference.com/w/cpp/header/cuchar) / [jp](https://ja.cppreference.com/w/cpp/header/cuchar) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cuchar) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cuchar)|since C++11| -|[<cwchar>](http://eel.is/c++draft/cwchar.syn)|[en](https://en.cppreference.com/w/cpp/header/cwchar) / [jp](https://ja.cppreference.com/w/cpp/header/cwchar) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cwchar) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cwchar) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cwchar)|| -|[<cwctype>](http://eel.is/c++draft/cwctype.syn)|[en](https://en.cppreference.com/w/cpp/header/cwctype) / [jp](https://ja.cppreference.com/w/cpp/header/cwctype) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cwctype) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cwctype) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cwctype)|| -|[<deque>](http://eel.is/c++draft/deque.syn)|[en](https://en.cppreference.com/w/cpp/header/deque) / [jp](https://ja.cppreference.com/w/cpp/header/deque) / [cpprefjp](https://cpprefjp.github.io/reference/deque.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/deque) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/deque) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/deque)|| -|[<exception>](http://eel.is/c++draft/exception.syn)|[en](https://en.cppreference.com/w/cpp/header/exception) / [jp](https://ja.cppreference.com/w/cpp/header/exception) / [cpprefjp](https://cpprefjp.github.io/reference/exception.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/exception) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/exception) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/exception)|| -|[<execution>](http://eel.is/c++draft/execution.syn)|[en](https://en.cppreference.com/w/cpp/header/execution) / [jp](https://ja.cppreference.com/w/cpp/header/execution) / [cpprefjp](https://cpprefjp.github.io/reference/execution.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/execution) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/execution) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/execution)|since C++17| -|[<filesystem>](http://eel.is/c++draft/fs.filesystem.syn)|[en](https://en.cppreference.com/w/cpp/header/filesystem) / [jp](https://ja.cppreference.com/w/cpp/header/filesystem) / [cpprefjp](https://cpprefjp.github.io/reference/filesystem.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/filesystem) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/filesystem) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/filesystem)|since C++17| -|[<format>](http://eel.is/c++draft/format.syn)|[en](https://en.cppreference.com/w/cpp/header/format) / [jp](https://ja.cppreference.com/w/cpp/header/format) / [cpprefjp](https://cpprefjp.github.io/reference/format.html)|libstdc++ / libc++ / MSVC|since C++20| -|[<forward_list>](http://eel.is/c++draft/forward.list.syn)|[en](https://en.cppreference.com/w/cpp/header/forward_list) / [jp](https://ja.cppreference.com/w/cpp/header/forward_list) / [cpprefjp](https://cpprefjp.github.io/reference/forward_list.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/forward_list) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/forward_list) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/forward_list)|since C++11| -|[<fstream>](http://eel.is/c++draft/fstream.syn)|[en](https://en.cppreference.com/w/cpp/header/fstream) / [jp](https://ja.cppreference.com/w/cpp/header/fstream) / [cpprefjp](https://cpprefjp.github.io/reference/fstream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/fstream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/fstream) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/fstream)|| -|[<functional>](http://eel.is/c++draft/functional.syn)|[en](https://en.cppreference.com/w/cpp/header/functional) / [jp](https://ja.cppreference.com/w/cpp/header/functional) / [cpprefjp](https://cpprefjp.github.io/reference/functional.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/functional) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/functional) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/functional)|| -|[<future>](http://eel.is/c++draft/future.syn)|[en](https://en.cppreference.com/w/cpp/header/future) / [jp](https://ja.cppreference.com/w/cpp/header/future) / [cpprefjp](https://cpprefjp.github.io/reference/future.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/future) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/future) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/future)|since C++11| -|[<initializer_list>](http://eel.is/c++draft/initializer.list.syn)|[en](https://en.cppreference.com/w/cpp/header/initializer_list) / [jp](https://ja.cppreference.com/w/cpp/header/initializer_list) / [cpprefjp](https://cpprefjp.github.io/reference/initializer_list.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/initializer_list) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/initializer_list) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/initializer_list)|since C++11| -|[<iomanip>](http://eel.is/c++draft/iomanip.syn)|[en](https://en.cppreference.com/w/cpp/header/iomanip) / [jp](https://ja.cppreference.com/w/cpp/header/iomanip) / [cpprefjp](https://cpprefjp.github.io/reference/iomanip.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/iomanip) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/iomanip) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/iomanip)|| -|[<ios>](http://eel.is/c++draft/ios.syn)|[en](https://en.cppreference.com/w/cpp/header/ios) / [jp](https://ja.cppreference.com/w/cpp/header/ios) / [cpprefjp](https://cpprefjp.github.io/reference/ios.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/ios) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ios) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/ios)|| -|[<iosfwd>](http://eel.is/c++draft/iosfwd.syn)|[en](https://en.cppreference.com/w/cpp/header/iosfwd) / [jp](https://ja.cppreference.com/w/cpp/header/iosfwd) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/iosfwd) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/iosfwd) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/iosfwd)|| -|[<iostream>](http://eel.is/c++draft/iostream.syn)|[en](https://en.cppreference.com/w/cpp/header/iostream) / [jp](https://ja.cppreference.com/w/cpp/header/iostream) / [cpprefjp](https://cpprefjp.github.io/reference/iostream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/iostream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/iostream) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/iostream)|| -|[<istream>](http://eel.is/c++draft/istream.syn)|[en](https://en.cppreference.com/w/cpp/header/istream) / [jp](https://ja.cppreference.com/w/cpp/header/istream) / [cpprefjp](https://cpprefjp.github.io/reference/istream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/istream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/istream) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/istream)|| -|[<iterator>](http://eel.is/c++draft/iterator.synopsis)|[en](https://en.cppreference.com/w/cpp/header/iterator) / [jp](https://ja.cppreference.com/w/cpp/header/iterator) / [cpprefjp](https://cpprefjp.github.io/reference/iterator.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/iterator) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/iterator) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/iterator)|| -|[<latch>](http://eel.is/c++draft/latch.syn)|[en](https://en.cppreference.com/w/cpp/header/latch) / [jp](https://ja.cppreference.com/w/cpp/header/latch) / [cpprefjp](https://cpprefjp.github.io/reference/latch.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/latch) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/latch) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/latch)|since C++20| -|[<limits>](http://eel.is/c++draft/limits.syn)|[en](https://en.cppreference.com/w/cpp/header/limits) / [jp](https://ja.cppreference.com/w/cpp/header/limits) / [cpprefjp](https://cpprefjp.github.io/reference/limits.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/limits) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/limits) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/limits)|| -|[<list>](http://eel.is/c++draft/list.syn)|[en](https://en.cppreference.com/w/cpp/header/list) / [jp](https://ja.cppreference.com/w/cpp/header/list) / [cpprefjp](https://cpprefjp.github.io/reference/list.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/list) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/list) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/list)|| -|[<locale>](http://eel.is/c++draft/locale.syn)|[en](https://en.cppreference.com/w/cpp/header/locale) / [jp](https://ja.cppreference.com/w/cpp/header/locale) / [cpprefjp](https://cpprefjp.github.io/reference/locale.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/locale) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/locale) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/locale)|| -|[<map>](http://eel.is/c++draft/associative.map.syn)|[en](https://en.cppreference.com/w/cpp/header/map) / [jp](https://ja.cppreference.com/w/cpp/header/map) / [cpprefjp](https://cpprefjp.github.io/reference/map.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/map) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/map) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/map)|| -|[<memory>](http://eel.is/c++draft/memory.syn)|[en](https://en.cppreference.com/w/cpp/header/memory) / [jp](https://ja.cppreference.com/w/cpp/header/memory) / [cpprefjp](https://cpprefjp.github.io/reference/memory.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/memory) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/memory) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/memory)|| -|[<memory_resource>](http://eel.is/c++draft/mem.res.syn)|[en](https://en.cppreference.com/w/cpp/header/memory_resource) / [jp](https://ja.cppreference.com/w/cpp/header/memory_resource) / [cpprefjp](https://cpprefjp.github.io/reference/memory_resource.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/memory_resource) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/memory_resource)|since C++17| -|[<mutex>](http://eel.is/c++draft/mutex.syn)|[en](https://en.cppreference.com/w/cpp/header/mutex) / [jp](https://ja.cppreference.com/w/cpp/header/mutex) / [cpprefjp](https://cpprefjp.github.io/reference/mutex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/mutex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/mutex) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/mutex)|since C++11| -|[<new>](http://eel.is/c++draft/new.syn)|[en](https://en.cppreference.com/w/cpp/header/new) / [jp](https://ja.cppreference.com/w/cpp/header/new) / [cpprefjp](https://cpprefjp.github.io/reference/new.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/new) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/new) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/new)|| -|[<numbers>](http://eel.is/c++draft/numbers.syn)|[en](https://en.cppreference.com/w/cpp/header/numbers) / [jp](https://ja.cppreference.com/w/cpp/header/numbers) / [cpprefjp](https://cpprefjp.github.io/reference/numbers.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/numbers) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/numbers) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/numbers)|since C++20| -|[<numeric>](http://eel.is/c++draft/numeric.ops.overview)|[en](https://en.cppreference.com/w/cpp/header/numeric) / [jp](https://ja.cppreference.com/w/cpp/header/numeric) / [cpprefjp](https://cpprefjp.github.io/reference/numeric.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/numeric) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/numeric) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/numeric)|| -|[<optional>](http://eel.is/c++draft/optional.syn)|[en](https://en.cppreference.com/w/cpp/header/optional) / [jp](https://ja.cppreference.com/w/cpp/header/optional) / [cpprefjp](https://cpprefjp.github.io/reference/optional.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/optional) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/optional) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/optional)|since C++17| -|[<ostream>](http://eel.is/c++draft/ostream.syn)|[en](https://en.cppreference.com/w/cpp/header/ostream) / [jp](https://ja.cppreference.com/w/cpp/header/ostream) / [cpprefjp](https://cpprefjp.github.io/reference/ostream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/ostream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ostream) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/ostream)|| -|[<queue>](http://eel.is/c++draft/queue.syn)|[en](https://en.cppreference.com/w/cpp/header/queue) / [jp](https://ja.cppreference.com/w/cpp/header/queue) / [cpprefjp](https://cpprefjp.github.io/reference/queue.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/queue) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/queue) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/queue)|| -|[<random>](http://eel.is/c++draft/rand.synopsis)|[en](https://en.cppreference.com/w/cpp/header/random) / [jp](https://ja.cppreference.com/w/cpp/header/random) / [cpprefjp](https://cpprefjp.github.io/reference/random.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/random) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/random) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/random)|since C++11| -|[<ranges>](http://eel.is/c++draft/ranges.syn)|[en](https://en.cppreference.com/w/cpp/header/ranges) / [jp](https://ja.cppreference.com/w/cpp/header/ranges) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/ranges) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/ranges)|since C++20| -|[<ratio>](http://eel.is/c++draft/ratio.syn)|[en](https://en.cppreference.com/w/cpp/header/ratio) / [jp](https://ja.cppreference.com/w/cpp/header/ratio) / [cpprefjp](https://cpprefjp.github.io/reference/ratio.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/ratio) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ratio) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/ratio)|since C++11| -|[<regex>](http://eel.is/c++draft/re.syn)|[en](https://en.cppreference.com/w/cpp/header/regex) / [jp](https://ja.cppreference.com/w/cpp/header/regex) / [cpprefjp](https://cpprefjp.github.io/reference/regex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/regex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/regex) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/regex)|since C++11| -|[<scoped_allocator>](http://eel.is/c++draft/allocator.adaptor.syn)|[en](https://en.cppreference.com/w/cpp/header/scoped_allocator) / [jp](https://ja.cppreference.com/w/cpp/header/scoped_allocator) / [cpprefjp](https://cpprefjp.github.io/reference/scoped_allocator.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/scoped_allocator) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/scoped_allocator) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/scoped_allocator)|since C++11| -|[<semaphore>](http://eel.is/c++draft/semaphore.syn)|[en](https://en.cppreference.com/w/cpp/header/semaphore) / jp / [cpprefjp](https://cpprefjp.github.io/reference/semaphore.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/semaphore) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/semaphore) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/semaphore)|since C++20| -|[<set>](http://eel.is/c++draft/associative.set.syn)|[en](https://en.cppreference.com/w/cpp/header/set) / [jp](https://ja.cppreference.com/w/cpp/header/set) / [cpprefjp](https://cpprefjp.github.io/reference/set.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/set) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/set) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/set)|| -|[<shared_mutex>](http://eel.is/c++draft/shared.mutex.syn)|[en](https://en.cppreference.com/w/cpp/header/shared_mutex) / [jp](https://ja.cppreference.com/w/cpp/header/shared_mutex) / [cpprefjp](https://cpprefjp.github.io/reference/shared_mutex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/shared_mutex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/shared_mutex) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/shared_mutex)|since C++14| -|[<source_location>](http://eel.is/c++draft/source.location.syn)|[en](https://en.cppreference.com/w/cpp/header/source_location) / [jp](https://ja.cppreference.com/w/cpp/header/source_location) / [cpprefjp](https://cpprefjp.github.io/reference/source_location.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/source_location) / libc++ / MSVC|since C++20| -|[<span>](http://eel.is/c++draft/span.syn)|[en](https://en.cppreference.com/w/cpp/header/span) / [jp](https://ja.cppreference.com/w/cpp/header/span) / [cpprefjp](https://cpprefjp.github.io/reference/span.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/span) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/span) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/span)|since C++20| -|[<sstream>](http://eel.is/c++draft/sstream.syn)|[en](https://en.cppreference.com/w/cpp/header/sstream) / [jp](https://ja.cppreference.com/w/cpp/header/sstream) / [cpprefjp](https://cpprefjp.github.io/reference/sstream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/sstream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/sstream) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/sstream)|| -|[<stack>](http://eel.is/c++draft/stack.syn)|[en](https://en.cppreference.com/w/cpp/header/stack) / [jp](https://ja.cppreference.com/w/cpp/header/stack) / [cpprefjp](https://cpprefjp.github.io/reference/stack.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/stack) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/stack) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/stack)|| -|[<stacktrace>](http://eel.is/c++draft/stacktrace.syn)|[en](https://en.cppreference.com/w/cpp/header/stacktrace) / jp / [cpprefjp](https://cpprefjp.github.io/reference/stacktrace.html)|libstdc++ / libc++ / MSVC|since C++23| -|[<stdexcept>](http://eel.is/c++draft/stdexcept.syn)|[en](https://en.cppreference.com/w/cpp/header/stdexcept) / [jp](https://ja.cppreference.com/w/cpp/header/stdexcept) / [cpprefjp](https://cpprefjp.github.io/reference/stdexcept.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/stdexcept) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/stdexcept) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/stdexcept)|| -|[<stop_token>](http://eel.is/c++draft/thread.stoptoken.syn)|[en](https://en.cppreference.com/w/cpp/header/stop_token) / [jp](https://ja.cppreference.com/w/cpp/header/stop_token) / [cpprefjp](https://cpprefjp.github.io/reference/stop_token.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/stop_token) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/stop_token)|since C++20| -|[<streambuf>](http://eel.is/c++draft/streambuf.syn)|[en](https://en.cppreference.com/w/cpp/header/streambuf) / [jp](https://ja.cppreference.com/w/cpp/header/streambuf) / [cpprefjp](https://cpprefjp.github.io/reference/streambuf.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/streambuf) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/streambuf) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/streambuf)|| -|[<string>](http://eel.is/c++draft/string.syn)|[en](https://en.cppreference.com/w/cpp/header/string) / [jp](https://ja.cppreference.com/w/cpp/header/string) / [cpprefjp](https://cpprefjp.github.io/reference/string.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/string) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/string) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/string)|| -|[<string_view>](http://eel.is/c++draft/string.view.synop)|[en](https://en.cppreference.com/w/cpp/header/string_view) / [jp](https://ja.cppreference.com/w/cpp/header/string_view) / [cpprefjp](https://cpprefjp.github.io/reference/string_view.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/string_view) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/string_view) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/string_view)|since C++17| -|[<syncstream>](http://eel.is/c++draft/syncstream.syn)|[en](https://en.cppreference.com/w/cpp/header/syncstream) / [jp](https://ja.cppreference.com/w/cpp/header/syncstream) / [cpprefjp](https://cpprefjp.github.io/reference/syncstream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/syncstream) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/syncstream)|since C++20| -|[<system_error>](http://eel.is/c++draft/system.error.syn)|[en](https://en.cppreference.com/w/cpp/header/system_error) / [jp](https://ja.cppreference.com/w/cpp/header/system_error) / [cpprefjp](https://cpprefjp.github.io/reference/system_error.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/system_error) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/system_error) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/system_error)|since C++11| -|[<thread>](http://eel.is/c++draft/thread.syn)|[en](https://en.cppreference.com/w/cpp/header/thread) / [jp](https://ja.cppreference.com/w/cpp/header/thread) / [cpprefjp](https://cpprefjp.github.io/reference/thread.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/thread) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/thread) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/thread)|since C++11| -|[<tuple>](http://eel.is/c++draft/tuple.syn)|[en](https://en.cppreference.com/w/cpp/header/tuple) / [jp](https://ja.cppreference.com/w/cpp/header/tuple) / [cpprefjp](https://cpprefjp.github.io/reference/tuple.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/tuple) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/tuple) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/tuple)|since C++11| -|[<type_traits>](http://eel.is/c++draft/meta.type.synop)|[en](https://en.cppreference.com/w/cpp/header/type_traits) / [jp](https://ja.cppreference.com/w/cpp/header/type_traits) / [cpprefjp](https://cpprefjp.github.io/reference/type_traits.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/type_traits) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/type_traits) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/type_traits)|since C++11| -|[<typeindex>](http://eel.is/c++draft/type.index.synopsis)|[en](https://en.cppreference.com/w/cpp/header/typeindex) / [jp](https://ja.cppreference.com/w/cpp/header/typeindex) / [cpprefjp](https://cpprefjp.github.io/reference/typeindex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/typeindex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/typeindex) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/typeindex)|since C++11| -|[<typeinfo>](http://eel.is/c++draft/typeinfo.syn)|[en](https://en.cppreference.com/w/cpp/header/typeinfo) / [jp](https://ja.cppreference.com/w/cpp/header/typeinfo) / [cpprefjp](https://cpprefjp.github.io/reference/typeinfo.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/typeinfo) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/typeinfo) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/typeinfo)|| -|[<unordered_map>](http://eel.is/c++draft/unord.map.syn)|[en](https://en.cppreference.com/w/cpp/header/unordered_map) / [jp](https://ja.cppreference.com/w/cpp/header/unordered_map) / [cpprefjp](https://cpprefjp.github.io/reference/unordered_map.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/unordered_map) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/unordered_map) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/unordered_map)|since C++11| -|[<unordered_set>](http://eel.is/c++draft/unord.set.syn)|[en](https://en.cppreference.com/w/cpp/header/unordered_set) / [jp](https://ja.cppreference.com/w/cpp/header/unordered_set) / [cpprefjp](https://cpprefjp.github.io/reference/unordered_set.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/unordered_set) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/unordered_set) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/unordered_set)|since C++11| -|[<utility>](http://eel.is/c++draft/utility)|[en](https://en.cppreference.com/w/cpp/header/utility) / [jp](https://ja.cppreference.com/w/cpp/header/utility) / [cpprefjp](https://cpprefjp.github.io/reference/utility.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/utility) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/utility) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/utility)|| -|[<valarray>](http://eel.is/c++draft/valarray.syn)|[en](https://en.cppreference.com/w/cpp/header/valarray) / [jp](https://ja.cppreference.com/w/cpp/header/valarray) / [cpprefjp](https://cpprefjp.github.io/reference/valarray.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/valarray) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/valarray) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/valarray)|| -|[<variant>](http://eel.is/c++draft/variant.syn)|[en](https://en.cppreference.com/w/cpp/header/variant) / [jp](https://ja.cppreference.com/w/cpp/header/variant) / [cpprefjp](https://cpprefjp.github.io/reference/variant.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/variant) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/variant) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/variant)|since C++17| -|[<vector>](http://eel.is/c++draft/vector.syn)|[en](https://en.cppreference.com/w/cpp/header/vector) / [jp](https://ja.cppreference.com/w/cpp/header/vector) / [cpprefjp](https://cpprefjp.github.io/reference/vector.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/vector) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/vector) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/vector)|| -|[<version>](http://eel.is/c++draft/support.limits.general)|[en](https://en.cppreference.com/w/cpp/header/version) / [jp](https://ja.cppreference.com/w/cpp/header/version) / [cpprefjp](https://cpprefjp.github.io/reference/version.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/version) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/version) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/version)|since C++20| +|[<algorithm>](http://eel.is/c++draft/algorithm.syn)|[en](https://en.cppreference.com/w/cpp/header/algorithm) / [jp](https://ja.cppreference.com/w/cpp/header/algorithm) / [cpprefjp](https://cpprefjp.github.io/reference/algorithm.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/algorithm) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/algorithm) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/algorithm)|| +|[<any>](https://eel.is/c++draft/any)|[en](https://en.cppreference.com/w/cpp/header/any) / [jp](https://ja.cppreference.com/w/cpp/header/any) / [cpprefjp](https://cpprefjp.github.io/reference/any.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/any) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/any) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/any)|since C++17| +|[<array>](http://eel.is/c++draft/array.syn)|[en](https://en.cppreference.com/w/cpp/header/array) / [jp](https://ja.cppreference.com/w/cpp/header/array) / [cpprefjp](https://cpprefjp.github.io/reference/array.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/array) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/array) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/array)|since C++11| +|[<atomic>](http://eel.is/c++draft/atomics.syn)|[en](https://en.cppreference.com/w/cpp/header/atomic) / [jp](https://ja.cppreference.com/w/cpp/header/atomic) / [cpprefjp](https://cpprefjp.github.io/reference/atomic.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/atomic) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/atomic) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/atomic)|since C++11| +|[<barrier>](http://eel.is/c++draft/barrier.syn)|[en](https://en.cppreference.com/w/cpp/header/barrier) / [jp](https://ja.cppreference.com/w/cpp/header/barrier) / [cpprefjp](https://cpprefjp.github.io/reference/barrier.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/barrier) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/barrier) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/barrier)|since C++20| +|[<bit>](http://eel.is/c++draft/bit.syn)|[en](https://en.cppreference.com/w/cpp/header/bit) / [jp](https://ja.cppreference.com/w/cpp/header/bit) / [cpprefjp](https://cpprefjp.github.io/reference/bit.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/bit) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/bit) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/bit)|since C++20| +|[<bitset>](http://eel.is/c++draft/bitset.syn)|[en](https://en.cppreference.com/w/cpp/header/bitset) / [jp](https://ja.cppreference.com/w/cpp/header/bitset) / [cpprefjp](https://cpprefjp.github.io/reference/bitset.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/bitset) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/bitset) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/bitset)|| +|[<cassert>](http://eel.is/c++draft/cassert.syn)|[en](https://en.cppreference.com/w/cpp/header/cassert) / [jp](https://ja.cppreference.com/w/cpp/header/cassert) / [cpprefjp](https://cpprefjp.github.io/reference/cassert.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cassert) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cassert) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cassert)|| +|[<cctype>](http://eel.is/c++draft/cctype.syn)|[en](https://en.cppreference.com/w/cpp/header/cctype) / [jp](https://ja.cppreference.com/w/cpp/header/cctype) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cctype) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cctype) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cctype)|| +|[<cerrno>](http://eel.is/c++draft/cerrno.syn)|[en](https://en.cppreference.com/w/cpp/header/cerrno) / [jp](https://ja.cppreference.com/w/cpp/header/cerrno) / [cpprefjp](https://cpprefjp.github.io/reference/cerrno.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cerrno) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cerrno) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cerrno)|| +|[<cfenv>](http://eel.is/c++draft/cfenv.syn)|[en](https://en.cppreference.com/w/cpp/header/cfenv) / [jp](https://ja.cppreference.com/w/cpp/header/cfenv) / [cpprefjp](https://cpprefjp.github.io/reference/cfenv.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cfenv) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cfenv) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cfenv)|since C++11| +|[<cfloat>](http://eel.is/c++draft/cfloat.syn)|[en](https://en.cppreference.com/w/cpp/header/cfloat) / [jp](https://ja.cppreference.com/w/cpp/header/cfloat) / [cpprefjp](https://cpprefjp.github.io/reference/cfloat.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cfloat) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cfloat) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cfloat)|| +|[<charconv>](http://eel.is/c++draft/charconv.syn)|[en](https://en.cppreference.com/w/cpp/header/charconv) / [jp](https://ja.cppreference.com/w/cpp/header/charconv) / [cpprefjp](https://cpprefjp.github.io/reference/charconv.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/charconv) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/charconv) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/charconv)|since C++17| +|[<chrono>](http://eel.is/c++draft/time.syn)|[en](https://en.cppreference.com/w/cpp/header/chrono) / [jp](https://ja.cppreference.com/w/cpp/header/chrono) / [cpprefjp](https://cpprefjp.github.io/reference/chrono.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/chrono) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/chrono) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/chrono)|since C++11| +|[<cinttypes>](http://eel.is/c++draft/cinttypes.syn)|[en](https://en.cppreference.com/w/cpp/header/cinttypes) / [jp](https://ja.cppreference.com/w/cpp/header/cinttypes) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cinttypes) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cinttypes) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cinttypes)|since C++11| +|[<climits>](http://eel.is/c++draft/climits.syn)|[en](https://en.cppreference.com/w/cpp/header/climits) / [jp](https://ja.cppreference.com/w/cpp/header/climits) / [cpprefjp](https://cpprefjp.github.io/reference/climits.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/climits) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/climits) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/climits)|| +|[<clocale>](http://eel.is/c++draft/clocale.syn)|[en](https://en.cppreference.com/w/cpp/header/clocale) / [jp](https://ja.cppreference.com/w/cpp/header/clocale) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/clocale) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/clocale) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/clocale)|| +|[<cmath>](http://eel.is/c++draft/cmath.syn)|[en](https://en.cppreference.com/w/cpp/header/cmath) / [jp](https://ja.cppreference.com/w/cpp/header/cmath) / [cpprefjp](https://cpprefjp.github.io/reference/cmath.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cmath) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cmath) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cmath)|| +|[<compare>](http://eel.is/c++draft/compare.syn)|[en](https://en.cppreference.com/w/cpp/header/compare) / [jp](https://ja.cppreference.com/w/cpp/header/compare) / [cpprefjp](https://cpprefjp.github.io/reference/compare.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/16e2427f50c208dfe07d07f18009969502c25dc8/libstdc%2B%2B-v3/libsupc%2B%2B/compare) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/compare) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/compare)|since C++20| +|[<complex>](http://eel.is/c++draft/complex.syn)|[en](https://en.cppreference.com/w/cpp/header/complex) / [jp](https://ja.cppreference.com/w/cpp/header/complex) / [cpprefjp](https://cpprefjp.github.io/reference/complex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/complex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/complex) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/complex)|| +|[<concepts>](http://eel.is/c++draft/concepts.syn)|[en](https://en.cppreference.com/w/cpp/header/concepts) / [jp](https://ja.cppreference.com/w/cpp/header/concepts) / [cpprefjp](https://cpprefjp.github.io/reference/concepts.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/concepts) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/concepts) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/concepts)|since C++20| +|[<condition_variable>](http://eel.is/c++draft/condition.variable.syn)|[en](https://en.cppreference.com/w/cpp/header/condition_variable) / [jp](https://ja.cppreference.com/w/cpp/header/condition_variable) / [cpprefjp](https://cpprefjp.github.io/reference/condition_variable.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/condition_variable) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/condition_variable) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/condition_variable)|since C++11| +|[<coroutine>](http://eel.is/c++draft/coroutine.syn)|[en](https://en.cppreference.com/w/cpp/header/coroutine) / jp / [cpprefjp](https://cpprefjp.github.io/reference/coroutine.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/coroutine) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/coroutine) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/coroutine)|since C++20| +|[<csetjmp>](http://eel.is/c++draft/csetjmp.syn)|[en](https://en.cppreference.com/w/cpp/header/csetjmp) / [jp](https://ja.cppreference.com/w/cpp/header/csetjmp) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/csetjmp) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/csetjmp) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/csetjmp)|| +|[<csignal>](http://eel.is/c++draft/csignal.syn)|[en](https://en.cppreference.com/w/cpp/header/csignal) / [jp](https://ja.cppreference.com/w/cpp/header/csignal) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/csignal) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/csignal) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/csignal)|| +|[<cstdarg>](http://eel.is/c++draft/cstdarg.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdarg) / [jp](https://ja.cppreference.com/w/cpp/header/cstdarg) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdarg) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdarg) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cstdarg)|| +|[<cstddef>](http://eel.is/c++draft/cstddef.syn)|[en](https://en.cppreference.com/w/cpp/header/cstddef) / [jp](https://ja.cppreference.com/w/cpp/header/cstddef) / [cpprefjp](https://cpprefjp.github.io/reference/cstddef.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstddef) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstddef) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cstddef)|| +|[<cstdint>](http://eel.is/c++draft/cstdint.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdint) / [jp](https://ja.cppreference.com/w/cpp/header/cstdint) / [cpprefjp](https://cpprefjp.github.io/reference/cstdint.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdint) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdint) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cstdint)|since C++11| +|[<cstdio>](http://eel.is/c++draft/cstdio.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdio) / [jp](https://ja.cppreference.com/w/cpp/header/cstdio) / [cpprefjp](https://cpprefjp.github.io/reference/cstdio.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdio) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdio) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cstdio)|| +|[<cstdlib>](http://eel.is/c++draft/cstdlib.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdlib) / [jp](https://ja.cppreference.com/w/cpp/header/cstdlib) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdlib) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdlib) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cstdlib)|| +|[<cstring>](http://eel.is/c++draft/cstring.syn)|[en](https://en.cppreference.com/w/cpp/header/cstring) / [jp](https://ja.cppreference.com/w/cpp/header/cstring) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstring) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstring) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cstring)|| +|[<ctime>](http://eel.is/c++draft/ctime.syn)|[en](https://en.cppreference.com/w/cpp/header/ctime) / [jp](https://ja.cppreference.com/w/cpp/header/ctime) / [cpprefjp](https://cpprefjp.github.io/reference/ctime.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/ctime) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ctime) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/ctime)|| +|[<cuchar>](http://eel.is/c++draft/cuchar.syn)|[en](https://en.cppreference.com/w/cpp/header/cuchar) / [jp](https://ja.cppreference.com/w/cpp/header/cuchar) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cuchar) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cuchar) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cuchar)|since C++11| +|[<cwchar>](http://eel.is/c++draft/cwchar.syn)|[en](https://en.cppreference.com/w/cpp/header/cwchar) / [jp](https://ja.cppreference.com/w/cpp/header/cwchar) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cwchar) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cwchar) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cwchar)|| +|[<cwctype>](http://eel.is/c++draft/cwctype.syn)|[en](https://en.cppreference.com/w/cpp/header/cwctype) / [jp](https://ja.cppreference.com/w/cpp/header/cwctype) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cwctype) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cwctype) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cwctype)|| +|[<debugging>](http://eel.is/c++draft/debugging)|[en](https://en.cppreference.com/w/cpp/header/debugging) / jp / cpprefjp|libstdc++ / libc++ / MSVC|since C++26| +|[<deque>](http://eel.is/c++draft/deque.syn)|[en](https://en.cppreference.com/w/cpp/header/deque) / [jp](https://ja.cppreference.com/w/cpp/header/deque) / [cpprefjp](https://cpprefjp.github.io/reference/deque.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/deque) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/deque) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/deque)|| +|[<exception>](http://eel.is/c++draft/exception.syn)|[en](https://en.cppreference.com/w/cpp/header/exception) / [jp](https://ja.cppreference.com/w/cpp/header/exception) / [cpprefjp](https://cpprefjp.github.io/reference/exception.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/exception) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/exception) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/exception)|| +|[<execution>](http://eel.is/c++draft/execution.syn)|[en](https://en.cppreference.com/w/cpp/header/execution) / [jp](https://ja.cppreference.com/w/cpp/header/execution) / [cpprefjp](https://cpprefjp.github.io/reference/execution.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/execution) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/execution) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/execution)|since C++17| +|[<expected>](https://eel.is/c++draft/expected)|[en](https://en.cppreference.com/w/cpp/header/expected) / jp / [cpprefjp](https://cpprefjp.github.io/reference/expected.html)| [libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/expected) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/expected) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/expected)|since C++23| +|[<filesystem>](http://eel.is/c++draft/fs.filesystem.syn)|[en](https://en.cppreference.com/w/cpp/header/filesystem) / [jp](https://ja.cppreference.com/w/cpp/header/filesystem) / [cpprefjp](https://cpprefjp.github.io/reference/filesystem.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/filesystem) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/filesystem) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/filesystem)|since C++17| +|[<flat_set>](https://eel.is/c++draft/flat.set)|[en](https://en.cppreference.com/w/cpp/header/flat_set) / jp / cpprefjp|libstdc++ / libc++ / MSVC|since C++23| +|[<flat_map>](https://eel.is/c++draft/flat.map)|[en](https://en.cppreference.com/w/cpp/header/flat_map) / jp / [cpprefjp](https://cpprefjp.github.io/reference/flat_map.html)|libstdc++ / libc++ / MSVC|since C++23| +|[<format>](https://eel.is/c++draft/format)|[en](https://en.cppreference.com/w/cpp/header/format) / [jp](https://ja.cppreference.com/w/cpp/header/format) / [cpprefjp](https://cpprefjp.github.io/reference/format.html)|libstdc++ / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/format) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/format)|since C++20| +|[<forward_list>](http://eel.is/c++draft/forward.list.syn)|[en](https://en.cppreference.com/w/cpp/header/forward_list) / [jp](https://ja.cppreference.com/w/cpp/header/forward_list) / [cpprefjp](https://cpprefjp.github.io/reference/forward_list.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/forward_list) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/forward_list) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/forward_list)|since C++11| +|[<fstream>](http://eel.is/c++draft/fstream.syn)|[en](https://en.cppreference.com/w/cpp/header/fstream) / [jp](https://ja.cppreference.com/w/cpp/header/fstream) / [cpprefjp](https://cpprefjp.github.io/reference/fstream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/fstream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/fstream) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/fstream)|| +|[<functional>](http://eel.is/c++draft/functional.syn)|[en](https://en.cppreference.com/w/cpp/header/functional) / [jp](https://ja.cppreference.com/w/cpp/header/functional) / [cpprefjp](https://cpprefjp.github.io/reference/functional.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/functional) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/functional) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/functional)|| +|[<future>](http://eel.is/c++draft/future.syn)|[en](https://en.cppreference.com/w/cpp/header/future) / [jp](https://ja.cppreference.com/w/cpp/header/future) / [cpprefjp](https://cpprefjp.github.io/reference/future.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/future) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/future) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/future)|since C++11| +|[<generator>](http://eel.is/c++draft/generator.syn)|[en](https://en.cppreference.com/w/cpp/header/generator) / jp / [cpprefjp](https://cpprefjp.github.io/reference/generator.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/include/std/generator) / libc++ / MSVC|since C++23| +|[<hazard_pointer>](https://eel.is/c++draft/hazard.pointer.syn)|[en](https://en.cppreference.com/w/cpp/header/hazard_pointer) / jp / cpprefjp|libstdc++ / libc++ / MSVC|since C++26| +|[<initializer_list>](http://eel.is/c++draft/initializer.list.syn)|[en](https://en.cppreference.com/w/cpp/header/initializer_list) / [jp](https://ja.cppreference.com/w/cpp/header/initializer_list) / [cpprefjp](https://cpprefjp.github.io/reference/initializer_list.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/initializer_list) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/initializer_list) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/initializer_list)|since C++11| +|[<iomanip>](http://eel.is/c++draft/iomanip.syn)|[en](https://en.cppreference.com/w/cpp/header/iomanip) / [jp](https://ja.cppreference.com/w/cpp/header/iomanip) / [cpprefjp](https://cpprefjp.github.io/reference/iomanip.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/iomanip) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/iomanip) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/iomanip)|| +|[<ios>](http://eel.is/c++draft/ios.syn)|[en](https://en.cppreference.com/w/cpp/header/ios) / [jp](https://ja.cppreference.com/w/cpp/header/ios) / [cpprefjp](https://cpprefjp.github.io/reference/ios.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/ios) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ios) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/ios)|| +|[<iosfwd>](http://eel.is/c++draft/iosfwd.syn)|[en](https://en.cppreference.com/w/cpp/header/iosfwd) / [jp](https://ja.cppreference.com/w/cpp/header/iosfwd) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/iosfwd) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/iosfwd) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/iosfwd)|| +|[<iostream>](http://eel.is/c++draft/iostream.syn)|[en](https://en.cppreference.com/w/cpp/header/iostream) / [jp](https://ja.cppreference.com/w/cpp/header/iostream) / [cpprefjp](https://cpprefjp.github.io/reference/iostream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/iostream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/iostream) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/iostream)|| +|[<istream>](http://eel.is/c++draft/istream.syn)|[en](https://en.cppreference.com/w/cpp/header/istream) / [jp](https://ja.cppreference.com/w/cpp/header/istream) / [cpprefjp](https://cpprefjp.github.io/reference/istream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/istream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/istream) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/istream)|| +|[<iterator>](http://eel.is/c++draft/iterator.synopsis)|[en](https://en.cppreference.com/w/cpp/header/iterator) / [jp](https://ja.cppreference.com/w/cpp/header/iterator) / [cpprefjp](https://cpprefjp.github.io/reference/iterator.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/iterator) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/iterator) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/iterator)|| +|[<latch>](http://eel.is/c++draft/latch.syn)|[en](https://en.cppreference.com/w/cpp/header/latch) / [jp](https://ja.cppreference.com/w/cpp/header/latch) / [cpprefjp](https://cpprefjp.github.io/reference/latch.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/latch) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/latch) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/latch)|since C++20| +|[<limits>](http://eel.is/c++draft/limits.syn)|[en](https://en.cppreference.com/w/cpp/header/limits) / [jp](https://ja.cppreference.com/w/cpp/header/limits) / [cpprefjp](https://cpprefjp.github.io/reference/limits.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/limits) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/limits) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/limits)|| +|[<linalg>](http://eel.is/c++draft/linalg.syn)|[en](https://en.cppreference.com/w/cpp/header/linalg) / jp / [cpprefjp](https://cpprefjp.github.io/reference/linalg.html)|libstdc++ / libc++ / MSVC|since C++26| +|[<list>](http://eel.is/c++draft/list.syn)|[en](https://en.cppreference.com/w/cpp/header/list) / [jp](https://ja.cppreference.com/w/cpp/header/list) / [cpprefjp](https://cpprefjp.github.io/reference/list.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/list) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/list) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/list)|| +|[<locale>](http://eel.is/c++draft/locale.syn)|[en](https://en.cppreference.com/w/cpp/header/locale) / [jp](https://ja.cppreference.com/w/cpp/header/locale) / [cpprefjp](https://cpprefjp.github.io/reference/locale.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/locale) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/locale) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/locale)|| +|[<map>](http://eel.is/c++draft/associative.map.syn)|[en](https://en.cppreference.com/w/cpp/header/map) / [jp](https://ja.cppreference.com/w/cpp/header/map) / [cpprefjp](https://cpprefjp.github.io/reference/map.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/map) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/map) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/map)|| +|[<mdspan>](http://eel.is/c++draft/mdspan.syn)|[en](https://en.cppreference.com/w/cpp/header/mdspan) / jp / [cpprefjp](https://cpprefjp.github.io/reference/mdspan.html)|libstdc++ / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/mdspan) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/mdspan)|since C++23| +|[<memory>](http://eel.is/c++draft/memory.syn)|[en](https://en.cppreference.com/w/cpp/header/memory) / [jp](https://ja.cppreference.com/w/cpp/header/memory) / [cpprefjp](https://cpprefjp.github.io/reference/memory.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/memory) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/memory) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/memory)|| +|[<memory_resource>](http://eel.is/c++draft/mem.res.syn)|[en](https://en.cppreference.com/w/cpp/header/memory_resource) / [jp](https://ja.cppreference.com/w/cpp/header/memory_resource) / [cpprefjp](https://cpprefjp.github.io/reference/memory_resource.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/memory_resource) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/memory_resource) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/memory_resource)|since C++17| +|[<mutex>](http://eel.is/c++draft/mutex.syn)|[en](https://en.cppreference.com/w/cpp/header/mutex) / [jp](https://ja.cppreference.com/w/cpp/header/mutex) / [cpprefjp](https://cpprefjp.github.io/reference/mutex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/mutex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/mutex) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/mutex)|since C++11| +|[<new>](http://eel.is/c++draft/new.syn)|[en](https://en.cppreference.com/w/cpp/header/new) / [jp](https://ja.cppreference.com/w/cpp/header/new) / [cpprefjp](https://cpprefjp.github.io/reference/new.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/new) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/new) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/new)|| +|[<numbers>](http://eel.is/c++draft/numbers.syn)|[en](https://en.cppreference.com/w/cpp/header/numbers) / [jp](https://ja.cppreference.com/w/cpp/header/numbers) / [cpprefjp](https://cpprefjp.github.io/reference/numbers.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/numbers) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/numbers) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/numbers)|since C++20| +|[<numeric>](http://eel.is/c++draft/numeric.ops.overview)|[en](https://en.cppreference.com/w/cpp/header/numeric) / [jp](https://ja.cppreference.com/w/cpp/header/numeric) / [cpprefjp](https://cpprefjp.github.io/reference/numeric.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/numeric) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/numeric) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/numeric)|| +|[<optional>](http://eel.is/c++draft/optional.syn)|[en](https://en.cppreference.com/w/cpp/header/optional) / [jp](https://ja.cppreference.com/w/cpp/header/optional) / [cpprefjp](https://cpprefjp.github.io/reference/optional.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/optional) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/optional) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/optional)|since C++17| +|[<ostream>](http://eel.is/c++draft/ostream.syn)|[en](https://en.cppreference.com/w/cpp/header/ostream) / [jp](https://ja.cppreference.com/w/cpp/header/ostream) / [cpprefjp](https://cpprefjp.github.io/reference/ostream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/ostream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ostream) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/ostream)|| +|[<print>](http://eel.is/c++draft/print.syn)|[en](https://en.cppreference.com/w/cpp/header/print) / jp / [cpprefjp](https://cpprefjp.github.io/reference/print.html)| [libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/print) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/print) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/print)|since C++23| +|[<queue>](http://eel.is/c++draft/queue.syn)|[en](https://en.cppreference.com/w/cpp/header/queue) / [jp](https://ja.cppreference.com/w/cpp/header/queue) / [cpprefjp](https://cpprefjp.github.io/reference/queue.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/queue) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/queue) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/queue)|| +|[<random>](http://eel.is/c++draft/rand.synopsis)|[en](https://en.cppreference.com/w/cpp/header/random) / [jp](https://ja.cppreference.com/w/cpp/header/random) / [cpprefjp](https://cpprefjp.github.io/reference/random.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/random) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/random) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/random)|since C++11| +|[<ranges>](http://eel.is/c++draft/ranges.syn)|[en](https://en.cppreference.com/w/cpp/header/ranges) / [jp](https://ja.cppreference.com/w/cpp/header/ranges) / [cpprefjp](https://cpprefjp.github.io/reference/ranges.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/ranges) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ranges) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/ranges)|since C++20| +|[<ratio>](http://eel.is/c++draft/ratio.syn)|[en](https://en.cppreference.com/w/cpp/header/ratio) / [jp](https://ja.cppreference.com/w/cpp/header/ratio) / [cpprefjp](https://cpprefjp.github.io/reference/ratio.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/ratio) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ratio) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/ratio)|since C++11| +|[<rcu>](http://eel.is/c++draft/rcu.syn)|[en](https://en.cppreference.com/w/cpp/header/rcu) / jp / cpprefjp|libstdc++ / libc++ / MSVC|since C++26| +|[<regex>](http://eel.is/c++draft/re.syn)|[en](https://en.cppreference.com/w/cpp/header/regex) / [jp](https://ja.cppreference.com/w/cpp/header/regex) / [cpprefjp](https://cpprefjp.github.io/reference/regex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/regex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/regex) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/regex)|since C++11| +|[<scoped_allocator>](http://eel.is/c++draft/allocator.adaptor.syn)|[en](https://en.cppreference.com/w/cpp/header/scoped_allocator) / [jp](https://ja.cppreference.com/w/cpp/header/scoped_allocator) / [cpprefjp](https://cpprefjp.github.io/reference/scoped_allocator.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/scoped_allocator) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/scoped_allocator) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/scoped_allocator)|since C++11| +|[<semaphore>](http://eel.is/c++draft/semaphore.syn)|[en](https://en.cppreference.com/w/cpp/header/semaphore) / jp / [cpprefjp](https://cpprefjp.github.io/reference/semaphore.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/semaphore) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/semaphore) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/semaphore)|since C++20| +|[<set>](http://eel.is/c++draft/associative.set.syn)|[en](https://en.cppreference.com/w/cpp/header/set) / [jp](https://ja.cppreference.com/w/cpp/header/set) / [cpprefjp](https://cpprefjp.github.io/reference/set.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/set) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/set) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/set)|| +|[<shared_mutex>](http://eel.is/c++draft/shared.mutex.syn)|[en](https://en.cppreference.com/w/cpp/header/shared_mutex) / [jp](https://ja.cppreference.com/w/cpp/header/shared_mutex) / [cpprefjp](https://cpprefjp.github.io/reference/shared_mutex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/shared_mutex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/shared_mutex) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/shared_mutex)|since C++14| +|[<source_location>](http://eel.is/c++draft/source.location.syn)|[en](https://en.cppreference.com/w/cpp/header/source_location) / [jp](https://ja.cppreference.com/w/cpp/header/source_location) / [cpprefjp](https://cpprefjp.github.io/reference/source_location.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/source_location) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/source_location) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/source_location)|since C++20| +|[<span>](http://eel.is/c++draft/span.syn)|[en](https://en.cppreference.com/w/cpp/header/span) / [jp](https://ja.cppreference.com/w/cpp/header/span) / [cpprefjp](https://cpprefjp.github.io/reference/span.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/span) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/span) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/span)|since C++20| +|[<spanstream>](http://eel.is/c++draft/spanstream.syn)|[en](https://en.cppreference.com/w/cpp/header/spanstream) / jp / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/include/std/spanstream) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/spanstream)|since C++23| +|[<sstream>](http://eel.is/c++draft/sstream.syn)|[en](https://en.cppreference.com/w/cpp/header/sstream) / [jp](https://ja.cppreference.com/w/cpp/header/sstream) / [cpprefjp](https://cpprefjp.github.io/reference/sstream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/sstream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/sstream) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/sstream)|| +|[<stack>](http://eel.is/c++draft/stack.syn)|[en](https://en.cppreference.com/w/cpp/header/stack) / [jp](https://ja.cppreference.com/w/cpp/header/stack) / [cpprefjp](https://cpprefjp.github.io/reference/stack.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/stack) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/stack) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/stack)|| +|[<stacktrace>](http://eel.is/c++draft/stacktrace.syn)|[en](https://en.cppreference.com/w/cpp/header/stacktrace) / jp / [cpprefjp](https://cpprefjp.github.io/reference/stacktrace.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/include/std/stacktrace) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/stacktrace)|since C++23| +|[<stdexcept>](http://eel.is/c++draft/stdexcept.syn)|[en](https://en.cppreference.com/w/cpp/header/stdexcept) / [jp](https://ja.cppreference.com/w/cpp/header/stdexcept) / [cpprefjp](https://cpprefjp.github.io/reference/stdexcept.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/stdexcept) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/stdexcept) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/stdexcept)|| +|[<stdfloat>](http://eel.is/c++draft/stdfloat.syn)|[en](https://en.cppreference.com/w/cpp/header/stdfloat) / jp / [cpprefjp](https://cpprefjp.github.io/reference/stdfloat.html)| [libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/stdfloat) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/stdfloat) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/stdfloat)|since C++23| +|[<stop_token>](http://eel.is/c++draft/thread.stoptoken.syn)|[en](https://en.cppreference.com/w/cpp/header/stop_token) / [jp](https://ja.cppreference.com/w/cpp/header/stop_token) / [cpprefjp](https://cpprefjp.github.io/reference/stop_token.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/stop_token) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/stop_token) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/stop_token)|since C++20| +|[<streambuf>](http://eel.is/c++draft/streambuf.syn)|[en](https://en.cppreference.com/w/cpp/header/streambuf) / [jp](https://ja.cppreference.com/w/cpp/header/streambuf) / [cpprefjp](https://cpprefjp.github.io/reference/streambuf.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/streambuf) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/streambuf) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/streambuf)|| +|[<string>](http://eel.is/c++draft/string.syn)|[en](https://en.cppreference.com/w/cpp/header/string) / [jp](https://ja.cppreference.com/w/cpp/header/string) / [cpprefjp](https://cpprefjp.github.io/reference/string.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/string) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/string) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/string)|| +|[<string_view>](http://eel.is/c++draft/string.view.synop)|[en](https://en.cppreference.com/w/cpp/header/string_view) / [jp](https://ja.cppreference.com/w/cpp/header/string_view) / [cpprefjp](https://cpprefjp.github.io/reference/string_view.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/string_view) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/string_view) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/string_view)|since C++17| +|[<syncstream>](http://eel.is/c++draft/syncstream.syn)|[en](https://en.cppreference.com/w/cpp/header/syncstream) / [jp](https://ja.cppreference.com/w/cpp/header/syncstream) / [cpprefjp](https://cpprefjp.github.io/reference/syncstream.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/syncstream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/syncstream) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/syncstream)|since C++20| +|[<system_error>](http://eel.is/c++draft/system.error.syn)|[en](https://en.cppreference.com/w/cpp/header/system_error) / [jp](https://ja.cppreference.com/w/cpp/header/system_error) / [cpprefjp](https://cpprefjp.github.io/reference/system_error.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/system_error) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/system_error) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/system_error)|since C++11| +|[<text_encoding>](https://eel.is/c++draft/text.encoding)|[en](https://en.cppreference.com/w/cpp/header/text_encoding) / jp / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/include/std/text_encoding) / libc++ / MSVC|since C++26| +|[<thread>](http://eel.is/c++draft/thread.syn)|[en](https://en.cppreference.com/w/cpp/header/thread) / [jp](https://ja.cppreference.com/w/cpp/header/thread) / [cpprefjp](https://cpprefjp.github.io/reference/thread.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/thread) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/thread) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/thread)|since C++11| +|[<tuple>](http://eel.is/c++draft/tuple.syn)|[en](https://en.cppreference.com/w/cpp/header/tuple) / [jp](https://ja.cppreference.com/w/cpp/header/tuple) / [cpprefjp](https://cpprefjp.github.io/reference/tuple.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/tuple) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/tuple) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/tuple)|since C++11| +|[<type_traits>](http://eel.is/c++draft/meta.type.synop)|[en](https://en.cppreference.com/w/cpp/header/type_traits) / [jp](https://ja.cppreference.com/w/cpp/header/type_traits) / [cpprefjp](https://cpprefjp.github.io/reference/type_traits.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/type_traits) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/type_traits) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/type_traits)|since C++11| +|[<typeindex>](http://eel.is/c++draft/type.index.synopsis)|[en](https://en.cppreference.com/w/cpp/header/typeindex) / [jp](https://ja.cppreference.com/w/cpp/header/typeindex) / [cpprefjp](https://cpprefjp.github.io/reference/typeindex.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/typeindex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/typeindex) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/typeindex)|since C++11| +|[<typeinfo>](http://eel.is/c++draft/typeinfo.syn)|[en](https://en.cppreference.com/w/cpp/header/typeinfo) / [jp](https://ja.cppreference.com/w/cpp/header/typeinfo) / [cpprefjp](https://cpprefjp.github.io/reference/typeinfo.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/libsupc%2B%2B/typeinfo) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/typeinfo) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/typeinfo)|| +|[<unordered_map>](http://eel.is/c++draft/unord.map.syn)|[en](https://en.cppreference.com/w/cpp/header/unordered_map) / [jp](https://ja.cppreference.com/w/cpp/header/unordered_map) / [cpprefjp](https://cpprefjp.github.io/reference/unordered_map.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/unordered_map) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/unordered_map) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/unordered_map)|since C++11| +|[<unordered_set>](http://eel.is/c++draft/unord.set.syn)|[en](https://en.cppreference.com/w/cpp/header/unordered_set) / [jp](https://ja.cppreference.com/w/cpp/header/unordered_set) / [cpprefjp](https://cpprefjp.github.io/reference/unordered_set.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/unordered_set) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/unordered_set) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/unordered_set)|since C++11| +|[<utility>](http://eel.is/c++draft/utility)|[en](https://en.cppreference.com/w/cpp/header/utility) / [jp](https://ja.cppreference.com/w/cpp/header/utility) / [cpprefjp](https://cpprefjp.github.io/reference/utility.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/utility) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/utility) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/utility)|| +|[<valarray>](http://eel.is/c++draft/valarray.syn)|[en](https://en.cppreference.com/w/cpp/header/valarray) / [jp](https://ja.cppreference.com/w/cpp/header/valarray) / [cpprefjp](https://cpprefjp.github.io/reference/valarray.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/valarray) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/valarray) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/valarray)|| +|[<variant>](http://eel.is/c++draft/variant.syn)|[en](https://en.cppreference.com/w/cpp/header/variant) / [jp](https://ja.cppreference.com/w/cpp/header/variant) / [cpprefjp](https://cpprefjp.github.io/reference/variant.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/variant) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/variant) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/variant)|since C++17| +|[<vector>](http://eel.is/c++draft/vector.syn)|[en](https://en.cppreference.com/w/cpp/header/vector) / [jp](https://ja.cppreference.com/w/cpp/header/vector) / [cpprefjp](https://cpprefjp.github.io/reference/vector.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/vector) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/vector) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/vector)|| +|[<version>](https://eel.is/c++draft/version.syn)|[en](https://en.cppreference.com/w/cpp/header/version) / [jp](https://ja.cppreference.com/w/cpp/header/version) / [cpprefjp](https://cpprefjp.github.io/reference/version.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/version) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/version) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/version)|since C++20| ## 非推奨または削除 |ヘッダ|リファレンス|実装|バージョン| |---|---|---|---| -|[<ccomplex>](http://eel.is/c++draft/depr.complex.h.syn)|[en](https://en.cppreference.com/w/cpp/header/ccomplex) / [jp](https://ja.cppreference.com/w/cpp/header/ccomplex) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/ccomplex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ccomplex) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/ccomplex)|since C++11,
deprecated in C++17,
removed in C++20| -|[<ciso646>](http://eel.is/c++draft/depr.iso646.h.syn)|[en](https://en.cppreference.com/w/cpp/header/ciso646) / [jp](https://ja.cppreference.com/w/cpp/header/ciso646) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/ciso646) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ciso646) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/ciso646)|removed in C++20| -|[<codecvt>](http://eel.is/c++draft/depr.codecvt.syn)|[en](https://en.cppreference.com/w/cpp/header/codecvt) / [jp](https://ja.cppreference.com/w/cpp/header/codecvt) / [cpprefjp](https://cpprefjp.github.io/reference/codecvt.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/codecvt) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/codecvt) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/codecvt)|since C++11,
deprecated in C++17| -|[<cstdalign>](http://eel.is/c++draft/depr.stdalign.h.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdalign) / [jp](https://ja.cppreference.com/w/cpp/header/cstdalign) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdalign) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cstdalign)|since C++11,
deprecated in C++17,
removed in C++20| -|[<cstdbool>](http://eel.is/c++draft/depr.stdbool.h.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdbool) / [jp](https://ja.cppreference.com/w/cpp/header/cstdbool) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdbool) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdbool) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/cstdbool)|since C++11,
deprecated in C++17,
removed in C++20| -|[<ctgmath>](http://eel.is/c++draft/depr.tgmath.h.syn)|[en](https://en.cppreference.com/w/cpp/header/ctgmath) / [jp](https://ja.cppreference.com/w/cpp/header/ctgmath) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/ctgmath) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ctgmath) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/ctgmath)|since C++11,
deprecated in C++17,
removed in C++20| -|[<strstream>](http://eel.is/c++draft/depr.strstream.syn)|[en](https://en.cppreference.com/w/cpp/header/strstream) / [jp](https://ja.cppreference.com/w/cpp/header/strstream) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/include/backward/strstream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/strstream) / [MSVC](https://github.com/microsoft/STL/blob/master/stl/inc/strstream)|deprecated in C++98| +|[<ccomplex>](http://eel.is/c++draft/depr.complex.h.syn)|[en](https://en.cppreference.com/w/cpp/header/ccomplex) / [jp](https://ja.cppreference.com/w/cpp/header/ccomplex) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/ccomplex) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ccomplex) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/ccomplex)|since C++11,
deprecated in C++17,
removed in C++20| +|[<ciso646>](http://eel.is/c++draft/depr.iso646.h.syn)|[en](https://en.cppreference.com/w/cpp/header/ciso646) / [jp](https://ja.cppreference.com/w/cpp/header/ciso646) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/ciso646) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ciso646) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/ciso646)|removed in C++20| +|[<codecvt>](http://eel.is/c++draft/depr.codecvt.syn)|[en](https://en.cppreference.com/w/cpp/header/codecvt) / [jp](https://ja.cppreference.com/w/cpp/header/codecvt) / [cpprefjp](https://cpprefjp.github.io/reference/codecvt.html)|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/codecvt) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/codecvt) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/codecvt)|since C++11,
deprecated in C++17,
removed in C++26| +|[<cstdalign>](http://eel.is/c++draft/depr.stdalign.h.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdalign) / [jp](https://ja.cppreference.com/w/cpp/header/cstdalign) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdalign) / libc++ / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cstdalign)|since C++11,
deprecated in C++17,
removed in C++20| +|[<cstdbool>](http://eel.is/c++draft/depr.stdbool.h.syn)|[en](https://en.cppreference.com/w/cpp/header/cstdbool) / [jp](https://ja.cppreference.com/w/cpp/header/cstdbool) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/cstdbool) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/cstdbool) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/cstdbool)|since C++11,
deprecated in C++17,
removed in C++20| +|[<ctgmath>](http://eel.is/c++draft/depr.tgmath.h.syn)|[en](https://en.cppreference.com/w/cpp/header/ctgmath) / [jp](https://ja.cppreference.com/w/cpp/header/ctgmath) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/c_global/ctgmath) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/ctgmath) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/ctgmath)|since C++11,
deprecated in C++17,
removed in C++20| +|[<strstream>](http://eel.is/c++draft/depr.strstream.syn)|[en](https://en.cppreference.com/w/cpp/header/strstream) / [jp](https://ja.cppreference.com/w/cpp/header/strstream) / cpprefjp|[libstdc++](https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/include/backward/strstream) / [libc++](https://github.com/llvm/llvm-project/blob/main/libcxx/include/strstream) / [MSVC](https://github.com/microsoft/STL/blob/main/stl/inc/strstream)|deprecated in C++98| diff --git a/docs/standardization/meetings.md b/docs/standardization/meetings.md index 349eadd..0e4b4b3 100644 --- a/docs/standardization/meetings.md +++ b/docs/standardization/meetings.md @@ -4,17 +4,48 @@ description: C++ への提案文書を議論して承認する C++ 標準化委 C++ への提案文書を議論して承認する C++ 標準化委員会の全体会議の開催情報です。 +## 2025 Kona +- [2025-11-03 to 08](https://wg21.link/N4977) / コナ, ハワイ州, 米国 + +## 2025 Sofia +- [2025-06-16 to 21](https://wg21.link/N4991) / ソフィア, ブルガリア + +## 2025 Hagenberg +- [2025-02-10 to 15](https://wg21.link/N4997) / ハーゲンベルク, オーストリア + +## 2024 Wrocław +- [2024-11-18 to 23](https://wg21.link/N4974) / ヴロツワフ, ポーランド + +## 2024 St. Louis +- [2024-06-24 to 29](https://wg21.link/N4966) / セントルイス, ミズーリ州, 米国 + +## 2024 Tokyo +#### 場所 +- [2024-03-18 to 23](https://wg21.link/N4961) / 東京, 日本 + +## 2023 Kona +#### 場所 +- [2023-11-06 to 11](https://wg21.link/N4936) / コナ, ハワイ州, 米国 + +## 2023 Varna +#### 場所 +- [2023-06-12 to 17](https://wg21.link/N4935) / ヴァルナ, ブルガリア + +## 2023 Issaquah +#### 場所 +- [2023-02-06 to 11](https://wg21.link/N4925) / イサクア, ワシントン州, 米国 + ## 2022 Kona #### 場所 - 2022-11-07 to 12 / コナ, ハワイ州, 米国 -## 2022 New York +## July 2022 Virtual #### 場所 -- 2022-07 / ニューヨーク, ニューヨーク州, 米国 +- 2022-07-25 / オンライン -## 2022 Portland +## February 2022 Virtual #### 場所 -- [2022-02-07 to 12](https://wg21.link/N4831) / ポートランド, オレゴン州, 米国 +- [2022-02-07](https://wg21.link/N4900) / オンライン ## October 2021 Virtual #### 場所 @@ -24,6 +55,9 @@ C++ への提案文書を議論して承認する C++ 標準化委員会の全 #### 場所 - 2021-06-07 / オンライン +#### 参加報告 +- [Trip report: Summer 2021 ISO C++ standards meeting (virtual)](https://herbsutter.com/2021/06/09/trip-report-summer-2021-iso-c-standards-meeting-virtual/) by Herb Sutter + ## 2021 Varna #### 場所 - 2020-5-31 to 06-05 / ヴァルナ, ブルガリア (2021 年に以降に開催再延期) diff --git a/docs/standardization/proposals.md b/docs/standardization/proposals.md index 1608e0c..2293178 100644 --- a/docs/standardization/proposals.md +++ b/docs/standardization/proposals.md @@ -2,29 +2,121 @@ description: C++ 標準化委員会で議論される提案リストと日本語 # 提案リスト -C++20 / C++23 以降に向けた提案文書と、その日本語解説記事へのリンクです。 +C++ 標準化委員会の提案文書と、その日本語解説記事へのリンクです。 + +### 2025 年 +- [JTC1/SC22/WG21 - Papers 2025 mailing2025-05](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/#mailing2025-05){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2025 mailing2025-04](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/#mailing2025-04){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2025 mailing2025-03](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/#mailing2025-03){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2025 mailing2025-01](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/#mailing2025-01){:target="_blank"} + +### 2024 年 +- [JTC1/SC22/WG21 - Papers 2024 mailing2024-12](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/#mailing2024-12){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2024年12月)](https://onihusube.hatenablog.com/entry/2025/05/18/195724){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2024 mailing2024-10](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/#mailing2024-10){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2024年10月)](https://onihusube.hatenablog.com/entry/2025/04/20/205527){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2024 mailing2024-09](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/#mailing2024-09){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2024年09月)](https://onihusube.hatenablog.com/entry/2025/02/24/215818){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2024 mailing2024-08](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/#mailing2024-08){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2024年08月)](https://onihusube.hatenablog.com/entry/2025/01/26/185126){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2024 mailing2024-07](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/#mailing2024-07){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2024年07月)](https://onihusube.hatenablog.com/entry/2025/01/13/204945){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2024 mailing2024-05](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/#mailing2024-05){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2024年05月)](https://onihusube.hatenablog.com/entry/2024/11/24/155428){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2024 mailing2024-04](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/#mailing2024-04){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2024年04月)](https://onihusube.hatenablog.com/entry/2024/08/31/233056){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2024 mailing2024-02](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/#mailing2024-02){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2024年02月)](https://onihusube.hatenablog.com/entry/2024/05/18/235613){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2024 mailing2024-01](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/#mailing2024-01){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2024年01月)](https://onihusube.hatenablog.com/entry/2024/03/10/170322){:target="_blank"} + +### 2023 年 +- [JTC1/SC22/WG21 - Papers 2023 mailing2023-12](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/#mailing2023-12){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2023年12月)](https://onihusube.hatenablog.com/entry/2024/02/29/191439){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2023 mailing2023-10](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/#mailing2023-10){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2023年10月)](https://onihusube.hatenablog.com/entry/2024/01/08/203712){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2023 mailing2023-09](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/#mailing2023-09){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2023年09月)](https://onihusube.hatenablog.com/entry/2023/10/29/180915){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2023 mailing2023-08](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/#mailing2023-08){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2023年08月)](https://onihusube.hatenablog.com/entry/2023/10/14/223052){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2023 mailing2023-07](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/#mailing2023-07){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2023年07月)](https://onihusube.hatenablog.com/entry/2023/09/23/203644){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2023 mailing2023-05](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/#mailing2023-05){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2023年05月)](https://onihusube.hatenablog.com/entry/2023/07/08/205803){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2023 mailing2023-04](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/#mailing2023-04){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2023年04月)](https://onihusube.hatenablog.com/entry/2023/04/23/192236){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2023 mailing2023-02](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/#mailing2023-02){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2023年02月)](https://onihusube.hatenablog.com/entry/2023/03/19/184146){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2023 mailing2023-01](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/#mailing2023-01){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2023年01月)](https://onihusube.hatenablog.com/entry/2023/02/12/210302){:target="_blank"} + + +### 2022 年 +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-11](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-11){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年11月)](https://onihusube.hatenablog.com/entry/2022/12/25/175304){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-10](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-10){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年10月)](https://onihusube.hatenablog.com/entry/2022/11/13/233529){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-09](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-09){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年09月)](https://onihusube.hatenablog.com/entry/2022/10/09/021557){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-08](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-08){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年08月)](https://onihusube.hatenablog.com/entry/2022/09/04/141015){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-07](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-07){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年07月)](https://onihusube.hatenablog.com/entry/2022/08/11/193828){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-06](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-06){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年06月)](https://onihusube.hatenablog.com/entry/2022/07/09/160343){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-05](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-05){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年05月)](https://onihusube.hatenablog.com/entry/2022/06/11/191943){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-04](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-04){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年04月)](https://onihusube.hatenablog.com/entry/2022/05/08/195618){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-03](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-03){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年03月)](https://onihusube.hatenablog.com/entry/2022/04/02/175835){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-02](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-02){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年02月)](https://onihusube.hatenablog.com/entry/2022/03/19/224729){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2022 mailing2022-01](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/#mailing2022-01){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2022年01月)](https://onihusube.hatenablog.com/entry/2022/02/19/181101){:target="_blank"} ### 2021 年 -- [JTC1/SC22/WG21 - Papers 2021 mailing2021-02](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2020-02) -- [JTC1/SC22/WG21 - Papers 2021 mailing2021-01](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2020-01) - - 日本語での解説: [WG21月次提案文書を眺める(2021年01月)](https://onihusube.hatenablog.com/entry/2021/02/11/153333) +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-12](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-12){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年12月)](https://onihusube.hatenablog.com/entry/2022/01/10/235544){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-11](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-11){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年11月)](https://onihusube.hatenablog.com/entry/2021/12/11/220126){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-10](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-10){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年10月)](https://onihusube.hatenablog.com/entry/2021/11/13/193322){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-09](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-09){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年09月)](https://onihusube.hatenablog.com/entry/2021/10/03/193523){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-08](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-08){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年08月)](https://onihusube.hatenablog.com/entry/2021/09/03/230045){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-07](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-07){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年07月)](https://onihusube.hatenablog.com/entry/2021/08/14/213339){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-06](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-06){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年06月)](https://onihusube.hatenablog.com/entry/2021/07/12/182757){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-05](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-05){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年05月)](https://onihusube.hatenablog.com/entry/2021/06/13/165215){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-04](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-04){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年04月)](https://onihusube.hatenablog.com/entry/2021/05/14/214016){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-03](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-03){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年03月)](https://onihusube.hatenablog.com/entry/2021/04/10/222356){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-02](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-02){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年02月)](https://onihusube.hatenablog.com/entry/2021/03/12/225547){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2021 mailing2021-01](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/#mailing2021-01){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2021年01月)](https://onihusube.hatenablog.com/entry/2021/02/11/153333){:target="_blank"} ### 2020 年 -- [JTC1/SC22/WG21 - Papers 2020 mailing2020-12](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-12) - - 日本語での解説: [WG21月次提案文書を眺める(2020年12月)](https://onihusube.hatenablog.com/entry/2021/01/17/005823) -- [JTC1/SC22/WG21 - Papers 2020 mailing2020-11](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-11) - - 日本語での解説: [WG21月次提案文書を眺める(2020年11月)](https://onihusube.hatenablog.com/entry/2020/12/06/015108) -- [JTC1/SC22/WG21 - Papers 2020 mailing2020-10](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-10) - - 日本語での解説: [WG21月次提案文書を眺める(2020年10月)](https://onihusube.hatenablog.com/entry/2020/11/02/221657) -- [JTC1/SC22/WG21 - Papers 2020 mailing2020-09](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-09) - - 日本語での解説: [WG21月次提案文書を眺める(2020年9月)](https://onihusube.hatenablog.com/entry/2020/10/09/221025) -- [JTC1/SC22/WG21 - Papers 2020 mailing2020-08](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-08) - - 日本語での解説: [WG21月次提案文書を眺める(2020年8月)](https://onihusube.hatenablog.com/entry/2020/09/18/222444) -- [JTC1/SC22/WG21 - Papers 2020 mailing2020-07](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-07) - - 日本語での解説: [WG21月次提案文書を眺める(2020年7月)](https://onihusube.hatenablog.com/entry/2020/08/12/014639) -- [JTC1/SC22/WG21 - Papers 2020 mailing2020-06](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-06) - - 日本語での解説: [WG21月次提案文書を眺める(2020年6月)](https://onihusube.hatenablog.com/entry/2020/07/05/003248) -- [JTC1/SC22/WG21 - Papers 2020 mailing2020-05](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-05) - - 日本語での解説: [WG21月次提案文書を眺める(2020年5月)](https://onihusube.hatenablog.com/entry/2020/06/01/001003) -- [JTC1/SC22/WG21 - Papers 2020 mailing2020-04](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-04) - - 日本語での解説: [WG21月次提案文書を眺める(2020年4月)](https://onihusube.hatenablog.com/entry/2020/05/01/194425) +- [JTC1/SC22/WG21 - Papers 2020 mailing2020-12](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-12){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2020年12月)](https://onihusube.hatenablog.com/entry/2021/01/17/005823){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2020 mailing2020-11](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-11){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2020年11月)](https://onihusube.hatenablog.com/entry/2020/12/06/015108){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2020 mailing2020-10](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-10){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2020年10月)](https://onihusube.hatenablog.com/entry/2020/11/02/221657){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2020 mailing2020-09](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-09){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2020年9月)](https://onihusube.hatenablog.com/entry/2020/10/09/221025){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2020 mailing2020-08](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-08){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2020年8月)](https://onihusube.hatenablog.com/entry/2020/09/18/222444){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2020 mailing2020-07](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-07){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2020年7月)](https://onihusube.hatenablog.com/entry/2020/08/12/014639){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2020 mailing2020-06](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-06){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2020年6月)](https://onihusube.hatenablog.com/entry/2020/07/05/003248){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2020 mailing2020-05](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-05){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2020年5月)](https://onihusube.hatenablog.com/entry/2020/06/01/001003){:target="_blank"} +- [JTC1/SC22/WG21 - Papers 2020 mailing2020-04](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-04){:target="_blank"} + - 日本語での解説: [WG21月次提案文書を眺める(2020年4月)](https://onihusube.hatenablog.com/entry/2020/05/01/194425){:target="_blank"} diff --git a/docs/standardization/status.md b/docs/standardization/status.md index ca8279a..8cfa0ec 100644 --- a/docs/standardization/status.md +++ b/docs/standardization/status.md @@ -3,28 +3,46 @@ description: 各種 C++ 処理系の規格対応状況 # 処理系の対応状況 ## 処理系の比較表 -- [C++ compiler support](https://en.cppreference.com/w/cpp/compiler_support) +- [C++ compiler support (C++20 - C++26)](https://en.cppreference.com/w/cpp/compiler_support) +- [Compiler support for C++17](https://en.cppreference.com/w/cpp/compiler_support/17) +- [Compiler support for C++14](https://en.cppreference.com/w/cpp/compiler_support/14) + +## C++26 +- GCC: [C++26 Support in GCC](https://gcc.gnu.org/projects/cxx-status.html#cxx26) +- libstdc++: +- Clang: [C++26 implementation status](http://clang.llvm.org/cxx_status.html#cxx26) +- libc++: [libc++ C++26 Status](https://libcxx.llvm.org/Status/Cxx2c.html) +- Microsoft Visaul C++: +- Apple Clang: [C++26](https://developer.apple.com/xcode/cpp/#c++26) + +## C++23 +- GCC: [C++23 Support in GCC](https://gcc.gnu.org/projects/cxx-status.html#cxx23) +- libstdc++: [C++ 2023](https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2023) +- Clang: [C++23 implementation status](http://clang.llvm.org/cxx_status.html#cxx23) +- libc++: [libc++ C++23 Status](https://libcxx.llvm.org/Status/Cxx23.html) +- Microsoft Visaul C++: [Visual C++ Language Conformance](https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance) +- Apple Clang: [C++23](https://developer.apple.com/xcode/cpp/#c++23) ## C++20 - -- GCC: [C++2a Support in GCC](https://gcc.gnu.org/projects/cxx-status.html#cxx2a) -- libstdc++: [C++ 202a](https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2020) -- Clang: [C++2a implementation status](http://clang.llvm.org/cxx_status.html#cxx20) -- libc++: [libc++ C++2a Status](http://libcxx.llvm.org/cxx2a_status.html) +- GCC: [C++20 Support in GCC](https://gcc.gnu.org/projects/cxx-status.html#cxx20) +- libstdc++: [C++ 2020](https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2020) +- Clang: [C++20 implementation status](http://clang.llvm.org/cxx_status.html#cxx20) +- libc++: [libc++ C++20 Status](https://libcxx.llvm.org/Status/Cxx20.html) - Microsoft Visaul C++: [Visual C++ Language Conformance](https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance) +- Apple Clang: [C++20](https://developer.apple.com/xcode/cpp/#c++20) ## C++17 - - GCC: [C++17 Support in GCC](https://gcc.gnu.org/projects/cxx-status.html#cxx17) - libstdc++: [C++ 2017](https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2017) - Clang: [C++17 implementation status](http://clang.llvm.org/cxx_status.html#cxx17) -- libc++: [libc++ C++17 Status](http://libcxx.llvm.org/cxx1z_status.html) +- libc++: [libc++ C++17 Status](https://libcxx.llvm.org/Status/Cxx17.html) - Microsoft Visaul C++: [Visual C++ Language Conformance](https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance) +- Apple Clang: [C++17](https://developer.apple.com/xcode/cpp/#c++17) ## C++14 - - GCC: [C++14 Support in GCC](https://gcc.gnu.org/projects/cxx-status.html#cxx14) - libstdc++: [C++ 2014](https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014) - Clang: [C++14 implementation status](http://clang.llvm.org/cxx_status.html#cxx14) -- libc++: [libc++ C++14 Status](http://libcxx.llvm.org/cxx1y_status.html) +- libc++: [libc++ C++14 Status](https://libcxx.llvm.org/Status/Cxx14.html) - Microsoft Visaul C++: [Visual C++ Language Conformance](https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance) +- Apple Clang: [C++14](https://developer.apple.com/xcode/cpp/#c++14) diff --git a/docs/standardization/working-drafts.md b/docs/standardization/working-drafts.md index 4a2a92c..d6aa6d6 100644 --- a/docs/standardization/working-drafts.md +++ b/docs/standardization/working-drafts.md @@ -9,23 +9,24 @@ C++11 以降は、規格書と同等の内容のワーキングドラフトが | バージョン | ワーキングドラフト | 国際規格 | ページ数 | 日付 | |-------|--------------------------------------------------------------------------------------------|---------------------------------------------------------------|------|---------| -| C++98 | | [ISO/IEC 14882:1998](https://www.iso.org/standard/25845.html) | 732 | 1998-09 | -| C++03 | N1557 | [ISO/IEC 14882:2003](https://www.iso.org/standard/38110.html) | 757 | 2003-10 | -| C++11 | [N3337 (PDF)](http://wg21.link/n3337) / [HTML](https://timsong-cpp.github.io/cppwp/n3337/) | [ISO/IEC 14882:2011](https://www.iso.org/standard/50372.html) | 1338 | 2011-09 | -| C++14 | [N4140 (PDF)](http://wg21.link/n4140) / [HTML](https://timsong-cpp.github.io/cppwp/n4140/) | [ISO/IEC 14882:2014](https://www.iso.org/standard/64029.html) | 1358 | 2014-12 | -| C++17 | [N4659 (PDF)](http://wg21.link/n4659) / [HTML](https://timsong-cpp.github.io/cppwp/n4659/) | [ISO/IEC 14882:2017](https://www.iso.org/standard/68564.html) | 1605 | 2017-12 | -| C++20 | [N4860 (PDF)](https://isocpp.org/files/papers/N4860.pdf) / [HTML](https://timsong-cpp.github.io/cppwp/n4861/) | [ISO/IEC 14882:2020](https://www.iso.org/standard/79358.html) | 1853 | 2020-12 | -| C++23 | [N4878 (PDF)](http://wg21.link/n4878) / [HTML](http://eel.is/c++draft/)
※最終版ではない | (未発行) | ? | 2023-?? | +| C++98 | | [ISO/IEC 14882:1998 :material-open-in-new:](https://www.iso.org/standard/25845.html){:target="_blank"} | 732 | 1998-09 | +| C++03 | N1577 | [ISO/IEC 14882:2003 :material-open-in-new:](https://www.iso.org/standard/38110.html){:target="_blank"} | 757 | 2003-10 | +| C++11 | [N3337 (PDF) :material-open-in-new:](http://wg21.link/n3337){:target="_blank"} / [HTML :material-open-in-new:](https://timsong-cpp.github.io/cppwp/n3337/){:target="_blank"} | [ISO/IEC 14882:2011 :material-open-in-new:](https://www.iso.org/standard/50372.html){:target="_blank"} | 1338 | 2011-09 | +| C++14 | [N4140 (PDF) :material-open-in-new:](http://wg21.link/n4140){:target="_blank"} / [HTML :material-open-in-new:](https://timsong-cpp.github.io/cppwp/n4140/){:target="_blank"} | [ISO/IEC 14882:2014 :material-open-in-new:](https://www.iso.org/standard/64029.html){:target="_blank"} | 1358 | 2014-12 | +| C++17 | [N4659 (PDF) :material-open-in-new:](http://wg21.link/n4659){:target="_blank"} / [HTML :material-open-in-new:](https://timsong-cpp.github.io/cppwp/n4659/){:target="_blank"} | [ISO/IEC 14882:2017 :material-open-in-new:](https://www.iso.org/standard/68564.html){:target="_blank"} | 1605 | 2017-12 | +| C++20 | [N4860 (PDF) :material-open-in-new:](http://wg21.link/n4860){:target="_blank"} / [HTML :material-open-in-new:](https://timsong-cpp.github.io/cppwp/n4861/){:target="_blank"} | [ISO/IEC 14882:2020 :material-open-in-new:](https://www.iso.org/standard/79358.html){:target="_blank"} | 1853 | 2020-12 | +| C++23 | [N4950 (PDF) :material-open-in-new:](http://wg21.link/n4950){:target="_blank"} / [HTML :material-open-in-new:](https://timsong-cpp.github.io/cppwp/n4950/){:target="_blank"} | [ISO/IEC 14882:2024 :material-open-in-new:](https://www.iso.org/standard/83626.html){:target="_blank"} | 2104 | 2024-10 | +| C++26 | [N5014 (PDF) :material-open-in-new:](http://wg21.link/n5014){:target="_blank"} / [HTML :material-open-in-new:](http://eel.is/c++draft/){:target="_blank"}
※最終版ではない | (未発行) | ? | 2026-?? | - C++03 は日本語版 (JIS 規格) を無償で閲覧できます - - [日本産業標準調査会:データベース検索-JIS検索](https://www.jisc.go.jp/app/jis/general/GnrJISSearch.html) にて「X3014」を検索します + - [日本産業標準調査会:データベース検索-JIS検索 :material-open-in-new:](https://www.jisc.go.jp/app/jis/general/GnrJISSearch.html) にて「X3014」を検索します ## 過去の C++ の歴史的資料 | 日付 | 文書番号 | タイトル | ページ数 | |------------|-------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|------| -| 1990 年 2 月 | [X3J16 90-0004 の改稿版](https://drive.google.com/file/d/1XNzsgWMk0wfFOa5kjN9OV5a-04ttrdjE/view?usp=sharing) | The Annotated C++ Reference Manual | 160 | -| 1994 年 1 月 | [X3J16 94-0027 (N0414)](https://drive.google.com/file/d/1EDQvAQSrQXHbUdN1Al7EvuOlIEhg1Hdl/view?usp=sharing) | Working Paper for Draft Proposed International Standard for Information Systems - Programming Language C++ | 454 | +| 1990 年 2 月 | [X3J16 90-0004 の改稿版 :material-open-in-new:](https://drive.google.com/file/d/1XNzsgWMk0wfFOa5kjN9OV5a-04ttrdjE/view?usp=sharing){:target="_blank"} | The Annotated C++ Reference Manual | 160 | +| 1994 年 1 月 | [X3J16 94-0027 (N0414) :material-open-in-new:](https://drive.google.com/file/d/1EDQvAQSrQXHbUdN1Al7EvuOlIEhg1Hdl/view?usp=sharing){:target="_blank"} | Working Paper for Draft Proposed International Standard for Information Systems - Programming Language C++ | 454 | ## 参考文献 diff --git a/docs/tools/gitignore.md b/docs/tools/gitignore.md new file mode 100644 index 0000000..ab18808 --- /dev/null +++ b/docs/tools/gitignore.md @@ -0,0 +1,10 @@ +description: C++ 用 .gitignore の紹介 + +# C++ 用 .gitignore + +- C++ +[https://github.com/github/gitignore/blob/main/C%2B%2B.gitignore](https://github.com/github/gitignore/blob/main/C%2B%2B.gitignore) + +- VC++ (Visual Sutdio project) +[https://github.com/github/gitignore/blob/main/VisualStudio.gitignore](https://github.com/github/gitignore/blob/main/VisualStudio.gitignore) + diff --git a/docs/tools/linter.md b/docs/tools/linter.md new file mode 100644 index 0000000..4264254 --- /dev/null +++ b/docs/tools/linter.md @@ -0,0 +1,13 @@ +description: C++ リンターの紹介 + +# C++ リンター + +## Clang-Tidy +- https://clang.llvm.org/extra/clang-tidy/ + +## cpplint +- https://github.com/cpplint/cpplint + +## Cppcheck +- https://cppcheck.sourceforge.io/ + diff --git a/docs/tools/onlinecompilers.md b/docs/tools/onlinecompilers.md index 0203896..4ce2c92 100644 --- a/docs/tools/onlinecompilers.md +++ b/docs/tools/onlinecompilers.md @@ -8,15 +8,14 @@ C++ プログラムのコンパイル、実行、共有ができる Web サイ | | コンパイラ | 日本語入出力 | インタラクティブ | 複数ファイル | |---------------------------------------------------------------|-----------------------------------------------------------------------------------------------|:------------:|:------------:|:------------:| -| [Wandbox](https://wandbox.org/) |
  • GCC 4.4.7 - **11.0.0\***
  • Clang 3.1 - **13.0.0\***
  • | :fa-check: | | :fa-check: | -| [Compiler Explorer](https://godbolt.org/)
    (Execution モード) |
  • GCC 4.1.2 - **11.0.0\***
  • Clang 3.4.1 - **12.0.0\***
  • ICC 13.0.1 - **21.1.9**
  • | :fa-check: | | | -| [paiza.io](https://paiza.io/ja/projects/new?language=cpp) |
  • Clang 10.0.0
  • | :fa-check: | | :fa-check: | -| [Ideone](https://ideone.com/) |
  • GCC 8.3.0
  • | :fa-check: | | | -| [GDB Online](https://www.onlinegdb.com/) |
  • GCC 7.4.0
  • | :fa-check: | :fa-check: | :fa-check: | -| [repl.it](https://repl.it/languages/cpp) |
  • Clang 7.0.0
  • | :fa-check: | :fa-check: | :fa-check: | -| [C++ Shell](http://cpp.sh/) |
  • GCC 4.9.2
  • | | :fa-check: | | - -* 印は trunk +| [Wandbox](https://wandbox.org/) |
  • GCC 6.5.0 - 16.0
  • Clang 14.0 - 21.0
  • | :material-check: | | :material-check: | +| [Compiler Explorer](https://godbolt.org/)
    (Compiler モード) |
  • GCC 3.4.6 - 16.0
  • Clang 3.0 - 21.0
  • MSVC v19.14 - v19.latest
  • ICC 13.0.1 - 2021.10.0
  • | :material-check: | | :material-check: | +| [Compiler Explorer](https://godbolt.org/)
    (Execution モード) |
  • GCC 4.7.3 - 16.0
  • Clang 3.3 - 21.0
  • MSVC v19.20 - v19.latest
  • ICC 16.0.3 - 2021.10.0
  • | :material-check: | | :material-check: | +| [repl.it](https://repl.it/languages/cpp)
    (要アカウント登録) |
  • Clang 17.0.6
  • | :material-check: | :material-check: | :material-check: | +| [C++ Shell](http://cpp.sh/) |
  • Clang 16.0.0
  • | | :material-check: | | +| [paiza.io](https://paiza.io/ja/projects/new?language=cpp) |
  • Clang 10.0.0
  • | :material-check: | | :material-check: | +| [GDB Online](https://www.onlinegdb.com/) |
  • GCC 14.2.0
  • | :material-check: | :material-check: | :material-check: | +| [Ideone](https://ideone.com/) |
  • GCC 8.3.0
  • | :material-check: | | | ## その他のツール @@ -97,42 +96,3 @@ int main() } } ``` - - -### cee.studio -[cee.studio](https://www.cee.studio/) は、C, C++ プログラムを実行して、セグメンテーション違反などメモリに関する問題が発生したときに、その箇所と原因をわかりやすく表示する機能を持つオンラインコンパイラです。バッファオーバーラン、Null ポインタの参照外し、未初期化変数の利用などの問題を明らかにします。オンライン IDE で「Run in Guarrail」モードで実行することでメモリのデバッグを行えます。 - -入力例 -```C++ -#include - -int main() -{ - const char s[] = { 'A', 'B', 'C' }; - - std::cout << s << '\n'; -} -``` - -出力例 -``` - Memory access error: reading from the outside of a memory space; abort execution. - # Reading 4 bytes from 0x981cdd4 will read undefined values. - # - # The memory-space-to-be-read (start:0x981cdd4, size:3 bytes) is bound to 's' at - # file:/prog.cc::5, 0 - # - # 0x981cdd4 0x981cdd6 - # +------------------------------+ - # | the memory-space-to-be-read |...... - # +------------------------------+ - # ^~~~~~~~~~ - # the read starts at the memory-space begin. - # - # Stack trace (most recent call first) of the read. - # [0] file:/musl-1.1.10/src/string/strlen.c::91, 3 - # [1] unknown_location (report this ::244) - # [2] file:/prog.cc::7, 5 - # [3] [libc-start-main] -Segmentation fault -``` diff --git a/mkdocs.yml b/mkdocs.yml index 9a37465..04ead97 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -31,22 +31,30 @@ plugins: - en - ja separator: '[\s 、。,.がのをにへとでやかもる「」『』]+' - prebuild_index: true extra: social: - icon: fontawesome/brands/twitter link: https://twitter.com/Reputeless markdown_extensions: - admonition + - attr_list - codehilite - - fontawesome_markdown - footnotes - meta - pymdownx.inlinehilite - pymdownx.magiclink - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true - toc: permalink: true + toc_depth: 3 + slugify: !!python/object/apply:pymdownx.slugs.slugify + kwds: + case: lower + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg extra_css: - "https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" - cppmap_styles.css @@ -92,6 +100,8 @@ nav: - C++ コンパイラ: tools/compilers.md - C++ パッケージマネージャ: tools/package-manager.md - C++ コードフォーマッタ: tools/code-formatter.md + - C++ リンター: tools/linter.md - C++ プロジェクトテンプレート: tools/project-template.md + - C++ 用 .gitignore: tools/gitignore.md - 貢献: - コントリビュータ: contribution/contributors.md