
On 30 March 2010 11:45, Stewart, Robert <Robert.Stewart@sig.com> wrote:
With a policy-based approach, Scott's library specifies which behavior it wants. It might need to provide interfaces to accept the other type, too, but that's a conscious choice.
I would definitely prefer a policy-based approach. And I think the interfaces for the "other type" would be fairly simple -- even built-in to the xints. Passing an xint to a nothrow_xint can be implicit, no different from a normal copy of a nothrow_xint, and even allows a noexcept move. nothrow_xint -> xint would work well as an explicit conversion that throws on special values. Actually, that latter conversion, if implicit, would essentially give the same result as the current library without the need for the explicit "Will throw if given NaN" on every single function.