目前我尝试使用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;
...
};
生成具有未知类型的对象或向量的正确语句是什么?有什么建议可以解决吗? 谢谢