bitset();
bitset(unsigned long val);
explicit bitset(const string& str,
size_t pos = 0, size_t n = -1);
The first constructor resets all bits in the bit sequence. The second constructor sets only those bits at position j
for
which val & 1 << j
is nonzero.
The third constructor determines the initial bit values from elements of a string determined from str
. If str.
size
() <
pos
, the constructor throws out_of_range
. Otherwise, the effective length of the string rlen
is the smaller of n
and
str.size() - pos
. If any of the rlen
elements beginning at position pos
is other than 0
or 1
, the constructor throws
invalid_argument
. Otherwise, the constructor sets only those bits at position j
for which the element at position
pos + j
is 1
.
In this implementation, if a translator does not support member template functions, the template:
template<class E, class T, class A>
explicit bitset(const string<E, T, A>& str,
string<E, T, A>size_type pos = 0,
string<E, T, A>size_type n = string<E, T, A>::npos);
is replaced by:
explicit bitset(const string& str,
size_t pos = 0, size_t n = -1);