From be3712aa863133395fe1db7ad87134742e04535c Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Fri, 22 Sep 2000 18:53:58 +0000 Subject: [PATCH] added documentation for some traits classes [SVN r7773] --- docs/Property.html | 9 +- docs/PropertyGraph.html | 31 +++++- docs/adjacency_list.html | 26 +---- docs/adjacency_list_traits.html | 162 ++++++++++++++++++++++++++++++++ docs/graph_traits.html | 2 +- docs/property_map.html | 90 ++++++++++++++++++ docs/table_of_contents.html | 6 ++ 7 files changed, 295 insertions(+), 31 deletions(-) create mode 100644 docs/adjacency_list_traits.html create mode 100644 docs/property_map.html diff --git a/docs/Property.html b/docs/Property.html index a8c6dc0a..16a95b8c 100644 --- a/docs/Property.html +++ b/docs/Property.html @@ -23,7 +23,7 @@ Property -A Property type is a type used to name or identity properties that are +A Property type is a type used to name or identify properties that are attached to the vertices and edges of a graph. A Property type is not the type of the actual property values. Objects of the Property type are not used except to carry the type information which specifies the @@ -35,7 +35,7 @@ property. Property Kind -Property::kind +kind This specifies whether the property is a vertex property (vertex_property_tag), an edge property @@ -48,6 +48,11 @@ href="../../../boost/graph/properties.hpp">boost/graph/properties.hpp +

Refinement of

+ +DefaultConstructible +

Models

diff --git a/docs/PropertyGraph.html b/docs/PropertyGraph.html index 235c8c3e..b223d2b6 100644 --- a/docs/PropertyGraph.html +++ b/docs/PropertyGraph.html @@ -58,9 +58,15 @@ function which returns a property map object. An object of type X. + + +PMap +The type boost::property_map<G, Property>::const_type. + + v -An object of type property_traits<property_map<G, Property>::type>::value_type. +An object of type boost::property_traits<PMap>::value_type. @@ -73,6 +79,11 @@ function which returns a property map object. An object of type Property. + +pmap +An object of type PMap. + +

Associated types

@@ -125,26 +136,31 @@ carry the type. Get Property get(p, g, x) -boost::property_traits<boost::property_map<G, Property>::type>::value_type + +boost::property_traits<PMap>::value_type + Returns the property (specified by the Property type) associated with object x (a vertex or edge). The object p is only used to carry the type. This function is equivalent to:
-get(get(property, g), x) +get(get(p, g), x) Put Property - put(property, g, x, v) + put(p, g, x, v) void Set the property (specified by the Property type) associated with object x (a vertex or edge) to the value v. The object p is only used to carry the type. This function is equivalent to:
-put(get(property, g), x, v) + +pmap = get(p, g);
+put(pmap, x, v) +
@@ -195,6 +211,11 @@ The get() property map function must be constant time. }; + +

See Also

+ +property_map +

diff --git a/docs/adjacency_list.html b/docs/adjacency_list.html index 0c3219ab..cb43c0d7 100644 --- a/docs/adjacency_list.html +++ b/docs/adjacency_list.html @@ -219,29 +219,6 @@ exterior property storage.

- -

adjacency_list_traits<EdgeList, VertexList, Directed> - -This class provides an alternate method for accessing some of the -associated types of the adjacency_list class. The main reason -for this class is that sometimes one would like to create graph -properties whose values are vertex or edge descriptors. If you try to -use graph_traits for this you will run into a problem with -mutually recursive types. To get around this problem, the -adjacency_list_traits class is provided, which gives the user -access to the descriptor types without requiring the user to provide -the plugin types for the graph. - -
-template 
-struct adjacency_list_traits {
-  typedef ... directed_category;
-  typedef ... edge_parallel_category;
-  typedef ... vertex_descriptor;
-  typedef ... edge_descriptor;
-};
-
-

Associated Types

@@ -645,6 +622,9 @@ argument.
+

See Also

+ +adjacency_list_traits

diff --git a/docs/adjacency_list_traits.html b/docs/adjacency_list_traits.html new file mode 100644 index 00000000..f6fb9a73 --- /dev/null +++ b/docs/adjacency_list_traits.html @@ -0,0 +1,162 @@ + + + +Boost Graph Library: Graph Traits + +C++ Boost + +
+ +

+
+adjacency_list_traits<EdgeList, VertexList, Directed>
+
+

