martinmoene/lest — pull request #5 by wilhelmtell (2013-11-03 16:33:06+00:00)
Title: Topic/performance and expressiveness

A number of slight and not-so-slight fine-tunings. Some are performance:

* use `'\n'` instead of `std::endl`. If we don't want to force a flush it's better not to, for performance.
* `std::move()` in initialization lists. In the case of rvalues passed at the call-site this leaves the compiler an opportunity to sidestep a copy.

Some are expressiveness-related:
* missing includes. I think it's better to be explicit about the includes: if we use something, include where it's at.
* `s/size() > 0/! empty()/`

And one commit for idiomatic code: if a member of a copiable object is `const` then the object is not assignable. I think that usually (barring ... cases I can't think of off the top of my head) copying and assigning go together: when one is allowed so should the other be.