Update for compatibility with C++20 iterator concepts
- Lingua principale
- C++
- Stelle
- 23
- Fork
- 70
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
In C++20, forward iterators (and more advanced) no longer require the iterator reference type to be an actual reference. Instead, it is required that a reference can be formed to the reference type.
Since Boost.Iterator iterators still define their categories using C++03 rules, some iterators receive unnecessarily strict categories in terms of C++20. [Here](https://github.com/boostorg/iterator/issues/88#issuecomment-2447875807) is one example.
Perhaps, we should use C++20 rules for deducing iterator categories in C++20 and later and the current rules in C++17 and older.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia esaminando la deduzione della categoria dell’iteratore di Boost.Iterator e le regole di C++20 descritte in questa issue, quindi ispeziona l’esempio collegato nell’issue 88. Confronta il comportamento attuale basato su C++03 con C++20 e gli standard precedenti. Il lavoro è completo quando C++20 e le versioni successive usano le nuove regole, mentre C++17 e le versioni precedenti mantengono le regole esistenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100