C++ Boost

property<PropertyTag, T, NextProperty>

このクラスは、グラフの頂点や辺に対してどのような種類のプロパティを付加するかを明示するために adjacency_list もしくは adjacency_matrix クラスと同時に使用することができ、それら自身をグラフ・オブジェクトとすることができる。

Template Parameters

パラメータ説明デフォルト
PropertyTag プロパティを識別するための型(ユニークなプロパティ名を与える目的で使用される)。既に いくらかの事前定義されたタグがあり、また、タグを付け加える事も簡単にできる。便宜上 BGL では、これらを必要としている関数(例えば adjacency_listproperty map accessor 関数)に対する引数として使用できるように、事前定義されたタグの型オブジェクト(=列挙値)を提供している。  
T この型は、プロパティ値の型を明示する。  
NextProperty このパラメータを与えれば、プロパティの型をネストすることができる。よって、同一のグラフに対して任意の数のプロパティを付加することができる。 no_property

Where Defined

boost/pending/property.hpp

Property Tags

以下の PropertyTag は boost/graph/properties.hpp で定義されている。
  namespace boost {
    enum edge_name_t { edge_name }; 
    enum edge_weight_t { edge_weight }; 
    enum edge_index_t { edge_index };
    enum edge_capacity_t { edge_capacity }; 
    enum edge_residual_capacity_t { edge_residual_capacity }; 
    enum edge_reverse_t { edge_reverse }; 
    enum vertex_name_t { vertex_name }; 
    enum vertex_distance_t { vertex_distance }; 
    enum vertex_index_t { vertex_index };
    enum vertex_color_t { vertex_color }; 
    enum vertex_degree_t { vertex_degree }; 
    enum vertex_out_degree_t { vertex_out_degree }; 
    enum vertex_in_degree_t { vertex_in_degree }; 
    enum vertex_discover_time_t { vertex_discover_time }; 
    enum vertex_finish_time_t { vertex_finish_time }; 
    enum graph_name_t { graph_name };

    BOOST_INSTALL_PROPERTY(vertex, index);
    BOOST_INSTALL_PROPERTY(edge, index);
    // ...
  }
 
Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
Lie-Quan Lee, Indiana University (llee@cs.indiana.edu)
Andrew Lumsdaine, Indiana University (lums@osl.iu.edu)

Japanese Translation Copyright (C) 2003 OKI Miyuki
オリジナルの、及びこの著作権表示が全ての複製の中に現れる限り、この文書の複製、利用、変更、販売そして配布を認める。このドキュメントは「あるがまま」に提供されており、いかなる明示的、暗黙的保証も行わない。また、いかなる目的に対しても、その利用が適していることを関知しない。