我有任何不提供随机访问迭代器的容器,目标是创建一个适配器,该适配器接受此类迭代器的输入并为容器提供随机访问迭代器接口。
我不确定如何使用boost::iterator_facade
,因为它有点令人困惑:-/ 有一些关于堆栈溢出的示例,但我不确定如何使用它们(这里)
任何链接/示例都可能会有所帮助。(boost
考虑到我在boost
我有任何不提供随机访问迭代器的容器,目标是创建一个适配器,该适配器接受此类迭代器的输入并为容器提供随机访问迭代器接口。
我不确定如何使用boost::iterator_facade
,因为它有点令人困惑:-/ 有一些关于堆栈溢出的示例,但我不确定如何使用它们(这里)
任何链接/示例都可能会有所帮助。(boost
考虑到我在boost
你不想这样做。
任何一个
Container Ranges
Ranges 提案中的概念如果您真的坚持,是的,您可能可以实现您的想法,但是除了隐藏运行时/存储成本之外,我看不到它有什么好处。尤其是,需要保持生命周期并非易事。¹
稍微相关:Boost Spirit 有一个boost::spirit::multi_pass
适配器,但只能从InputIterator
to升级ForwardIterator
(以允许回溯)。
¹ (当你有一个已经是随机访问范围的临时文件时,你会怎么做?你不能保留对它的引用,但你也不应该不必要地复制它。)