- Added an Equality comparison overload to ByteArray
- Added empty() member function to ByteArray
- Added create_from_string(std::string_view) factory function
- Added as_hex_string utility for displaying the byte array as a hex string
- Added create_with_prealloc static constructor to preallocate space before creating the byte array
- Added documentation to ByteArray(ByteArray& other, const size_t num_bytes)

- Added template restrictions for iterator constructor to avoid ambiguity between constructors
- Fixed Constructor ByteArray(ByteArray& other, const size_t num_bytes) not padding correctly

- Updated Readme.md with examples
- Reorganized examples for better visibility
- Removed `const char *` and replaced it with `std::string_view` in ByteArray hex constructor