Шаблон:InputByteStreamRef::read example

Материал из CAMaaS preliminary wiki
Версия от 14:44, 25 августа 2019; Андрей Чусов (обсуждение | вклад) (Новая страница: «{{Пример чтения из потока данных с заполнением буфера полностью и с использованием сигна…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
Пример: Чтение из потока с заполнением буфера полностью и с использованием сигнализации об ошибках чтения с помощью кода завершения.
#include <tuple>
#include <cstdint>
#include <camaas/istream.h>

std::uint32_t read_dword(CAMaaS::InputByteStreamRef is)
{
    std::uint32_t result;
    return_code_t err;
    std::tie(err, std::ignore) = is.read(&result, sizeof(result), reading_policy<
        reading_policy_flags::force_fill_buffer, reading_policy_flags::get_error_code>());
    if (ChsvFailed(err))
        return std::uint32_t(-1);
    return result;
}