A structure aimed to bring the bitarray functionality.
Structure is described within two fields.
“size” - The number of bits that will be allocated during the
struct instance initialization.
“bit_array” - The vector of 8 bit integer used to represent bits
where each 8 bits are packed in every 8 bit integer.
Struct represents a custom error that should be raised every time
a user tries to access or set the bit in the array that is out of this bit array size.