+ +This class provides an alternate method for accessing some of the +associated types of the adjacency_list class. The main reason +for this class is that sometimes one would like to create graph +properties whose values are vertex or edge descriptors. If you try to +use graph_traits for this you will run into a problem with +mutually recursive types. To get around this problem, the +adjacency_list_traits class is provided, which gives the user +access to the vertex and edge descriptor types without requiring the +user to provide the plugin types for the graph. + +
+  template <class EdgeList, class VertexList, class Directed>
+  struct adjacency_list_traits {
+    typedef ... vertex_descriptor;
+    typedef ... edge_descriptor;
+    typedef ... directed_category;
+    typedef ... edge_parallel_category;
+  };
+
+ +

Where Defined

+ +boost/graph/adjacency_list.hpp + +

Template Parameters

+ +

+ + + + + + + + + + + + + + + + + + + + +
ParameterDescriptionDefault
EdgeList +The selector type for the edge container implementation. +vecS
VertexList +The selector type for the vertex container implementation. +vecS
Directed +The selector type whether the graph is directed or undirected. +directedS
+ +

Model of

+ +DefaultConstructible and +Assignable + +

Type Requirements

+ +Under construction. + +

Members

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
MemberDescription
+vertex_descriptor + +The type for the objects used to identity vertices in the graph. +
+edge_descriptor + +The type for the objects used to identity edges in the graph. +
+directed_category + +This says whether the graph is undirected (undirected_tag) +or directed (directed_tag). +
+edge_parallel_category + +This says whether the graph allows parallel edges to be inserted +(allow_parallel_edge_tag) or if it automatically removes +parallel edges (disallow_parallel_edge_tag). +
+ +

See Also

+ +adjacency_list + +
+
+ + +
Copyright © 2000 +Jeremy Siek, +Univ.of Notre Dame (jsiek@lsc.nd.edu)
+Lie-Quan Lee, Univ.of Notre Dame (llee1@lsc.nd.edu)
+Andrew Lumsdaine, +Univ.of Notre Dame (lums@lsc.nd.edu) +
+ + + diff --git a/docs/graph_traits.html b/docs/graph_traits.html index 80c47937..14f9f8f0 100644 --- a/docs/graph_traits.html +++ b/docs/graph_traits.html @@ -21,7 +21,7 @@

-graph_traits<Graph>
+graph_traits<Graph>
 

diff --git a/docs/property_map.html b/docs/property_map.html new file mode 100644 index 00000000..4f14a8e0 --- /dev/null +++ b/docs/property_map.html @@ -0,0 +1,90 @@ + + + +Boost Graph Library: Property Map Traits + +C++ Boost + +
+ +
+ +

+
+property_map<PropertyGraph, Property>
+
+

+ +This is the traits class that produces the type for a property map object +for a particular graph type. The property is specified by the Property template parameter. Graph classes +must specialize this traits class to provide their own implementation +for property maps. + +
+  template <class Graph, class Property>
+  struct property_map {
+    typedef ... type;
+    typedef ... const_type;
+  };
+
+ +

Where Defined

+ +boost/graph/properties.hpp + +

Associated Types

+ + + + + + + + + + + + + +
Map Typetype +The (mutable) property map type for mapping vertex or edge desriptors of +the graph to their associated property values, where the property is +specified by Property. This type is a property map. +
Const Map Typeconst_type +The (non-mutable) property map type for mapping vertex or edge +desriptors of the graph to their associated property values, where the +property is specified by Property. This type is a property map. +
+ +
+
+ + +
Copyright © 2000 +Jeremy Siek, +Univ.of Notre Dame (jsiek@lsc.nd.edu)
+Lie-Quan Lee, Univ.of Notre Dame (llee1@lsc.nd.edu)
+Andrew Lumsdaine, +Univ.of Notre Dame (lums@lsc.nd.edu) +
+ + + diff --git a/docs/table_of_contents.html b/docs/table_of_contents.html index b7fd803e..93e641e2 100644 --- a/docs/table_of_contents.html +++ b/docs/table_of_contents.html @@ -94,6 +94,12 @@
  • Leda Graph *
  • Stanford Graph* +
  • Traits classes +
      +
    1. graph_traits +
    2. adjacency_list_traits +
    3. property_map +
  • Algorithms
    1. Core Algorithm Patterns