Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

read_until (8 of 8 overloads)

Boost , Boost.Asio , read_until

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Прочитайте данные в streambuf, пока объект функции не покажет соответствие.

template<
    typename SyncReadStream,
    typename Allocator,
    typename MatchCondition>
std::size_t read_until(
    SyncReadStream & s,
    boost::asio::basic_streambuf< Allocator > & b,
    MatchCondition match_condition,
    boost::system::error_code & ec,
    typename enable_if< is_match_condition< MatchCondition >::value >::type *  = 0);

Эта функция используется для считывания данных в заданный Streambuf до тех пор, пока определяемый пользователем объект функции состояния соответствия, при применении к данным, содержащимся в Streambuf, не указывает на успешное соответствие. Звонок будет блокироваться до тех пор, пока не будет выполнено одно из следующих условий:

  • Объект функции соответствия возвращает std::pair, где второй элемент оценивает истинность.
  • Произошла ошибка.

Эта операция реализована с точки зрения нуля или более вызовов функции read_some потока. Если объект функции состояния соответствия уже указывает на соответствие, функция немедленно возвращается.

Parameters

s

Поток, из которого следует читать данные. Этот тип должен поддерживать концепцию SyncReadStream.

b

Объект streambuf, в который будут считываться данные.

match_condition

Объект функции должен быть вызван, чтобы определить, существует ли совпадение. Подпись объекта функции должна быть:

pair<iterator, bool> match_condition(iterator begin, iterator end);

где iterator представляет тип:

buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>

Параметры итератора начинаются и определяют диапазон байтов для сканирования, чтобы определить, есть ли совпадение. первый элемент возвращаемого значения представляет собой итератор, обозначающий один конец байтов, которые были поглощены функцией соответствия. Этот итератор используется для вычисления параметра begin для любого последующего вызова состояния соответствия. второй элемент возвращаемого значения является истинным, если совпадение было найдено, ложным в противном случае.

ec

Установить, какая ошибка произошла, если таковая имеется.

Return Value

Количество байтов в зоне получения Streambuf, которые были полностью поглощены функцией матча. 0, если произошла ошибка.

Remarks

После успешной операции read_until, streambuf может содержать дополнительные данные, которые не соответствуют объекту функции. Приложение обычно оставляет эти данные в Streambuf для последующего использования

Реализация по умолчанию is_match_condition оценивает истинность для указателей функций и объектов функций с result_type typedef. Он должен быть специализирован для других определяемых пользователем функциональных объектов.


PrevUpHomeNext

Статья read_until (8 of 8 overloads) раздела Boost.Asio read_until может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: read_until ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-04 22:27:29/0.0062191486358643/0