我对Boost Graphs很新,也许我的问题有一个解决方案。
我有一个在图形上执行某些计算的函数。它期望具有特定属性的图形,例如,它期望所有边都有一个数字权重值,所有顶点都有一个数字字段(让我们称之为颜色,在调用我的函数之前,它会预设为一些有意义的值)。
想象一下,我有一组不同的图形类型,它们都在链接上具有数字权重属性,并且它们的所有顶点都具有数字颜色,但是它们还具有顶点和边缘的其他属性。 我的问题是如何在所有这些图表类型中使用我的函数?
谢谢!
答案 0 :(得分:1)
等同于继承的"技术"被称为"多态性"和BGL偏好"静态多态性" (选项2!)。
这是通用库的按需付费方法。
你可以调整任何类型(层次结构)以便与BGL的静态多态性一起使用,但是:
还使用属性贴图将属性(权重,颜色)链接到顶点/边缘。