yohhoyの日記

技術的メモをしていきたい日記

2021-01-01から1年間の記事一覧

非staticデータメンバを判定する制約式

C++

C++20 requires式(requires-expression)の単純な利用では非static/staticメンバを区別できない。requires式の本体部は評価されない(unevaluated)ため、通常コードとは異なる規則が適用されることに注意。 // staticメンバmを持つ型X struct X { static cons…

"Poison-pill" overload for CPO

C++

C++20標準ライブラリで導入された Customization Point Object (CPO)定義で必要となる Poison-pill*1 オーバーロードについてメモ。std::ranges::swapやstd::ranges::begin/endなどのCPO定義で利用される。本記事の内容はStackOverflowで見つけた質問と回答…

std::search_nアルゴリズムとゼロ長サブシーケンス一致

C++

N要素からなるサブシーケンス検索を行うC++標準アルゴリズムstd::search_nでは、“0個の任意要素からなるサブシーケンス” は常に先頭位置にマッチする。 #include <algorithm> int arr[5] = {0, 10, 10, 20, 30}; // 2個の要素10からなるサブシーケンス auto itr1 = std:</algorithm>…