GF2::Vector — Various Special Bit-Vectors

Factory method to construct some special bit-vectors:

static constexpr Vector ones(std::size_t n);                           (1)
static constexpr Vector zeros(std::size_t n);                          (2)
static constexpr Vector checker_board(std::size_t n, int first = 1);   (3)
1 Returns a bit-vector of size n where are the elements are set to 1.
2 Returns a bit-vector of size n where are the elements are set to 0.
3 Returns a bit-vector of size n with a pattern that 1010101…​ or 0101010…​
Example
#include <GF2/GF2.h>
int main()
{
    auto v0 = GF2::Vector<>::zeros(16);
    auto v1 = GF2::Vector<>::ones(16);
    auto v2 = GF2::Vector<>::checker_board(16, 1);
    auto v3 = GF2::Vector<>::checker_board(16, 0);
    std::cout << "v0 = " << v0 << "\n";
    std::cout << "v1 = " << v1 << "\n";
    std::cout << "v2 = " << v2 << "\n";
    std::cout << "v3 = " << v3 << "\n";
}
Output
v0 = 0000000000000000
v1 = 1111111111111111
v2 = 1010101010101010
v3 = 0101010101010101