onihusube

Results 14 comments of onihusube

Core/LiblaryのIssueのまとめ(P2462R0, P2450R0)とP2036R3のDRとしての扱いは今まで通りの運用だと思うんですが、それ以外のもの、特にC++20に対してDRとされているライブラリ機能の提案については、コンパイラの実装状況とかに関係なくC++20に対して適用することを意図しているように思います(私はよくこれを歴史修正と呼んでいます)。 なので、そうしたもの(多分`, `周りがメイン?)に関してはC++20のページに記載しておくのがいいかと思います。DRであることを明示しておくのはいいと思います。

判別基準を明確にするなら、「C++20で導入された機能に対するDRとされている提案」が(多分全部)それにあたると思います。 ほとんどがライブラリ機能に対するものですが、多分今後[P2468](https://wg21.link/p2468)が言語機能としてそこに加わります。

なんか余計なことを言ってしまったかもしれません・・・ よく見てみると一部には機能テストマクロをバンプアップしてるものもあったりするので、私が思ってるほど強く過去を無かったことにするものではないかもしれません。 ここでの対応としてはC++20に対するDRとしてまとめてC++23wikiページに書いておく、でも良いかと思いました。 というかDRごとにその経緯を考慮して書き分けるのは無理というか継続不可能なので、DRはそれがWDに取り込まれたバージョンのページにDRであることを明記して置いておく、今の形が良いのではと思い始めています。適用されるバージョンすらもDR毎に異なるので、それを明記しようとするのも負担が大きくなりそうです・・・

[P1021R4](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1021r4.html)の"Class Template Argument Deduction for alias templates"のセクションに、`polymorphic_allocator`が導入される前にこの提案があったら`pmr::vector`の宣言はこうなっていたのでは?的な事が書いてあって、そこで近い?使われ方をしています。 ```cpp namespace pmr { template using vector = std::vector; // See P0887R1 for type_identity_t } pmr::vector pv({1, 2, 3}, mem_res); // OK with...

`std::type_identity_t`を各種コンテナのアロケータパラメータに適用して、`pmr`コンテナの用法を改善する提案が出てました。ご参考に。 - [P1518R2 Stop overconstraining allocators in container deduction guides](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1518r2.html#wording)

ここでの`std::type_identity_t`の使用は、エイリアステンプレートの推論補助を導出する際に推論できないコンテキストを意図的に作り出すことが目的で、それがあるときでも推論補助の導出が失敗しない・エイリアステンプレートの意味が変わるような推論補助とならない、ことを例示したいのだと思われます。 規格書(提案文書)の最初に出てくる例、クラス`C`で推論補助を求めてみると、その有無で導出される推論補助が異なることがわかります。 - [[C++]`std::array`のエイリアステンプレートとCTAD](https://onihusube.hatenablog.com/entry/2021/11/10/191519) 手順などの詳細は省略するので、この記事をご参照ください。 ## `std::type_identity_t`がある時 ```cpp template struct C { C(T, U); }; // (1) 推論補助 template C(T, U) -> C; // (2) エイリアステンプレート template using A =...

面白いかは分からないですが、リテラル0だけを受け取る関数(nullptrからは目を逸らして・・・) ```cpp struct minus { constexpr bool operator(std::nullptr_t) { return false; } }; void f(std::nullptr_t) { std::cout

標準化委員会の中の人のおひとりBarry Revzinさんのブログです https://brevzin.github.io/

こんなスレが立ってました、ご参考に - [List of C++ blogs by individual developers : cpp - Reddit](https://www.reddit.com/r/cpp/comments/m51ugh/list_of_c_blogs_by_individual_developers/)