Callbacks in C++ API design
Callbacks are a perfect way for clients to interface with an API abstracting an
events source. How to design an API for such abstraction to make it unambiguous
and easy to use? The simplest choice is functor injection, similarly as it is
done in many places in STL (or even C stdlib by means of function pointers).
Can we do better though? What are the alternatives available? In this post,
I’ll try to provide a step by step overview of a design process for an
imaginary HttpServer class.
