Is there any point implementing a move constructor and move assignment operator for a struct or class that contains only primitive types? For instance,
struct Fo
Note that a fully conforming C++11/14 compiler (not current version of VS2013) should automatically generate move operations for your Bar struct:
struct Bar { float x,y,z; std::string Name; };
In general, you should write move operations explicitly only for direct resource managers, that act like "building blocks". When you assemble together building blocks in more complex classes, the compiler should automatically generate move operations (using member-wise moves).