Changeset 1172:c18ed26f016c in lemon for lemon/concepts/graph_components.h
- Timestamp:
- 11/28/12 11:42:38 (11 years ago)
- Branch:
- 1.1
- Parents:
- 1168:b78a46fe8002 (diff), 1171:7e368d9b67f7 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/concepts/graph_components.h
r1158 r1172 109 109 110 110 bool b; 111 ignore_unused_variable_warning(b); 112 111 113 b = (ia == ib) && (ia != ib); 112 114 b = (ia == INVALID) && (ib != INVALID); -
lemon/concepts/graph_components.h
r1171 r1172 3 3 * This file is a part of LEMON, a generic C++ optimization library. 4 4 * 5 * Copyright (C) 2003-20 095 * Copyright (C) 2003-2011 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). … … 39 39 /// \note This class is a template class so that we can use it to 40 40 /// create graph skeleton classes. The reason for this is that \c Node 41 /// and \c Arc (or \c Edge) types should \e not derive from the same 41 /// and \c Arc (or \c Edge) types should \e not derive from the same 42 42 /// base class. For \c Node you should instantiate it with character 43 43 /// \c 'n', for \c Arc with \c 'a' and for \c Edge with \c 'e'. … … 90 90 /// 91 91 /// This operator defines an ordering of the items. 92 /// It makes possible to use graph item types as key types in 92 /// It makes possible to use graph item types as key types in 93 93 /// associative containers (e.g. \c std::map). 94 94 /// … … 126 126 /// This class describes the base interface of directed graph types. 127 127 /// All digraph %concepts have to conform to this class. 128 /// It just provides types for nodes and arcs and functions 128 /// It just provides types for nodes and arcs and functions 129 129 /// to get the source and the target nodes of arcs. 130 130 class BaseDigraphComponent { … … 434 434 /// \brief Concept class for \c NodeIt, \c ArcIt and \c EdgeIt types. 435 435 /// 436 /// This class describes the concept of \c NodeIt, \c ArcIt and 436 /// This class describes the concept of \c NodeIt, \c ArcIt and 437 437 /// \c EdgeIt subtypes of digraph and graph types. 438 438 template <typename GR, typename Item> … … 474 474 /// next item. 475 475 GraphItemIt& operator++() { return *this; } 476 476 477 477 /// \brief Equality operator 478 478 /// … … 512 512 }; 513 513 514 /// \brief Concept class for \c InArcIt, \c OutArcIt and 514 /// \brief Concept class for \c InArcIt, \c OutArcIt and 515 515 /// \c IncEdgeIt types. 516 516 /// 517 /// This class describes the concept of \c InArcIt, \c OutArcIt 517 /// This class describes the concept of \c InArcIt, \c OutArcIt 518 518 /// and \c IncEdgeIt subtypes of digraph and graph types. 519 519 /// 520 520 /// \note Since these iterator classes do not inherit from the same 521 521 /// base class, there is an additional template parameter (selector) 522 /// \c sel. For \c InArcIt you should instantiate it with character 522 /// \c sel. For \c InArcIt you should instantiate it with character 523 523 /// \c 'i', for \c OutArcIt with \c 'o' and for \c IncEdgeIt with \c 'e'. 524 524 template <typename GR, … … 541 541 GraphIncIt(const GraphIncIt& it) : Item(it) {} 542 542 543 /// \brief Constructor that sets the iterator to the first 543 /// \brief Constructor that sets the iterator to the first 544 544 /// incoming or outgoing arc. 545 545 /// 546 /// Constructor that sets the iterator to the first arc 546 /// Constructor that sets the iterator to the first arc 547 547 /// incoming to or outgoing from the given node. 548 548 explicit GraphIncIt(const GR&, const Base&) {} … … 819 819 /// \brief Return the first edge incident to the given node. 820 820 /// 821 /// This function gives back the first edge incident to the given 821 /// This function gives back the first edge incident to the given 822 822 /// node. The bool parameter gives back the direction for which the 823 /// source node of the directed arc representing the edge is the 823 /// source node of the directed arc representing the edge is the 824 824 /// given node. 825 825 void firstInc(Edge&, bool&, const Node&) const {} … … 828 828 /// given node. 829 829 /// 830 /// This function gives back the next edge incident to the given 830 /// This function gives back the next edge incident to the given 831 831 /// node. The bool parameter should be used as \c firstInc() use it. 832 832 void nextInc(Edge&, bool&) const {} … … 1008 1008 /// 1009 1009 /// This class describes the concept of standard graph maps, i.e. 1010 /// the \c NodeMap, \c ArcMap and \c EdgeMap subtypes of digraph and 1010 /// the \c NodeMap, \c ArcMap and \c EdgeMap subtypes of digraph and 1011 1011 /// graph types, which can be used for associating data to graph items. 1012 1012 /// The standard graph maps must conform to the ReferenceMap concept. … … 1063 1063 _Map m1(g); 1064 1064 _Map m2(g,t); 1065 1065 1066 1066 // Copy constructor 1067 1067 // _Map m3(m); … … 1087 1087 /// 1088 1088 /// This class describes the interface of mappable directed graphs. 1089 /// It extends \ref BaseDigraphComponent with the standard digraph 1089 /// It extends \ref BaseDigraphComponent with the standard digraph 1090 1090 /// map classes, namely \c NodeMap and \c ArcMap. 1091 1091 /// This concept is part of the Digraph concept. … … 1225 1225 /// 1226 1226 /// This class describes the interface of mappable undirected graphs. 1227 /// It extends \ref MappableDigraphComponent with the standard graph 1227 /// It extends \ref MappableDigraphComponent with the standard graph 1228 1228 /// map class for edges (\c EdgeMap). 1229 1229 /// This concept is part of the Graph concept. … … 1311 1311 /// 1312 1312 /// This class describes the interface of extendable directed graphs. 1313 /// It extends \ref BaseDigraphComponent with functions for adding 1313 /// It extends \ref BaseDigraphComponent with functions for adding 1314 1314 /// nodes and arcs to the digraph. 1315 1315 /// This concept requires \ref AlterableDigraphComponent. … … 1356 1356 /// 1357 1357 /// This class describes the interface of extendable undirected graphs. 1358 /// It extends \ref BaseGraphComponent with functions for adding 1358 /// It extends \ref BaseGraphComponent with functions for adding 1359 1359 /// nodes and edges to the graph. 1360 1360 /// This concept requires \ref AlterableGraphComponent. … … 1401 1401 /// 1402 1402 /// This class describes the interface of erasable directed graphs. 1403 /// It extends \ref BaseDigraphComponent with functions for removing 1403 /// It extends \ref BaseDigraphComponent with functions for removing 1404 1404 /// nodes and arcs from the digraph. 1405 1405 /// This concept requires \ref AlterableDigraphComponent. … … 1414 1414 /// \brief Erase a node from the digraph. 1415 1415 /// 1416 /// This function erases the given node from the digraph and all arcs 1416 /// This function erases the given node from the digraph and all arcs 1417 1417 /// connected to the node. 1418 1418 void erase(const Node&) {} … … 1441 1441 /// 1442 1442 /// This class describes the interface of erasable undirected graphs. 1443 /// It extends \ref BaseGraphComponent with functions for removing 1443 /// It extends \ref BaseGraphComponent with functions for removing 1444 1444 /// nodes and edges from the graph. 1445 1445 /// This concept requires \ref AlterableGraphComponent.
Note: See TracChangeset
for help on using the changeset viewer.