
I'm using the current move library in the sanbox by daniel james (which I believe is the 4th move emulation library I've used now). It seems to be very good so far and makes writing code that handles both move and copy a breeze. I hope this gets finalized and ready for review soon because a consistently used move emulation library would be a great aid to writing efficient libraries that work well together. However the documentation says that objects have to model the Regular concept in order to model the Movable concept. This seems unfortunate as Regular puts a lot of requirements on types that don't seem necessary to gain moving. It requires Assignable which requires a copy constructor and it requires EqualityComparable which seems unnecessary. As a matter of fact I'm currently using the library with types I derive from boost::noncopyable on msvc 2008 and it is working wonderfully. Can the Movable concept be relaxed to require only what is truly necessary? Thanks, Michael Marcin