diff --git a/dynamic_bitset.html b/dynamic_bitset.html index a8abafd..d61174f 100644 --- a/dynamic_bitset.html +++ b/dynamic_bitset.html @@ -15,30 +15,6 @@ http://www.boost.org/LICENSE_1_0.txt) --> -
The dynamic_bitset class is nearly identical to the std::bitset +"https://en.cppreference.com/w/cpp/utility/bitset">std::bitset class. The difference is that the size of a dynamic_bitset (the number of bits) can change at runtime, whereas the size of a std::bitset is specified at compile-time @@ -344,7 +320,7 @@ input/output and some bitwise operations).
dynamic_bitset is not a Container and +"https://en.cppreference.com/w/cpp/named_req/Container">Container and does not provide iterators for the following reason:
@@ -359,8 +335,8 @@ people try to use iterators from std::vector<bool> with a Standard algorithm such as std::search. The std::search requirements say that the iterator must be a Forward -Iterator, but the std::vector<bool>::iterator +"https://en.cppreference.com/w/cpp/named_req/ForwardIterator">LegacyForwardIterator, +but the std::vector<bool>::iterator does not meet this requirement because of the proxy reference. Depending on the implementation, they may or not be a compile error or even a run-time error due to this misuse. For further @@ -370,8 +346,7 @@ by not pretending to be a container.Some people prefer the name "toggle" to "flip". The name -"flip" was chosen because that is the name used in std::bitset. +"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.
@@ -413,14 +388,11 @@ in the header@@ -652,7 +623,7 @@ allocator in x.
(std::bad_alloc if Allocator=std::allocator).
(Required by Assignable.) +"https://en.cppreference.com/w/cpp/named_req/CopyConstructible">CopyConstructible.)
@@ -735,8 +706,8 @@ position (b * bits_per_block + i) in the bitset (where
Requires: BlockInputIterator must be either an integral type or a model of Input - Iterator whose value_type is the same type as + "https://en.cppreference.com/w/cpp/named_req/InputIterator">LegacyInputIterator +whose value_type is the same type as Block.
Throws: An allocation error if memory is exhausted (std::bad_alloc if Allocator=std::allocator).
@@ -745,12 +716,9 @@ memory is exhausted (std::bad_alloc iftemplate<typename Char, typename Traits, typename Alloc> explicit -dynamic_bitset(const std::basic_string<Char,Traits,Alloc>& s, +dynamic_bitset(const std::basic_string<Char,Traits,Alloc>& s, typename std::basic_string<CharT, Traits, Alloc>::size_type pos = 0, - typename std::basic_string<CharT, Traits, Alloc>::size_type n = std::basic_string<Char,Traits,Alloc>::npos, + typename std::basic_string<CharT, Traits, Alloc>::size_type n = std::basic_string<Char,Traits,Alloc>::npos, const Allocator& alloc = Allocator())@@ -809,7 +777,7 @@ dynamic_bitset& Returns: *this.
Throws: nothing.
(Required by Assignable.) +"https://en.cppreference.com/w/cpp/named_req/CopyAssignable">CopyAssignable.)
@@ -912,8 +880,8 @@ for (; first != last; ++first) Requires: The BlockInputIterator type must be a model of Input -Iterator and the value_type must be the same type as +"https://en.cppreference.com/w/cpp/named_req/InputIterator">LegacyInputIterator +and the value_type must be the same type as Block.
Throws: An allocation error if memory is exhausted (std::bad_alloc if @@ -1401,9 +1369,7 @@ rhs.size() and if for all i in the range [0,rhs.size()), (*this)[i] == rhs[i]. Otherwise returns false.
Throws: nothing.
- (Required by Equality -Comparable.) + (Required by EqualityComparable.)
@@ -1413,9 +1379,7 @@ bool Returns: !((*this) == rhs)
Throws: nothing.
-(Required by Equality -Comparable.) +(Required by EqualityComparable.)
@@ -1425,13 +1389,9 @@ bool Returns: true if this bitset is lexicographically less than rhs, and returns false otherwise. -(See the description of lexicographical_compare -for a definition of lexicographic ordering).
+
Throws: nothing.
-(Required by Less Than -Comparable.) +(Required by LessThanComparable.)
@@ -1442,9 +1402,7 @@ bool Returns: !((*this) < rhs || (*this) == rhs)
Throws: nothing.
-(Required by Less Than -Comparable.) +(Required by LessThanComparable.)
@@ -1454,9 +1412,7 @@ bool Returns: (*this) < rhs || (*this) == rhs
Throws: nothing.
-(Required by Less Than -Comparable.) +(Required by LessThanComparable.)
@@ -1466,9 +1422,7 @@ bool Returns: (*this) > rhs || (*this) == rhsEffects: Copies a representation of b into the @@ -1565,8 +1518,8 @@ block bval written, the bit (bval >> i) & + i) in the bitset.
Throws: nothing.
-(Required by Less Than -Comparable.) +(Required by LessThanComparable.)
Non-member functions
@@ -1526,8 +1480,7 @@ bitsets a and b.
template <typename CharT, typename Alloc> void to_string(const dynamic_bitset<Block, Allocator>& b, - std::basic_string<Char,Traits,Alloc>& s) + std::basic_string<Char,Traits,Alloc>& s)
Requires: The type BlockOutputIterator must be a model of Output -Iterator and its value_type must be the same type as +"https://en.cppreference.com/w/cpp/named_req/OutputIterator">LegacyOutputIterator +and its value_type must be the same type as Block. Further, the size of the output range must be greater or equal b.num_blocks(). @@ -1581,8 +1534,8 @@ void Effects: Reads blocks from the iterator range into the bitset.
Requires: The type BlockIterator must be a model -of Input -Iterator and its value_type must be the same type as +of LegacyInputIterator +and its value_type must be the same type as Block. The size of the iterator range must be less or equal to b.num_blocks(). @@ -1762,12 +1715,6 @@ nested class reference.
-See also
- -std::bitset, -std::vector,Acknowledgements