Kevlin Henney, with help from David Abrahams and Beman Dawes, originally
contributed the previous version of
numeric_cast<> which already presented the idea
of a runtime range check.
Later, Eric Ford, Kevin Lynch and the author spotted some genericity problems
which prevented it from being used in a generic layer of math functions.
numeric_cast<> which properly handled all combinations
of arithmetic types was presented.
David Abrahams and Beman Dawes acknowledged the need of an improved version
and supported the submission as originally laid out. Daryl Walker and Darin
Adler made some important comments and proposed fixes to the original submission.
Special thanks go to Björn Karlsoon who helped the author considerably.
Having found the problems with
numeric_cast<> himself, he revised very carefully
the original submission and spot a subtle bug in the range checking implementation.
He also wrote part of this documentation and proof-read and corrected other
parts. And most importantly: the features now presented here in this library
evolved from the original submission as a result of the useful private communications
between Björn and the author.
Guillaume Melquiond spoted some documentation and code issues, particularly
about rounding conversions.
The following people contributed an important review of the design, documentation
and c ode: Kevin Lynch, Thorsten Ottosen, Paul Bristow, Daryle Walker, Jhon
Torjo, Eric Ford, Gennadiy Rozental.