
I'm wondering if I can selectively switch off bounds checking without overhead? I added: /** Error policy for constrained that ignores bounds. */ struct ignore { /// The policy invocation operator. /// If @a nv is below the range, assigns @c c.lower_bound() to @a ov. /// If @a nv is above the range, assigns @c c.upper_bound() to @a ov. /// Otherwise fires an assertion. /// @remarks @a V must be @c Assignable from @a L::result_type and @a U::result_type. template <typename V, class L, class U, class C> void operator () (V & ov, const V & nv, const within_bounds < L, value_generator::integral<bool, true>, U, value_generator::integral<bool, true>, C> & c) const { } }; I'm wondering if the this will eliminate all overhead allowing the speed of the underlying ValueType (e.g., int)?