I was surprised this didn\'t show up in my search results, I thought someone would\'ve asked this before, given the usefulness of move semantics in C++11:
Actually when I search around, I found quite some types in C++11 are not movable:
mutex types(recursive_mutex , timed_mutex, recursive_timed_mutex, condition_variabletype_info error_categorylocale::facet random_deviceseed_seqios_basebasic_istream::sentry basic_ostream::sentry atomic typesonce_flagApparently there is a discussion on Clang: https://groups.google.com/forum/?fromgroups=#!topic/comp.std.c++/pCO1Qqb3Xa4