2013/2/15 Akira Takahashi <faithandbrave@gmail.com>
Hi,I confused with boost::lockfree::queue behavior.Fist, run-time capacity:#include <iostream>#include <boost/lockfree/queue.hpp>int main(){boost::lockfree::queue<int, boost::lockfree::fixed_sized<true>> que(3);std::cout << std::boolalpha;std::cout << que.push(1) << std::endl; // truestd::cout << que.push(2) << std::endl; // truestd::cout << que.push(3) << std::endl; // truestd::cout << que.push(4) << std::endl; // false}I think this behavior is correct.But, compile-time capacity:#include <iostream>#include <boost/lockfree/queue.hpp>int main(){boost::lockfree::queue<int, boost::lockfree::capacity<3>> que;std::cout << std::boolalpha;std::cout << que.push(1) << std::endl; // truestd::cout << que.push(2) << std::endl; // truestd::cout << que.push(3) << std::endl; // false : why?std::cout << que.push(4) << std::endl; // false}Is this bug or specification?Thanks,Akira