【发布时间】:2011-09-06 08:32:28
【问题描述】:
我希望获得有关 C++ 模板的一些指导。我一直在使用boost::asio 库通过 TCP 进行通信。到目前为止,我一直在使用 boost::asio 库中内置的存储容器。例如:
boost::array<char, 128> 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<typename ConstBufferSequence>
std::size_t send(
const ConstBufferSequence & buffers
);
API 列出了ConstBufferSequence 的要求,但我无法对此做出正面或反面。有人可以帮我理解吗?我要传递给“发送”函数的类型需要公开哪些方法?
【问题讨论】:
标签: c++ templates boost boost-asio