关于 boost::iter_split 文档

Posted

技术标签:

【中文标题】关于 boost::iter_split 文档【英文标题】:on boost::iter_split documentation 【发布时间】:2014-11-24 01:48:21 【问题描述】:

我遇到了documentation 为boost::iter_split。部分描述说

使用内置的 find_iterator 完成迭代,因此只有在需要时才执行真正的搜索。

这到底是什么意思?结果必须是容器的容器,所以即使用户只想要第一个拆分,搜索总是会完成吗?

【问题讨论】:

【参考方案1】:

看来你是对的。当然,对于接收令牌迭代器范围的具体容器,所有发现都发生在返回之前,所有这些范围都附加到结果容器中

所以所有的发现确实已经完成了。

(有点想像力:也许文档在暗示事物的输入方面:如果您提供输入迭代器,信息可能不会立即可用,显然算法不会返回,直到结束迭代器遇到过。)

除非将标记添加到结果范围/从源迭代器读取会异常中止搜索


我认为注释是从采用输出迭代器的相应查找函数复制而来的。输出迭代器实际上可能会中途停止算法(考虑一个带有 lambda 的 function_output_iterator,当找到超过 n 个元素时抛出)。

您可以向库开发人员发送拉取请求,或者在提升邮件列表中提出它。

【讨论】:

您建议使用哪种输入迭代器?我能想到boost::iterator_range,但不确定模板参数应该是什么。 我的意思是InputIterator(例如std::istreambuf_iterator<char>)。不过,这几乎不相关,这只是试图考虑记录在案的声明可能仍然是半明智的方式:0

以上是关于关于 boost::iter_split 文档的主要内容,如果未能解决你的问题,请参考以下文章

关于VS的MSDN的文档

关于poi读和写word文档

关于Autofac的文档翻译

Mongodb 关于update和findAndModify

关于百度Tongji Api的文档补充

关于Unity ShareSDK 打包遇到的问题和官方文档部分细节讲解