Changeset 2260:4274224f8a7d in lemon-0.x for lemon/topology.h
- Timestamp:
- 10/24/06 19:19:16 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@3016
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/topology.h
r2111 r2260 26 26 #include <lemon/maps.h> 27 27 28 #include <lemon/concept /graph.h>29 #include <lemon/concept /ugraph.h>28 #include <lemon/concepts/graph.h> 29 #include <lemon/concepts/ugraph.h> 30 30 #include <lemon/concept_check.h> 31 31 … … 54 54 template <typename UGraph> 55 55 bool connected(const UGraph& graph) { 56 checkConcept<concept ::UGraph, UGraph>();56 checkConcept<concepts::UGraph, UGraph>(); 57 57 typedef typename UGraph::NodeIt NodeIt; 58 58 if (NodeIt(graph) == INVALID) return true; … … 79 79 template <typename UGraph> 80 80 int countConnectedComponents(const UGraph &graph) { 81 checkConcept<concept ::UGraph, UGraph>();81 checkConcept<concepts::UGraph, UGraph>(); 82 82 typedef typename UGraph::Node Node; 83 83 typedef typename UGraph::Edge Edge; … … 127 127 template <class UGraph, class NodeMap> 128 128 int connectedComponents(const UGraph &graph, NodeMap &compMap) { 129 checkConcept<concept ::UGraph, UGraph>();129 checkConcept<concepts::UGraph, UGraph>(); 130 130 typedef typename UGraph::Node Node; 131 131 typedef typename UGraph::Edge Edge; 132 checkConcept<concept ::WriteMap<Node, int>, NodeMap>();132 checkConcept<concepts::WriteMap<Node, int>, NodeMap>(); 133 133 134 134 typedef NullMap<Node, Edge> PredMap; … … 245 245 template <typename Graph> 246 246 bool stronglyConnected(const Graph& graph) { 247 checkConcept<concept ::Graph, Graph>();247 checkConcept<concepts::Graph, Graph>(); 248 248 249 249 typedef typename Graph::Node Node; … … 303 303 template <typename Graph> 304 304 int countStronglyConnectedComponents(const Graph& graph) { 305 checkConcept<concept ::Graph, Graph>();305 checkConcept<concepts::Graph, Graph>(); 306 306 307 307 using namespace _topology_bits; … … 372 372 template <typename Graph, typename NodeMap> 373 373 int stronglyConnectedComponents(const Graph& graph, NodeMap& compMap) { 374 checkConcept<concept ::Graph, Graph>();374 checkConcept<concepts::Graph, Graph>(); 375 375 typedef typename Graph::Node Node; 376 376 typedef typename Graph::NodeIt NodeIt; 377 checkConcept<concept ::WriteMap<Node, int>, NodeMap>();377 checkConcept<concepts::WriteMap<Node, int>, NodeMap>(); 378 378 379 379 using namespace _topology_bits; … … 435 435 template <typename Graph, typename EdgeMap> 436 436 int stronglyConnectedCutEdges(const Graph& graph, EdgeMap& cutMap) { 437 checkConcept<concept ::Graph, Graph>();437 checkConcept<concepts::Graph, Graph>(); 438 438 typedef typename Graph::Node Node; 439 439 typedef typename Graph::Edge Edge; 440 440 typedef typename Graph::NodeIt NodeIt; 441 checkConcept<concept ::WriteMap<Edge, bool>, EdgeMap>();441 checkConcept<concepts::WriteMap<Edge, bool>, EdgeMap>(); 442 442 443 443 using namespace _topology_bits; … … 731 731 template <typename UGraph> 732 732 int countBiNodeConnectedComponents(const UGraph& graph) { 733 checkConcept<concept ::UGraph, UGraph>();733 checkConcept<concepts::UGraph, UGraph>(); 734 734 typedef typename UGraph::NodeIt NodeIt; 735 735 … … 775 775 int biNodeConnectedComponents(const UGraph& graph, 776 776 UEdgeMap& compMap) { 777 checkConcept<concept ::UGraph, UGraph>();777 checkConcept<concepts::UGraph, UGraph>(); 778 778 typedef typename UGraph::NodeIt NodeIt; 779 779 typedef typename UGraph::UEdge UEdge; 780 checkConcept<concept ::WriteMap<UEdge, int>, UEdgeMap>();780 checkConcept<concepts::WriteMap<UEdge, int>, UEdgeMap>(); 781 781 782 782 using namespace _topology_bits; … … 815 815 template <typename UGraph, typename NodeMap> 816 816 int biNodeConnectedCutNodes(const UGraph& graph, NodeMap& cutMap) { 817 checkConcept<concept ::UGraph, UGraph>();817 checkConcept<concepts::UGraph, UGraph>(); 818 818 typedef typename UGraph::Node Node; 819 819 typedef typename UGraph::NodeIt NodeIt; 820 checkConcept<concept ::WriteMap<Node, bool>, NodeMap>();820 checkConcept<concepts::WriteMap<Node, bool>, NodeMap>(); 821 821 822 822 using namespace _topology_bits; … … 1058 1058 template <typename UGraph> 1059 1059 int countBiEdgeConnectedComponents(const UGraph& graph) { 1060 checkConcept<concept ::UGraph, UGraph>();1060 checkConcept<concepts::UGraph, UGraph>(); 1061 1061 typedef typename UGraph::NodeIt NodeIt; 1062 1062 … … 1101 1101 template <typename UGraph, typename NodeMap> 1102 1102 int biEdgeConnectedComponents(const UGraph& graph, NodeMap& compMap) { 1103 checkConcept<concept ::UGraph, UGraph>();1103 checkConcept<concepts::UGraph, UGraph>(); 1104 1104 typedef typename UGraph::NodeIt NodeIt; 1105 1105 typedef typename UGraph::Node Node; 1106 checkConcept<concept ::WriteMap<Node, int>, NodeMap>();1106 checkConcept<concepts::WriteMap<Node, int>, NodeMap>(); 1107 1107 1108 1108 using namespace _topology_bits; … … 1142 1142 template <typename UGraph, typename UEdgeMap> 1143 1143 int biEdgeConnectedCutEdges(const UGraph& graph, UEdgeMap& cutMap) { 1144 checkConcept<concept ::UGraph, UGraph>();1144 checkConcept<concepts::UGraph, UGraph>(); 1145 1145 typedef typename UGraph::NodeIt NodeIt; 1146 1146 typedef typename UGraph::UEdge UEdge; 1147 checkConcept<concept ::WriteMap<UEdge, bool>, UEdgeMap>();1147 checkConcept<concepts::WriteMap<UEdge, bool>, UEdgeMap>(); 1148 1148 1149 1149 using namespace _topology_bits; … … 1206 1206 using namespace _topology_bits; 1207 1207 1208 checkConcept<concept ::Graph, Graph>();1209 checkConcept<concept ::WriteMap<typename Graph::Node, int>, NodeMap>();1208 checkConcept<concepts::Graph, Graph>(); 1209 checkConcept<concepts::WriteMap<typename Graph::Node, int>, NodeMap>(); 1210 1210 1211 1211 typedef typename Graph::Node Node; … … 1248 1248 using namespace _topology_bits; 1249 1249 1250 checkConcept<concept ::Graph, Graph>();1251 checkConcept<concept ::ReadWriteMap<typename Graph::Node, int>, NodeMap>();1250 checkConcept<concepts::Graph, Graph>(); 1251 checkConcept<concepts::ReadWriteMap<typename Graph::Node, int>, NodeMap>(); 1252 1252 1253 1253 typedef typename Graph::Node Node; … … 1291 1291 bool dag(const Graph& graph) { 1292 1292 1293 checkConcept<concept ::Graph, Graph>();1293 checkConcept<concepts::Graph, Graph>(); 1294 1294 1295 1295 typedef typename Graph::Node Node; … … 1332 1332 template <typename UGraph> 1333 1333 bool acyclic(const UGraph& graph) { 1334 checkConcept<concept ::UGraph, UGraph>();1334 checkConcept<concepts::UGraph, UGraph>(); 1335 1335 typedef typename UGraph::Node Node; 1336 1336 typedef typename UGraph::NodeIt NodeIt; … … 1365 1365 template <typename UGraph> 1366 1366 bool tree(const UGraph& graph) { 1367 checkConcept<concept ::UGraph, UGraph>();1367 checkConcept<concepts::UGraph, UGraph>(); 1368 1368 typedef typename UGraph::Node Node; 1369 1369 typedef typename UGraph::NodeIt NodeIt; … … 1403 1403 template<typename UGraph> 1404 1404 inline bool bipartite(const UGraph &graph){ 1405 checkConcept<concept ::UGraph, UGraph>();1405 checkConcept<concepts::UGraph, UGraph>(); 1406 1406 1407 1407 typedef typename UGraph::NodeIt NodeIt; … … 1440 1440 template<typename UGraph, typename NodeMap> 1441 1441 inline bool bipartitePartitions(const UGraph &graph, NodeMap &partMap){ 1442 checkConcept<concept ::UGraph, UGraph>();1442 checkConcept<concepts::UGraph, UGraph>(); 1443 1443 1444 1444 typedef typename UGraph::Node Node;
Note: See TracChangeset
for help on using the changeset viewer.