One of the delights of C++ is how often you can discover a new use for something. In this case it is the ability to redefine operators that can be "repurposed" to create function objects or functors.