How to do range splice in constant time with std::forward_list?

删除回忆录丶 提交于 2019-12-01 17:50:22

The specification of forward_list says that the range (first, last) should be spliced, and there is unfortunately no way to do this in O(1) time because one needs access to last-1 to do that, and the only way to get access to last-1 is to iterate forward from first.

Had the spec been to splice the range (first, last], then an O(1) splice would be possible. I know of no way to achieve this with the current forward_list spec.

I think it is a defect. However I've already tried and failed to fix it:

http://cplusplus.github.com/LWG/lwg-defects.html#897

However issues have been reversed in the past, especially when complaints come in from non-committee members such as yourself. The way to file a complaint is to open a new issue, referencing any old or related issues if appropriate. The instructions for opening an issue are here.

PS: +1 on the question.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!