Запишите определенное количество данных в заданном смещение перед возвращением.
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 устройства.
- d
 
Устройство, на которое должны быть записаны данные. Тип должен поддерживать концепцию SyncRandomAccessWriteDevice.
 
- offset
 
Смещение, при котором будут записаны данные.
 
- buffers
 
Один или несколько буферов, содержащих данные, подлежащие записи. Сумма размеров буфера указывает на максимальное количество байтов для записи на устройство.
 
- completion_condition
 
- 
Объект функции должен быть вызван, чтобы определить, завершена ли операция записи. Подпись объекта функции должна быть:
std::size_t completion_condition(
  
  const boost::system::error_code& error,
  
  std::size_t bytes_transferred
);
Возвратное значение 0 означает, что операция записи завершена. Ненулевое значение возврата указывает на максимальное количество байтов, которые будут записаны при следующем вызове функции write_some_at устройства.
 
 
Количество переданных байтов.
- boost::system::system_error
 
Выброшен на провал.
 
 
Для записи одного буфера данных используйте функцию<buffer>следующим образом:
boost::asio::write_at(d, 42, boost::asio::buffer(data, size),
    boost::asio::transfer_at_least(32));
См. документацию<buffer>для информации о написании нескольких буферов за один раз, а также о том, как использовать ее с массивами, нарастить::array или std::vector.