23 General utilities library [utilities]
constexpr bitset() noexcept;
Effects:
Constructs an object of class
bitset<N>,
initializing all bits to zero
. constexpr bitset(unsigned long long val) noexcept;
Effects:
Constructs an object of class
bitset<N>,
initializing the first
M bit positions to the corresponding bit
values in
val. M is the smaller of
N and the number of bits in the value
representation (
[basic.types]) of
unsigned long long. If
M < N, the remaining bit positions are initialized to zero
.template <class charT, class traits, class Allocator>
explicit
bitset(const basic_string<charT, traits, Allocator>& str,
typename basic_string<charT, traits, Allocator>::size_type pos = 0,
typename basic_string<charT, traits, Allocator>::size_type n =
basic_string<charT, traits, Allocator>::npos,
charT zero = charT('0'), charT one = charT('1'));
Throws:
out_of_range
if
pos > str.size()
or
invalid_argument if an invalid character is found (see below)
. Effects:
Determines the effective length
rlen of the initializing string as the smaller of
n and
str.size() - pos. The function then throws
invalid_argument
if any of the
rlen
characters in
str beginning at position
pos is
other than
zero or
one. The function uses
traits::eq()
to compare the character values
.Otherwise, the function constructs an object of class
bitset<N>,
initializing the first
M bit
positions to values determined from the corresponding characters in the string
str. M is the smaller of
N and
rlen. An element of the constructed object has value zero if the
corresponding character in
str, beginning at position
pos, is
zero. Otherwise, the element has the value one
. Character position
pos + M - 1 corresponds to bit position zero
. Subsequent decreasing character positions correspond to increasing bit positions
.If
M < N, remaining bit positions are initialized to zero
.template <class charT>
explicit bitset(
const charT* str,
typename basic_string<charT>::size_type n = basic_string<charT>::npos,
charT zero = charT('0'), charT one = charT('1'));
Effects: Constructs an object of class
bitset<N> as if by:
bitset(
n == basic_string<charT>::npos
? basic_string<charT>(str)
: basic_string<charT>(str, n),
0, n, zero, one)