lemon/topology.h
changeset 2260 4274224f8a7d
parent 2111 ea1fa1bc3f6d
child 2306 42cce226b87b
     1.1 --- a/lemon/topology.h	Tue Oct 24 16:49:41 2006 +0000
     1.2 +++ b/lemon/topology.h	Tue Oct 24 17:19:16 2006 +0000
     1.3 @@ -25,8 +25,8 @@
     1.4  #include <lemon/graph_adaptor.h>
     1.5  #include <lemon/maps.h>
     1.6  
     1.7 -#include <lemon/concept/graph.h>
     1.8 -#include <lemon/concept/ugraph.h>
     1.9 +#include <lemon/concepts/graph.h>
    1.10 +#include <lemon/concepts/ugraph.h>
    1.11  #include <lemon/concept_check.h>
    1.12  
    1.13  #include <lemon/bin_heap.h>
    1.14 @@ -53,7 +53,7 @@
    1.15    /// \note By definition, the empty graph is connected.
    1.16    template <typename UGraph>
    1.17    bool connected(const UGraph& graph) {
    1.18 -    checkConcept<concept::UGraph, UGraph>();
    1.19 +    checkConcept<concepts::UGraph, UGraph>();
    1.20      typedef typename UGraph::NodeIt NodeIt;
    1.21      if (NodeIt(graph) == INVALID) return true;
    1.22      Dfs<UGraph> dfs(graph);
    1.23 @@ -78,7 +78,7 @@
    1.24    /// of zero connected components.
    1.25    template <typename UGraph>
    1.26    int countConnectedComponents(const UGraph &graph) {
    1.27 -    checkConcept<concept::UGraph, UGraph>();
    1.28 +    checkConcept<concepts::UGraph, UGraph>();
    1.29      typedef typename UGraph::Node Node;
    1.30      typedef typename UGraph::Edge Edge;
    1.31  
    1.32 @@ -126,10 +126,10 @@
    1.33    ///
    1.34    template <class UGraph, class NodeMap>
    1.35    int connectedComponents(const UGraph &graph, NodeMap &compMap) {
    1.36 -    checkConcept<concept::UGraph, UGraph>();
    1.37 +    checkConcept<concepts::UGraph, UGraph>();
    1.38      typedef typename UGraph::Node Node;
    1.39      typedef typename UGraph::Edge Edge;
    1.40 -    checkConcept<concept::WriteMap<Node, int>, NodeMap>();
    1.41 +    checkConcept<concepts::WriteMap<Node, int>, NodeMap>();
    1.42  
    1.43      typedef NullMap<Node, Edge> PredMap;
    1.44      typedef NullMap<Node, int> DistMap;
    1.45 @@ -244,7 +244,7 @@
    1.46    /// \note By definition, the empty graph is strongly connected.
    1.47    template <typename Graph>
    1.48    bool stronglyConnected(const Graph& graph) {
    1.49 -    checkConcept<concept::Graph, Graph>();
    1.50 +    checkConcept<concepts::Graph, Graph>();
    1.51  
    1.52      typedef typename Graph::Node Node;
    1.53      typedef typename Graph::NodeIt NodeIt;
    1.54 @@ -302,7 +302,7 @@
    1.55    /// strongly connected components.
    1.56    template <typename Graph>
    1.57    int countStronglyConnectedComponents(const Graph& graph) {
    1.58 -    checkConcept<concept::Graph, Graph>();
    1.59 +    checkConcept<concepts::Graph, Graph>();
    1.60  
    1.61      using namespace _topology_bits;
    1.62  
    1.63 @@ -371,10 +371,10 @@
    1.64    ///
    1.65    template <typename Graph, typename NodeMap>
    1.66    int stronglyConnectedComponents(const Graph& graph, NodeMap& compMap) {
    1.67 -    checkConcept<concept::Graph, Graph>();
    1.68 +    checkConcept<concepts::Graph, Graph>();
    1.69      typedef typename Graph::Node Node;
    1.70      typedef typename Graph::NodeIt NodeIt;
    1.71 -    checkConcept<concept::WriteMap<Node, int>, NodeMap>();
    1.72 +    checkConcept<concepts::WriteMap<Node, int>, NodeMap>();
    1.73  
    1.74      using namespace _topology_bits;
    1.75      
    1.76 @@ -434,11 +434,11 @@
    1.77    /// \return The number of cut edges
    1.78    template <typename Graph, typename EdgeMap>
    1.79    int stronglyConnectedCutEdges(const Graph& graph, EdgeMap& cutMap) {
    1.80 -    checkConcept<concept::Graph, Graph>();
    1.81 +    checkConcept<concepts::Graph, Graph>();
    1.82      typedef typename Graph::Node Node;
    1.83      typedef typename Graph::Edge Edge;
    1.84      typedef typename Graph::NodeIt NodeIt;
    1.85 -    checkConcept<concept::WriteMap<Edge, bool>, EdgeMap>();
    1.86 +    checkConcept<concepts::WriteMap<Edge, bool>, EdgeMap>();
    1.87  
    1.88      using namespace _topology_bits;
    1.89      
    1.90 @@ -730,7 +730,7 @@
    1.91    /// \return The number of components.
    1.92    template <typename UGraph>
    1.93    int countBiNodeConnectedComponents(const UGraph& graph) {
    1.94 -    checkConcept<concept::UGraph, UGraph>();
    1.95 +    checkConcept<concepts::UGraph, UGraph>();
    1.96      typedef typename UGraph::NodeIt NodeIt;
    1.97  
    1.98      using namespace _topology_bits;
    1.99 @@ -774,10 +774,10 @@
   1.100    template <typename UGraph, typename UEdgeMap>
   1.101    int biNodeConnectedComponents(const UGraph& graph, 
   1.102  				UEdgeMap& compMap) {
   1.103 -    checkConcept<concept::UGraph, UGraph>();
   1.104 +    checkConcept<concepts::UGraph, UGraph>();
   1.105      typedef typename UGraph::NodeIt NodeIt;
   1.106      typedef typename UGraph::UEdge UEdge;
   1.107 -    checkConcept<concept::WriteMap<UEdge, int>, UEdgeMap>();
   1.108 +    checkConcept<concepts::WriteMap<UEdge, int>, UEdgeMap>();
   1.109  
   1.110      using namespace _topology_bits;
   1.111  
   1.112 @@ -814,10 +814,10 @@
   1.113    /// \return The number of the cut nodes.
   1.114    template <typename UGraph, typename NodeMap>
   1.115    int biNodeConnectedCutNodes(const UGraph& graph, NodeMap& cutMap) {
   1.116 -    checkConcept<concept::UGraph, UGraph>();
   1.117 +    checkConcept<concepts::UGraph, UGraph>();
   1.118      typedef typename UGraph::Node Node;
   1.119      typedef typename UGraph::NodeIt NodeIt;
   1.120 -    checkConcept<concept::WriteMap<Node, bool>, NodeMap>();
   1.121 +    checkConcept<concepts::WriteMap<Node, bool>, NodeMap>();
   1.122  
   1.123      using namespace _topology_bits;
   1.124  
   1.125 @@ -1057,7 +1057,7 @@
   1.126    /// \return The number of components.
   1.127    template <typename UGraph>
   1.128    int countBiEdgeConnectedComponents(const UGraph& graph) { 
   1.129 -    checkConcept<concept::UGraph, UGraph>();
   1.130 +    checkConcept<concepts::UGraph, UGraph>();
   1.131      typedef typename UGraph::NodeIt NodeIt;
   1.132  
   1.133      using namespace _topology_bits;
   1.134 @@ -1100,10 +1100,10 @@
   1.135    ///
   1.136    template <typename UGraph, typename NodeMap>
   1.137    int biEdgeConnectedComponents(const UGraph& graph, NodeMap& compMap) { 
   1.138 -    checkConcept<concept::UGraph, UGraph>();
   1.139 +    checkConcept<concepts::UGraph, UGraph>();
   1.140      typedef typename UGraph::NodeIt NodeIt;
   1.141      typedef typename UGraph::Node Node;
   1.142 -    checkConcept<concept::WriteMap<Node, int>, NodeMap>();
   1.143 +    checkConcept<concepts::WriteMap<Node, int>, NodeMap>();
   1.144  
   1.145      using namespace _topology_bits;
   1.146  
   1.147 @@ -1141,10 +1141,10 @@
   1.148    /// \return The number of cut edges.
   1.149    template <typename UGraph, typename UEdgeMap>
   1.150    int biEdgeConnectedCutEdges(const UGraph& graph, UEdgeMap& cutMap) { 
   1.151 -    checkConcept<concept::UGraph, UGraph>();
   1.152 +    checkConcept<concepts::UGraph, UGraph>();
   1.153      typedef typename UGraph::NodeIt NodeIt;
   1.154      typedef typename UGraph::UEdge UEdge;
   1.155 -    checkConcept<concept::WriteMap<UEdge, bool>, UEdgeMap>();
   1.156 +    checkConcept<concepts::WriteMap<UEdge, bool>, UEdgeMap>();
   1.157  
   1.158      using namespace _topology_bits;
   1.159  
   1.160 @@ -1205,8 +1205,8 @@
   1.161    void topologicalSort(const Graph& graph, NodeMap& order) {
   1.162      using namespace _topology_bits;
   1.163  
   1.164 -    checkConcept<concept::Graph, Graph>();
   1.165 -    checkConcept<concept::WriteMap<typename Graph::Node, int>, NodeMap>();
   1.166 +    checkConcept<concepts::Graph, Graph>();
   1.167 +    checkConcept<concepts::WriteMap<typename Graph::Node, int>, NodeMap>();
   1.168  
   1.169      typedef typename Graph::Node Node;
   1.170      typedef typename Graph::NodeIt NodeIt;
   1.171 @@ -1247,8 +1247,8 @@
   1.172    bool checkedTopologicalSort(const Graph& graph, NodeMap& order) {
   1.173      using namespace _topology_bits;
   1.174  
   1.175 -    checkConcept<concept::Graph, Graph>();
   1.176 -    checkConcept<concept::ReadWriteMap<typename Graph::Node, int>, NodeMap>();
   1.177 +    checkConcept<concepts::Graph, Graph>();
   1.178 +    checkConcept<concepts::ReadWriteMap<typename Graph::Node, int>, NodeMap>();
   1.179  
   1.180      typedef typename Graph::Node Node;
   1.181      typedef typename Graph::NodeIt NodeIt;
   1.182 @@ -1290,7 +1290,7 @@
   1.183    template <typename Graph>
   1.184    bool dag(const Graph& graph) {
   1.185  
   1.186 -    checkConcept<concept::Graph, Graph>();
   1.187 +    checkConcept<concepts::Graph, Graph>();
   1.188  
   1.189      typedef typename Graph::Node Node;
   1.190      typedef typename Graph::NodeIt NodeIt;
   1.191 @@ -1331,7 +1331,7 @@
   1.192    /// \see dag
   1.193    template <typename UGraph>
   1.194    bool acyclic(const UGraph& graph) {
   1.195 -    checkConcept<concept::UGraph, UGraph>();
   1.196 +    checkConcept<concepts::UGraph, UGraph>();
   1.197      typedef typename UGraph::Node Node;
   1.198      typedef typename UGraph::NodeIt NodeIt;
   1.199      typedef typename UGraph::Edge Edge;
   1.200 @@ -1364,7 +1364,7 @@
   1.201    /// \return %True when the graph is acyclic and connected.
   1.202    template <typename UGraph>
   1.203    bool tree(const UGraph& graph) {
   1.204 -    checkConcept<concept::UGraph, UGraph>();
   1.205 +    checkConcept<concepts::UGraph, UGraph>();
   1.206      typedef typename UGraph::Node Node;
   1.207      typedef typename UGraph::NodeIt NodeIt;
   1.208      typedef typename UGraph::Edge Edge;
   1.209 @@ -1402,7 +1402,7 @@
   1.210    /// \author Balazs Attila Mihaly  
   1.211    template<typename UGraph>
   1.212    inline bool bipartite(const UGraph &graph){
   1.213 -    checkConcept<concept::UGraph, UGraph>();
   1.214 +    checkConcept<concepts::UGraph, UGraph>();
   1.215      
   1.216      typedef typename UGraph::NodeIt NodeIt;
   1.217      typedef typename UGraph::EdgeIt EdgeIt;
   1.218 @@ -1439,7 +1439,7 @@
   1.219    /// \image latex bipartite_partitions.eps "Bipartite partititions" width=\textwidth
   1.220    template<typename UGraph, typename NodeMap>
   1.221    inline bool bipartitePartitions(const UGraph &graph, NodeMap &partMap){
   1.222 -    checkConcept<concept::UGraph, UGraph>();
   1.223 +    checkConcept<concepts::UGraph, UGraph>();
   1.224      
   1.225      typedef typename UGraph::Node Node;
   1.226      typedef typename UGraph::NodeIt NodeIt;