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

write_at (3 of 8 overloads)

Boost , Boost.Asio , write_at

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

Запишите определенное количество данных в заданном смещение перед возвращением.

template<
    typename SyncRandomAccessWriteDevice,
    typename ConstBufferSequence,
    typename CompletionCondition>
std::size_t write_at(
    SyncRandomAccessWriteDevice & d,
    uint64_t offset,
    const ConstBufferSequence & buffers,
    CompletionCondition completion_condition);

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

  • Все данные в предоставленных буферах были записаны. То есть переданные байты равны сумме буферных размеров.
  • Объект функции завершения_условия возвращает 0.

Эта операция реализована с точки зрения нуля или более вызовов функции записи_some_at устройства.

Parameters

d

Устройство, на которое должны быть записаны данные. Тип должен поддерживать концепцию SyncRandomAccessWriteDevice.

offset

Смещение, при котором будут записаны данные.

buffers

Один или несколько буферов, содержащих данные, подлежащие записи. Сумма размеров буфера указывает на максимальное количество байтов для записи на устройство.

completion_condition

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

std::size_t completion_condition(
  // Result of latest write_some_at operation.
  const boost::system::error_code& error,
  // Number of bytes transferred so far.
  std::size_t bytes_transferred
);

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

Return Value

Количество переданных байтов.

Exceptions

boost::system::system_error

Выброшен на провал.

Example

Для записи одного буфера данных используйте функцию<buffer>следующим образом:

boost::asio::write_at(d, 42, boost::asio::buffer(data, size),
    boost::asio::transfer_at_least(32));

См. документацию<buffer>для информации о написании нескольких буферов за один раз, а также о том, как использовать ее с массивами, нарастить::array или std::vector.


PrevUpHomeNext

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




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



:: Главная :: write_at ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:11:39/0.0065090656280518/0