tg-me.com/cpluspluc/1012
Last Update:
Библиотека предоставляет два ключевых класса: buffer_adaptor и binary_stream
. buffer_adaptor служит
обёрткой для контейнеров, обеспечивая низкоуровневые операции чтения и записи, а binary_stream
использует этот адаптер для выполнения операций сериализации и десериализации.
Hexi поддерживает работу с различными стандартными контейнерами, такими как std::array, std::span, std::string_view, std::string и std::vector,
при условии, что их типы значений являются байтовыми (например, char, std::byte, uint8_t).
Для обеспечения безопасности при работе с недоверенными данными, binary_stream
выполняет проверку границ, предотвращая чтение за пределами доступных данных.
По умолчанию, при возникновении ошибки выбрасываются исключения, однако их можно отключить, указав шаблонный аргумент no_throw. Состояние потока можно проверить с помощью метода state() или оператором приведения к bool.
Безопасность: Hexi выполняет проверку границ при чтении данных, предотвращая выход за пределы буфера. По умолчанию при ошибках выбрасываются исключения (hexi::buffer_underrun, hexi::stream_read_limit), но их можно отключить, указав шаблонный аргумент no_throw
🔗 Github