boostorg / boostorg/iterator

Update for compatibility with C++20 iterator concepts

Aperta
#89 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.