Sie legen die Kapazität des circular_buffer
nicht fest.
Nach dem documentation
nun der Konstruktor zuteilt keine Speicher und beide Kapazität und Größe werden auf Null gesetzt. Beachten Sie auch, dass beim Einfügen eines Elements in einen circular_buffer ohne Kapazität (z. B. push_back (const_reference) oder insert (iterator, value_type)) nichts eingefügt wird und die Größe (sowie die Kapazität) Null bleibt.
Daher sollten Sie den Puffer als solche konstruieren:
size_t const BUFFER_CAPACITY(1024); // Whatever is appropriate
boost::circular_buffer<bool> stuff(BUFFER_CAPACITY);
Eine Alternative ist die set_capacity(...)
Methode zu verwenden, um dies nach dem Bau zu tun:
boost::circular_buffer<bool> stuff;
// ...
size_t BUFFER_SIZE(1024); // Whatever is appropriate
stuff.set_capacity(BUFFER_CAPACITY);