boost::operator>>
Extracts a dynamic_bitset from an input stream.
Synopsis
Declared in <boost/dynamic_bitset/dynamic_bitset.hpp>
template<
typename CharT,
typename Traits,
typename Block,
typename AllocatorOrContainer>
std::basic_istream<CharT, Traits>&
operator>>(
std::basic_istream<CharT, Traits>& is,
dynamic_bitset<Block, AllocatorOrContainer>& b);
Definitions
-
A (non‐eof) character
cextracted fromisis a bitset digit if and only if eitherTraits::eq(c, is.widen('0'))orTraits::eq(c, is.widen('1'))returntrue. -
If
cis a bitset digit, its corresponding bit value is 0 ifTr::eq(c, is.widen('0'))returns true, 1 otherwise.
The extractor begins by constructing a sentry object k as if by `typename std::basic_istream< Char, Traits >::sentry k( is ). If `bool( k ) is true, it calls b.clear()` then attempts to extract characters from `is. For each character c that is a bitset digit, the corresponding bit value is appended to the less significant end of b (appending may throw). If is.width() is greater than zero and smaller than b.max_size() then the maximum number n of bits appended is is.width(); otherwise n = b.max_size(). Unless the extractor is exited via an exception, characters are extracted (and corresponding bits appended) until any of the following occurs:
-
nbits are stored into the bitset; -
end‐of‐file, or an error, occurs on the input sequence;
-
the next available input character isn't a bitset digit.
If no exception caused the function to exit then is.width( 0 ) is called, regardless of how many characters were actually extracted. The sentry object k is destroyed.
If the function extracts no characters, it calls `is.setstate( std::ios::failbit )`, which may throw `std::ios_base::failure`.
Parameters
| Name | Description |
|---|---|
is |
The left operand |
b |
The right operand |
Created with MrDocs