The bc::atomic class serves the same purpose as std::atomic but is not limited to integral types. It is lock-free, the commenter misinterprets the term. Lock free does not mean mutex free. The purpose is the same as std::atomic, to provide atomicity. Implantation in both is opaque.
@evoskuil, right, i didn't understand the sense of those Boost mutex locking semantics also :))
it looks to me like that there are multiple lock modes in those mutexes, one that's called "upgrade", one that's called "shared", and one that's called "exclusive", and frequently in a code block you go something like -> upgrade mode -> exclusive mode -> unlock.
what's the point here?