我尝试使用Boost Graph Library中的write_graphml
函数。需要了解的相关事项是,此函数接受由每个顶点和边属性的属性映射组成的动态属性映射,并假定顶点和边上的所有属性都可以解析为用于写入文件的字符类型。这很有意义,适用于我的大多数房产。但是,我有1个边缘属性是枚举,所以它拒绝编译。
我认为我需要的是创建一个自定义PropertyMap
,它基本上充当该边缘属性的一个包装器,拦截访问,并返回一个字符表示来代替枚举值。
这是解决此问题的正确方法吗?如果是这样,我在哪里可以查找如何定义自己的自定义PropertyMap
?我一直在挖掘文档和代码,到目前为止,我已经迷失了。
答案 0 :(得分:0)
从其他人那里得到一些帮助,仔细查看错误消息,结果为<<
定义了std::ostream
,为我的自定义类型启用了>>
std::istream
写一切正确。