
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.
What exactly about PODs is it taking advantage of? In C++0x will it work for all standard layout types?
one needs to read the payload from the fifo node, before it is dequeued. this may happen more than once otherwise a later dequeue may free the node. it is nothing, c++0x can change, but a property of the michael/scott queue [1]. the type essentially needs a trivial copy constructor. tim [1] http://www.cs.rochester.edu/research/synchronization/pseudocode/queues.html -- tim@klingt.org http://tim.klingt.org The composer makes plans, music laughs. Morton Feldman