title: Is std::swap atomic in C++0x due to rvalue references?
body: <p>Since we have rvalue references in C++0x it seems to me that it should be possible to implement std::swap as an atomic operation with CAS. Is this the case in the new standard, and if not why?</p>