[{"data":1,"prerenderedAt":60},["ShallowReactive",2],{"$f9-beMOvFS4ggksN4OcKYMXJwiUtHgsBmRuscMin-UOM":3},[4,11,17,23,30,36,42,48,54],{"title":5,"description":6,"url":7,"kind":8,"publishedAt":9,"publishedAtLabel":10},"Lucid C++ C++の輪郭 C++23入門 コンテナ編","C++23入門シリーズのコンテナ編。言語編の上に、標準ライブラリのコンテナ・アルゴリズム・スマートポインタと、値を表す optional・expected・variant・any を据える。","https://zenn.dev/yaito3014/books/introduction-to-cpp23-containers","book","2026-06-10T05:26:24.000Z","2026年6月10日",{"title":12,"description":13,"url":14,"kind":8,"publishedAt":15,"publishedAtLabel":16},"Lucid C++ C++の輪郭 C++23入門 言語編","C++23入門シリーズの言語編。基本編の続きとして、言語機能をより深く据える。","https://zenn.dev/yaito3014/books/introduction-to-cpp23-language","2026-06-08T07:31:10.000Z","2026年6月8日",{"title":18,"description":19,"url":20,"kind":8,"publishedAt":21,"publishedAtLabel":22},"Lucid C++ C++の輪郭 C++23入門 基本編","C++23への入門書","https://zenn.dev/yaito3014/books/introduction-to-cpp23-basic","2026-06-03T17:59:27.000Z","2026年6月4日",{"title":24,"description":25,"url":26,"kind":27,"publishedAt":28,"publishedAtLabel":29},"std::vector\u003Cbool>とC++20コンセプト","std::vector\u003Cbool> の特殊性\n突然ですがstd::vector\u003Cbool>はご存知でしょうか。\nstd::vectorクラステンプレートの特殊化の一つで、boolをそのまま配列としてしまうと空間効率が悪いために特別な実装とすることが実装者に推奨されています。\nstd::vector\u003Cbool>の実装詳細については他に譲りますが、とにかく通常のstd::vector\u003CT>とはそのインターフェースが異なります。\n通常std::vector\u003CT>::referenceはT&と等しいですが、std::vect...","https://zenn.dev/yaito3014/articles/vector-bool-and-cpp20-concept","article","2026-05-10T23:28:53.000Z","2026年5月11日",{"title":31,"description":32,"url":33,"kind":27,"publishedAt":34,"publishedAtLabel":35},"C++26リフレクションでつくる tuple と variant","はじめに\nこの記事は C++ Advent Calendar 2025 9 日目の記事となります。\nC++26 には静的リフレクション(P2996R13 Reflection for C++26)が採択されました。\nこの変更は今まで行われてきたメタプログラミングを凌駕する表現の可能性を秘めています。\nmagic_enum 相当の処理が標準の範囲内でできるようになるということは既に有名かもしれません。\n\n 既存の tuple や variant\n本題に入る前に、既存の tuple や variant がどのように実装されてきたのかを見ていきたいと思います。\n\n tuple\nまずは tu...","https://zenn.dev/yaito3014/articles/reflection-tuple-variant","2025-12-08T15:09:28.000Z","2025年12月9日",{"title":37,"description":38,"url":39,"kind":27,"publishedAt":40,"publishedAtLabel":41},"std::type_orderによる型リストの正規化","std::type_order について\nC++26 において std::type_order クラステンプレートが導入されます[1]。これは２つの型を取って std::strong_ordering を返すようなメタ関数であり、ユーザー定義型を含めあらゆる型に対し処理系定義の一貫した順序付けを行うものです。\nstruct A {};\nstruct B {};\n\nconstexpr std::strong_ordering ord = std::type_order\u003CA, B>::value; // 処理系定義の値\nこれまでにも std::type_info による実行時...","https://zenn.dev/yaito3014/articles/type-order-and-canonicalization","2025-11-11T08:13:03.000Z","2025年11月11日",{"title":43,"description":44,"url":45,"kind":27,"publishedAt":46,"publishedAtLabel":47},"concat_view の内部実装について","はじめに\nまだ GCC しか std::ranges::concat_view を実装していない 2024 年 09 月頃、ある人の要望とひょんな思いつきから自作ライブラリに concat_view の実装を生やすことになりました。\n本記事は実装にあたって気になったり面白いと思ったりした箇所に関する覚書となります。\n\n 概要\nconcat_view は複数の view を連結するレンジアダプタで、受け取った view たちを std::tuple で内部的に保持し[1]、イテレータはそれぞれの view のイテレータを std::variant で持ち[1:1]つつ走査していきます。...","https://zenn.dev/yaito3014/articles/impl-concat-view","2024-11-09T07:41:14.000Z","2024年11月9日",{"title":49,"description":50,"url":51,"kind":27,"publishedAt":52,"publishedAtLabel":53},"C++26 の std::execution の概念まとめ [WIP]","概要\nP2300 std::execution がついに C++26 入りしたとのことで、自分のためにもどういった設計になっているのかを用語を整理しながら見ていこうと思います。\n\n CPO の種別について\nstd::execution には多くの CPO (customization point object) が登場しますが、どうやらそれらには種別があるようです(規格書にも下記と同様の表が載っています)\n\n\n\n種別\n説明\n具体例\n\n\n\n\ncore\n\nstd::execution の機能のコアとなる\n\nstart, connect\n\n\n\ncompletion functions\nse...","https://zenn.dev/yaito3014/articles/sender-receiver","2024-07-30T12:33:55.000Z","2024年7月30日",{"title":55,"description":56,"url":57,"kind":27,"publishedAt":58,"publishedAtLabel":59},"メタ関数のカリー化","序文\nメタ関数をカリー化したい、と誰もが一度は思うはず[1]です。\nなので早速やっていきます。\n\n メタ関数の作成\nまずやりたい事を明確にします。カリー化というぐらいですから、以下のように書きたいですね。\ntemplate \u003Cclass T, class U> struct X {};\nusing curried = curry\u003CX>::type;\nstatic_assert(std::is_same\u003Ccurried\u003CT>\u003CU>, X\u003CT, U>>::value);\nしかし curried\u003CT>&lt...","https://zenn.dev/yaito3014/articles/7d2182ec97f3e0","2021-03-03T08:57:07.000Z","2021年3月3日",1792029097738]