
Howard Hinnant <hinnant@twcny.rr.com> writes:
On Oct 8, 2007, at 10:42 AM, Anthony Williams wrote:
I can help with a posix implementation. I don't have windows to develop on though.
Excellent. I've got both available (Windows + kubuntu), but it's certainly easier to just stick to one platform.
Also, even though it's been punted to TR2, I want to get the read- write mutex back in --- I have a new implementation, and it's been missing since 1.32, so it would be good to get it back in the relese.
I can help on posix here too. I'm hoping it will look something like:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2406.html#shared_mu...
That looks like my prototypes, other than the name.
or at least take some of those design decisions into consideration. The downside is that the above really needs rvalue ref for the upgrade- stuff. Possibilities include just not doing the upgrade stuff if rvalue ref is missing, or simulating move along the lines of what Dave has done.
I've got a simulated move that I've been using.
The standard containers are an integral part of the proposed std::thread package. Without move support in the standard containers useful structures such as vector<thread> are going to be missing. The lack of thread factory functions will also be unfortunate until compilers (such as gcc 4.3, boostcon and CodeWarrior 10) support returning move-only types from functions.
Simulated move can handle thread factory functions, but you can't get vector<thread> without a suitable standard library. Anthony -- Anthony Williams Just Software Solutions Ltd - http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL