c</tt> extracted from <tt>is</tt>
 is a <i>bitset digit</i> if and only if either Tr::eq(c, is.widen('0')) or
 Tr::eq(c, is.widen('1')) return true.
 </li>
 <li>If c is a bitset digit, it's <i>corresponding bit value</i> is 0 if
 Tr::eq(c, is.widen('0')) is true, 1 otherwise.
 </li>
 </ol>

The function begins by constructing a <tt>sentry</tt> object <tt>k</tt> as if <tt>k</tt>
were constructed by

 <tt>typename std::basic_istream&lt;Char, Traits&gt;::sentry k(is)</tt>.

If <tt>bool(k)</tt> is true, it call