Opened 6 years ago
#12717 new Bugs
Incomplete documentation of boost::lockfree::queue::queue
Reported by: | Owned by: | timblechmann | |
---|---|---|---|
Milestone: | To Be Determined | Component: | lockfree |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
boost::lockfree::queue::queue(void)
can only be called if if boost::lockfree::capacity
was specified (as enforced by the BOOST_ASSERT
in include/boost/lockfree/queue.hpp line 179. However this requirement is not enforced in a non-debug build and it is not mentioned in the documentation for boost::lockfree::queue::queue(void)
.
The same thing is true of boost::lockfree::queue::queue(allocator const &)
in include/boost/lockfree/queue.hpp line 198 and of boost::lockfree::queue::queue(size_type)
in include/boost/lockfree/queue.hpp line 210.
I think these restrictions should be included in the documentation. The docs would lead me to believe that one could write
void some_function() { boost::lockfree::queue<int> q; }
But if that is built in debug mode it will fail the assertion in include/boost/lockfree/queue.hpp line 179