
Also tested now on Linux: gcc 3.2.2, 3.4.0-20031231(experimental) - 0 suboptimal copies intel 7, 8 - 0/1 suboptimal copies David Abrahams <dave@boost-consulting.com> writes:
Results -------
This code has been tested on win32 with the following compilers. Where the techniques differ, results are shown as #technique1/#technique2.
como-win32 3 suboptimal copies in strict mode. With -DBOOST_IMPLICIT_MOVE_CTOR_FOR_COPYABLE_TYPES in non-strict mode, 0/1 suboptimal copies with 1/3 warnings.
cwpro8 0/1 suboptimal copies
gcc 2.95.3, 3.2, 3.3.1 0 suboptimal copies
bcc564 2/? suboptimal copies <<< can't handle technique 2 yet >>>
msvc 6, 7, 7.1 0 suboptimal copies (**)
vc7 issues a couple of bogus warnings (C4927)
intel8 0/1 suboptimal copies (**)
intel5 intel6 intel7 2 suboptimal copies (**)
(**) On these compilers, non-copyability isn't automatically inherited from movable<T>, i.e. the boost::noncopyable trick doesn't work. Rvalues are silently bound to non-const references.
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com