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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Пример: Чтение из потока с заполнением буфера полностью и с использованием сигнализации об ошибках чтения с помощью кода завершения.
#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;
}