
Dmitry Goncharov schrieb:
Wow, that's a hard line you've drawn there. I'm not sure I agree. The only reason this matters is if you're going to be changing the implementation and don't want to recompile the code that uses the header. For users compilation time matters as well. Users who don't use
Anthony Williams wrote: precompiled headers have to recompile a header only library over and over.
I tend to agree here -- I had to wrap all thread usage behind a PIMPL because previously it would include <windows.h>, which is deadly for compile times. Unless there are very compelling reasons to move the stuff into the header (like, all other mutex implementations in Boost get removed), then I can understand it, but otherwise I'd leave it as it is. The thing is, the argument that lightweight_mutex /could/ be removed is bogus until there is some definite plan to remove it while doing this change, otherwise we'll end up with having both to pay the price of higher compile times in Boost.Thread and having a mostly redundant class somewhere else. Cheers, Anteru