circular_buffer
の容量を設定していません。
documentation
によれば、今コンストラクタは、任意のメモリを割り当てないとの両方の容量とサイズはゼロに設定されています。また、push_back(const_reference)やinsert(iterator、value_type)などのように、容量がゼロの循環バッファに要素を挿入すると、何も挿入されず、サイズ(容量と同様に)はゼロのままです。したがって
、次のようなバッファを構築する必要があります
size_t const BUFFER_CAPACITY(1024); // Whatever is appropriate
boost::circular_buffer<bool> stuff(BUFFER_CAPACITY);
代替は、建設後にこれを行うにはset_capacity(...)
メソッドを使用することです:
boost::circular_buffer<bool> stuff;
// ...
size_t BUFFER_SIZE(1024); // Whatever is appropriate
stuff.set_capacity(BUFFER_CAPACITY);