I've discovered that passing a string pointer into a boost::lockfree::queue will cause a memory leak because the string pointer cannot be fully released.
Is the situation the same for a boost::lockfree::stack?
The requirement for a boost::lockfree::stack is:
- T must have a copy constructor
If a regular string pointer cannot be used, is there any other way a string can be put into a boost::lockfree::stack?
Regular string
When I try this
boost::lockfree::stack<string> my_stack(128);
I get these errors
 BOOST_STATIC_ASSERT(boost::has_trivial_assign<T>::value);
 BOOST_STATIC_ASSERT(boost::has_trivial_destructor<T>::value);
which seems strange to me, probably because of my inexperience, because those are actually the requirements for boost::lockfree::queue which now strangely has no documentation
- T must have a copy constructor
- T must have a trivial assignment operator
- T must have a trivial destructor
