Because of the proxy reference type, dynamic_bitset is not a
Container and its
iterators do not satisfy the requirements for a LegacyForwardIterator. This
means that its iterators are not usable with many standard algorithms. However,
dynamic_bitset provides C++20 iterators which can be used with ranges.
Some people prefer the name "toggle" to "flip". The name "flip" was chosen
because that is the name used in std::bitset. In fact, most of the function
names for dynamic_bitset were chosen for this reason.
dynamic_bitset does not throw exceptions when a precondition is violated (as
is done in std::bitset). Instead BOOST_ASSERT() is used. See the guidelines
for Error and Exception Handling for the explanation. Note that, consistently
with this, the documentation of the member functions doesn’t use the term
"precondition" for conditions that cause an exception to be emitted (the C++
standard uses the term "requires" in such cases).