...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The implementation of the bisection algorithm is extremely straightforward and not detailed here.
TOMS Algorithm 748: enclosing zeros of continuous functions is described in detail in:
Algorithm 748: Enclosing Zeros of Continuous Functions, G. E. Alefeld, F. A. Potra and Yixun Shi, ACM Transactions on Mathematica1 Software, Vol. 21. No. 3. September 1995. Pages 327-344.
The implementation here is a faithful translation of this paper into C++.