Boost asio ConstBufferSequence - c ++ Шаблоны

Я надеюсь получить некоторые рекомендации относительно шаблонов C ++. Я использовал библиотеку boost :: asio для связи по TCP. До сих пор я использовал контейнеры хранения, встроенные в библиотеку boost :: asio. Например:

boost::array buf;
boost::system::error_code error;
size_t len = socket.read_some(boost::asio::buffer(buf), error);

Для чтения из сокета я просто оборачиваю буфер типа boost :: asio :: buffer вокруг моего объекта boost :: array . Это нормально работает, но сейчас я бы хотел работать в обратном направлении. То есть я хотел бы записать обратно в сокет, извлекая данные из некоторых пользовательских классов хранения, которые у меня уже есть. У меня вопрос: как мне понять требования к типу шаблона, который должен быть обернут с помощью boost :: asio :: buffer или, в более общем смысле, тип параметра, указанный в:

template
std::size_t send(   
   const ConstBufferSequence & buffers
);

API перечисляет требования ConstBufferSequence , но я не могу разобраться в этом. Может кто-нибудь помочь мне понять? Какие методы должен предоставлять тип, который я хочу передать функции "send"?

7
задан NmdMystery 6 January 2014 в 20:06
поделиться