reading_policy

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску

Создает политику чтения данных с помощью потоков.

template <reading_policy_flags...rpf>
struct reading_policy;
rpfНабор политик, определяемых константами перечисления reading_policy_flags.
Открытые типы
ТипОписание
typeПсевдоним целочисленного типа std::underlying_type_t<reading_policy_flags>, реализующего перечисление reading_policy_flags.
ТипЗначениеОписание
valuerpf | ...Битовая маска политик rpf.
Пример: Чтение из потока с заполнением буфера полностью и с использованием сигнализации об ошибках чтения с помощью кода завершения.
#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;
}
См. также
InputByteStreamRef::readРеализует чтение заданного количества байт из потока InputByteStreamRef.
InputByteStreamRef::read_asОсуществляет чтение данных из потока InputByteStreamRef и создание из этих данных объекта PODType или контейнера байт.