謎の用語niebloid
cppreference.comは随所に様々アノテーションがついていて大変便利だ。例えば(since C++17)
といった感じでこれはC++17以降に登場した定義とかそういうのがひと目でわかる。さっき20での変更に何があるのか適当に眺めていたところ、<algorithms>の変更でConstraind algorithmsというのを見つけた。これはいわゆるRange TSと呼ばれていたもので、Boost.Rangeの標準化みたいなもの(のはず)だ。
よくよく見てみると、これには(niebloid)
という見慣れないアノテーションがついている。全くわからない。他の(concept)
とかは意味がわかる。これはそのままだ。
適当にぐぐってみるとものすごくヒットが少ない。とはいえ検索結果で目につくのはなんと言ってもEric Nieblerだ。この人はBoost.Rangeのメンテナで、Range TSの担当(?)だ。なるほどなんとなく察しがつく。
I hope this sticks. It would amuse me to no end to hear folks arguing about "niebloids" in a WG21 meeting some day. https://t.co/7abV4BsYkx
— Eric Niebler (@ericniebler) 2018年11月19日
どうもniebloidというのは彼が作った造語で、これらはADLを徹底的に排除した関数呼び出し形式で扱えるなにかを指すらしい。 言いたいことはわかるがしかしあまりに唐突すぎる言葉なのでcppreference.comにも何かしらの説明がほしい... cppreference.com内で検索してもヒットしないのはいただけない
ちなみにNieblerは ニーブラー と発音するっぽいので、おそらくniebloidは ニーブロイド と発音するのだろう。