Make ostream operator<< enabled only if the skill Printable is present
operator<< is currently always defined for all types. This may have side effects in some cases, like using Boost.Test. It should be generated only when using the Printable skill.
It is now enabled only when the Printable skill is set.
Added a unit test.
Add skill Dereferencable (#52)
Added tests for PreIncrementable, PostIncrementable, PostIncrementable
Also fixed compilation for at least MSVC for PostIncrementable and PostDecrementable skills
Added constexpr for all skills
Some operators are only constexpr under C++17 and over
Summary of the proposed changes:
Travis CI is ok, and works well on MSVC