0

タイプのブーストグラフを使用しています:

namespace boost {
      struct computable_object_t
  {
    typedef vertex_property_tag kind;
  };
}

typedef boost::property<boost::vertex_index_t, unsigned int,
                        boost::property<boost::computable_object_t,
                                        plComputableObject*> > slVertexProperty;

typedef boost::property<boost::edge_weight_t, slScoreValueType> slEdgeProperty;

typedef boost::adjacency_list<boost::vecS, boost::listS, boost::bidirectionalS,
                              slVertexProperty, slEdgeProperty> slGraph;

次に、グラフの各エッジにスティングタイプのエッジラベルを追加する必要があります。さらに、プログラムでそれらを使用して、さまざまな種類のエッジを区別することができます。

よろしくお願いします。

4

1 に答える 1

1

その新しいラベルプロパティをエッジプロパティのリストに追加するだけです(名前空間は削除されています)。

typedef property<edge_weight_t, slScoreValueType,
          property<edge_name_t, string> >
        slEdgeProperty;
于 2012-02-09T05:44:43.903 に答える