boostorg / boostorg/circular_buffer
full() returns false even if the circular buffer is full
- Lingua principale
- C++
- Stelle
- 65
- Fork
- 64
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hi,
I have created a boost::circular_buffer using the default ctor.
Then I call set_capacity(100) and then I push_back() a thousand elements: the size() of the circular buffer is reported as 99 and thus the function full() always return false.
I think this is very misleading: my belief is that instead of having:
bool full() const BOOST_NOEXCEPT { return capacity() == size(); }
we should have:
bool full() const BOOST_NOEXCEPT { return capacity()-1 == size(); }
What am I missing?
Thanks,
Francesco
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Iniziare dagli entry point del costruttore di boost::circular_buffer, set_capacity(), push_back(), size(), capacity() e full(), e riprodurre la sequenza segnalata di 1,000 inserimenti dopo aver impostato la capacità su 100. Confrontare la dimensione osservata e il risultato di full() con la semantica documentata della capacità del circular buffer; il lavoro è completato quando si è determinato se si tratta di un difetto della libreria o di un’aspettativa errata e la conclusione è stata documentata o testata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- backend
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100