First popularized by Andrei Alexandrescu with his 2001 book Modern C++ Design, Policy-based design is a great tool for library authors to provide more flexibility to the user. We'll explore some of the techniques for creating different behavior combinations, thus providing increased modularity and highlighting of all design decisions, some of them even unforeseen by the library author.
New C++17 features can leverage many of the implementation strategies.