Factory method to instantiate this class with predetermined limits.
This allows nums to be an input range instead of a forward range, since
no pass is necessary to compute the limits.
This function both obeys and permanently sets whatever bounds behavior
is specified (throwing or ignoring on out of bounds numbers). The
default behavior is to throw. Rationale: Errors should only pass
silently if explicitly silenced.
Factory method to instantiate this class with predetermined limits. This allows nums to be an input range instead of a forward range, since no pass is necessary to compute the limits.
This function both obeys and permanently sets whatever bounds behavior is specified (throwing or ignoring on out of bounds numbers). The default behavior is to throw. Rationale: Errors should only pass silently if explicitly silenced.