Summary
This chapter was an interlude in our exploration of the Boost libraries. There were two key underlying themes: more expressive code and faster code. We saw how higher order programming helps us achieve more expressive syntaxes using functors and operator overloading. We saw how template metaprogramming techniques allow us to write code that executes at compile time and chooses the most optimal implementations for the task at hand.
We covered a diverse amount of material in a single chapter and introduced a paradigm of programming that may be new to some of you. We solved a few problems with different functional patterns and saw the power of C++ functors, templates, and operator overloading put together. Understanding the subject of this chapter will be of immediate help if you are reading the implementation of most Boost libraries or trying to write a fast general purpose library that is efficient, expressive, and extensible.
There is a lot that we did not cover in this chapter and...