Back to Arangodb

AdjacencyMatrix

3rdParty/boost/1.78.0/libs/graph/doc/AdjacencyMatrix.html

3.12.9.11.5 KB
Original Source

AdjacencyMatrix

The AdjacencyMatrix concept refines Graph concept and adds the requirement for efficient access to any edge in the graph given the source and target vertices. No Boost Graph Library algorithms currently use this concept. However there are algorithms not yet implemented such as Floyd-Warshall that would require this concept.

Refinement of

Graph

Associated Types

| boost::graph_traits<G>::traversal_category

This tag type must be convertible to adjacency_matrix_tag. |

Valid Expressions

NameExpressionReturn TypeDescription
Direct Edge Accessedge(u,v,g)std::pair<edge_descriptor, bool>Returns a pair consisting of a flag saying whether there exists an edge between u and v in graph g, and consisting of the edge descriptor if the edge was found.

Complexity guarantees

The edge() function must return in constant time.

Models

adjacency_matrix

Concept Checking Class

template <class G>
  struct AdjacencyMatrix
  {
    typedef typename boost::graph_traits<G>::edge_descriptor edge_descriptor;
    void constraints() {
      p = edge(u, v, g);
    }
    typename boost::graph_traits<G>::vertex_descriptor u, v;
    std::pair<bool, edge_descriptor> p;
    G g;
  };

| Copyright © 2000-2001 | Jeremy Siek, Indiana University ([email protected]) |