
1. "Limitation: The fifo class is limited to PODs". I really would like to be able to use this with arbitrary objects. I'm sure PODs are required for good reason, but a rationale somewhere would be greatly appreciated.
it is a limitation of the michael/scott algorithm. if you want to pass non- pods, you have to use heap-allocated pointers.
It should be possible to automatically allocate non-pods from a freelist.
... one could introduce another indirection ...
Might I suggest turning this library into a general concurrent data structures library? Lock-free is great, but sometimes it's either not available or is simply too slow outside of niche circumstances. I think a more general library that includes lock-free along with other less-than-lock-free algorithms would be more useful to the majority of developers.
the idea is not too bad, but frankly, i don't have the resources to develop a library of general-purpose concurrent data structures. there are libraries like tbb out there, that already provide many concurrent data structures ... but not so many libraries for lock-free data structures, that can actually be used in real-time systems tim -- tim@klingt.org http://tim.klingt.org Happiness is a byproduct of function, purpose, and conflict; those who seek happiness for itself seek victory without war. William S. Burroughs