Chapter 6. Algorithms

Alexander Stepanov, the father of the STL, has often stressed the central role of algorithms in his library. The MPL is no different, and now that you understand the sequences and iterators on which they operate, we are ready to give algorithms the in-depth treatment they deserve.

We’ll start by discussing the relationship between algorithms and abstraction. Then we’ll cover the similarities and differences between algorithms in the STL and MPL, in particular the design choices made in the MPL to deal with the fact that metadata is immutable. Then we’ll describe the most useful algorithms in the MPL’s three algorithm categories, and conclude with a brief section on implementing your own sequence algorithms.

6.1 Algorithms, ...

Get C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.