GF2::Vector — Access the Underlying Block Storage

Provides access to the underlying block store and memory allocator.

constexpr const std::vector<Block, Allocator>& blocks() const;  (1)
constexpr std::vector<Block, Allocator>& blocks();              (2)
constexpr Allocator allocator() const                           (3)
1 Read-only access to the underlying block store.
2 Read-write access to the underlying block store.
3 Read-only access to the memory allocator used by the underlying block store.

The individual elements/bits in the vector are packed into Blocks which is some std::unsigned_integral type. Those blocks are stored in a std::vector. These method here allow access to that store and to its memory allocator.

Writing directly into the store can leave the GF2::Vector in an illegitimate state. Use at your own risk!