私はContiguousIteratorのコンセプトがwords specificationであることを知っていますが、C++ 20/C++ 17 Concepts TS構文を使用して記述できるかどうか疑問です。ContiguousIteratorのコンセプトを書くことができますか?
RandomAccessIteratorと違って、ContiguousIteratorはit+123
のようないくつかの操作だけでなく、その操作の実行時の結果に依存します。
私はContiguousIteratorのコンセプトがwords specificationであることを知っていますが、C++ 20/C++ 17 Concepts TS構文を使用して記述できるかどうか疑問です。ContiguousIteratorのコンセプトを書くことができますか?
RandomAccessIteratorと違って、ContiguousIteratorはit+123
のようないくつかの操作だけでなく、その操作の実行時の結果に依存します。
いいえ、型が連続していることを選ぶ形質クラスやその他のヘルパーがないとできません。
問題は現在解決できません。委員会は、連続したメモリアクセスを推定するために何をすべきか考えている。 fluerは、iterator_categoryが(iterator_traitsに存在するにもかかわらず)特性ではないということです。これはアドホック型です。既存のコードを破ることなく、サブタイプ化することはできません。 (初心者の間違い、何?)委員会は混乱を認めています。この最近のディスカッションでは、すべて - >How to deduce contiguous memory from iterator
私には分かりません...「&*(i + 1)==&* i + 1'」の「ContiguousIterator i」の定義はありませんか? – Massa
@massaコンパイル時にそれをどのようにチェックしますか?タイプのすべてのインスタンスにわたって? – Yakk
私は答えがありません、そして私はそれが不可能かもしれないと認めなければなりません...私がそれをつかむことができるなら、私はここに戻ってくるでしょう: - / – Massa