提升:通用图。如何创建通用图

时间:2016-10-19 15:44:35

标签: c++ templates generics boost graph

目前我尝试使用boostGraph库。

为直接和非直接图生成泛型类的最佳解决方案是什么。

{{ tag | url_encode }}

如何在Main中定义未知类型的对象?现在我有可能生成DirectedGraph或UndirectedGraph。我还想要一个具有不同graphTypes的列表或向量。

typedef boost::adjacency_list<boost::listS, boost::vecS, boost::directedS,  boost::no_property, EdgeWeightProperty>DirectedGraph;
typedef boost::adjacency_list<boost::listS, boost::vecS, boost::undirectedS, boost::no_property, EdgeWeightProperty>UndirectedGraph;

    template<class T>
class GraphNet {

    // Retrieve the weight of an edge
    typedef typename boost::property_map<T,
    boost::edge_weight_t>::type EdgeWeightMap;
    typedef typename boost::property_map<T,
    boost::vertex_index_t>::type IndexMap;
    ...

public:

std::pair<edge_iterator, edge_iterator>edgePair;
std::pair<vertex_iter, vertex_iter>vertexPair;
...
};

生成具有未知类型的对象或向量的正确语句是什么?有什么建议可以解决吗? 谢谢

0 个答案:

没有答案