
Hi, Sorry I haven't reviewed this in any depth. I have converted Boost.Unordered to use this version and found it very easy to use. I'd happily accept a slightly less elegant implementation (as suggested by Steven) if it makes it more portable. The optimised version passed all my tests, the unoptimised version fails a couple of tests because it copies the container in some places where the current version moves, but that's perfectly fine. IMO the only essential features are to the ability to implement move only types, and containers which take full advantage of movable types. Compared to my adobe based move implementation, I think yours is superior. It's easier to implement a movable class and it has better forwarding. I found the documentation very readable. As always, I'd like you to mention the necessary header in the tutorial. If nothing else, an '#include' in the first example would help. I think there's a typo in 'libs/move/doc/html/move/two_emulation_modes.html', under 'optimized mode' you write 'needs to define a copy constructor for copyable_and_movable' but the code is an assignment operator. I vote to accept the library, fully accepting that the implementation may change after the review. Daniel