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) --> - dynamic_bitset<Block, Allocator> @@ -90,7 +66,7 @@ of bits in the set can change at runtime.

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).

Rationale

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

Concepts modeled

Assignable, CopyAssignable, Default -Constructible, Equality -Comparable, LessThan -Comparable. +"https://en.cppreference.com/w/cpp/named_req/DefaultConstructible">DefaultConstructible, EqualityComparable, LessThanComparable.

Type requirements

@@ -584,8 +556,7 @@ for this bitset is a default-constructed object of type Throws: Nothing unless the default constructor of Allocator throws an exception.
(Required by Default -Constructible.) +"https://en.cppreference.com/w/cpp/named_req/DefaultConstructible">DefaultConstructible.)
@@ -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 if
 template<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) == rhs
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)
Effects: Copies a representation of b into the @@ -1565,8 +1518,8 @@ block bval written, the bit (bval >> i) & + i) in the bitset.
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