bit_vector

A bit_vector is a resizeable contiguous Bit Container type that stores its elements within an array. Accessing bits of a bit_vector or appending bits can be done in constant time, other operations like inserting or erasing from the middle of the container is done in linear time.

bit_vector interface

bit_vector constructors create bit_vector from different data types
bit_vector operators operate on bit_vector
bit_vector iterators functions that return itertors to elemets of a bit_vector
assign assign the bit elements of a bit_vector
any Check if any bits within a range are set within a bit_vector
at do checked access the bit element of bit_vector
back return a reference to the last bit element of bit_vector
capacity return the total number of elements bit_vector can hold reallocation
clear remove all elements from bit_vector
count return the number of bit elements set in bit_vector
empty true if bit_vector is empty
erase removes bit elements from a bit_vector
extract extracts a range of elements in the form of a bit_vector
find_first find first bit set to 1 in bit_vector
find_next find next bit after argument index set to 1 in bit_vector
flip invert bit elements of a bit_vector
front return reference to first bit element of a bit_vector
insert invert bit elements of a bit_vector
max_size return reference to first bit element of a bit_vector
none true if none of the bit elements are set
pack encode value of data within range of bits of bit_vector
pop_back remove the last bit element of bit_vector
push_back adds bit element after the last element of bit_vector
reserve set the minimum capacity of bit_vector
resize change the size of bit_vector
select returns a handle to a range of bit elements in a bit_vector
size returns current number of bit element in a bit_vector
swap swap the contents of two bit_vectors
unpack extract a type from a range of bits in a bit_vector