c – 具有不完整Value参数的Boost.Iterator Facade

c – 具有不完整Value参数的Boost.Iterator Facade,第1张

概述我正在尝试使用不完整的值的boost :: iterator_facade 模板参数.这失败了,因为iterator_facade正在尝试 检查类型是否为is_pod. 这是预期的行为吗?我可以解决这个限制吗? 某种方式?我可以写一个简单代理foo和的类模板 提供隐式转换,但我宁愿更简单 解. #include <boost/iterator/iterator_facade.hpp>class 我正在尝试使用不完整的值的boost :: iterator_facade
模板参数.这失败了,因为iterator_facade正在尝试
检查类型是否为is_pod.

这是预期的行为吗?我可以解决这个限制吗?
某种方式?我可以写一个简单代理foo和的类模板
提供隐式转换,但我宁愿更简单
解.

#include <boost/iterator/iterator_facade.hpp>class iter  : public boost::iterator_facade< iter,iter,boost::forward_traversal_tag                                   >{private:  frIEnd class boost::iterator_core_access;  voID increment() {  }  bool equal(iter const& other) const { return true; }  iter& dereference() const { return const_cast<iter&>(static_cast<const iter&>(*this)); }};int main(){  iter f;  return 0;}
解决方法 如果is_pod有问题你不能用iter类型专门化吗?

在IDeone – http://ideone.com/1DR8v上 – 它似乎以这种方式工作,即使输入根本没有定义,is_pod专门用于那种不完整的类型.

总结

以上是内存溢出为你收集整理的c – 具有不完整Value参数的Boost.Iterator Facade全部内容,希望文章能够帮你解决c – 具有不完整Value参数的Boost.Iterator Facade所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1229998.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存