用于插座的C++迭代程序立面
C++ Iterator Facade for sockets
我想知道是否有一个围绕套接字的C++迭代器facade的良好实现(库)。我浏览了Boost Iterator库和ASIO,似乎找不到任何东西。一个开源的解决方案将是伟大的!
我正在寻找以下用例的解决方案:
int socket_handler = 0;
socket_iterator it(socket_handler);
socket_iterator end;
//read mode 1:
while (it != end)
{
char c = *it;
.
.
++it;
}
//read mode 2:
while (it != end)
{
std::string s = *it;
.
.
++it;
}
//write mode 1:
unsigned char c = 0;
while (c < 100)
{
*it = c++;
.
.
++it;
}
//write mode 2:
std::sttring s = "abc";
for (unsigned int i = 0; i < 10; ++i)
{
*it = s;
.
.
++it;
}
注意:当连接断开时,它==结束。
@Gerdiner,Boost.Asio是赢家。关于您的istream_iterator,请查看以下内容:
boost::asio::streambuf myBuffer;
std::string myString;
// Convert streambuf to std::string
std::istream(&myBuffer) >> myString;
然而,使用ASIO,您将不需要迭代器。请参阅以下异步客户端以获取起始位置。
异步HTTP客户端
相关文章:
- C++中的Constexpr迭代程序
- 为什么程序在 c++ 中迭代 emtpy 向量时会抛出运行时错误
- 在C++程序中使用的迭代器中未处理的异常
- 为什么这个程序没有打印返回的迭代器的正确第二个元素?
- 比较迭代器会使程序崩溃,而不会在自定义气泡排序实现中出现错误
- 需要循环帮助以迭代方式添加到程序集中的总和变量
- 矢量迭代器在尝试调用函数时使我的程序崩溃
- std::使用迭代器映射查找距离,程序不会终止
- C++程序在迭代到数组的最后一个元素时崩溃
- 通过C 地图周期性迭代,程序崩溃
- 该程序无法显示第二个迭代的输出
- C 程序放慢迭代速度
- 使用矢量迭代器时,程序中断
- 双向迭代程序的decltype(*it)是什么
- c++迭代程序在向量上迭代时崩溃
- MergeSort.使用迭代程序实现
- 类中的C++迭代程序没有将结构作为类型
- 不带迭代程序的哈希映射循环
- C++迭代程序访问下一个元素进行比较
- 重载运算符==具有采用模板化迭代程序的自由函数