//******************************************************** // The following code example is taken from the book // C++ Move Semantics - The Complete Guide // by Nicolai M. Josuttis (www.josuttis.com) // http://www.cppmove.com // // The code is licensed under a // Creative Commons Attribution 4.0 International License // http://creativecommons.org/licenses/by/4.0/ //******************************************************** #include #include class B { std::string s; }; int main() { std::cout << std::boolalpha; std::cout << std::is_nothrow_default_constructible::value << '\n'; std::cout << std::is_nothrow_copy_constructible::value << '\n'; std::cout << std::is_nothrow_move_constructible::value << '\n'; std::cout << std::is_nothrow_copy_assignable::value << '\n'; std::cout << std::is_nothrow_move_assignable::value << '\n'; }