Changeset 877:141f9c0db4a3 in lemon-main for lemon/concepts
- Timestamp:
- 03/06/10 15:35:12 (14 years ago)
- Branch:
- default
- Children:
- 879:38213abd2911, 931:f112c18bc304
- Phase:
- public
- Location:
- lemon/concepts
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/concepts/digraph.h
r786 r877 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-2010 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). … … 435 435 private: 436 436 ///Copy constructor 437 NodeMap(const NodeMap& nm) : 437 NodeMap(const NodeMap& nm) : 438 438 ReferenceMap<Node, T, T&, const T&>(nm) { } 439 439 ///Assignment operator -
lemon/concepts/graph.h
r786 r877 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-2010 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). … … 44 44 /// run properly, of course. 45 45 /// An actual graph implementation like \ref ListGraph or 46 /// \ref SmartGraph may have additional functionality. 46 /// \ref SmartGraph may have additional functionality. 47 47 /// 48 48 /// The undirected graphs also fulfill the concept of \ref Digraph … … 86 86 /// 87 87 /// Undirected graphs should be tagged with \c UndirectedTag. 88 /// 88 /// 89 89 /// This tag helps the \c enable_if technics to make compile time 90 90 /// specializations for undirected graphs. … … 361 361 362 362 /// Converison to \c Edge 363 363 364 364 /// Converison to \c Edge. 365 365 /// -
lemon/concepts/graph_components.h
r786 r877 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-2010 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 /// … … 123 123 /// This class describes the base interface of directed graph types. 124 124 /// All digraph %concepts have to conform to this class. 125 /// It just provides types for nodes and arcs and functions 125 /// It just provides types for nodes and arcs and functions 126 126 /// to get the source and the target nodes of arcs. 127 127 class BaseDigraphComponent { … … 427 427 /// \brief Concept class for \c NodeIt, \c ArcIt and \c EdgeIt types. 428 428 /// 429 /// This class describes the concept of \c NodeIt, \c ArcIt and 429 /// This class describes the concept of \c NodeIt, \c ArcIt and 430 430 /// \c EdgeIt subtypes of digraph and graph types. 431 431 template <typename GR, typename Item> … … 467 467 /// next item. 468 468 GraphItemIt& operator++() { return *this; } 469 469 470 470 /// \brief Equality operator 471 471 /// … … 502 502 }; 503 503 504 /// \brief Concept class for \c InArcIt, \c OutArcIt and 504 /// \brief Concept class for \c InArcIt, \c OutArcIt and 505 505 /// \c IncEdgeIt types. 506 506 /// 507 /// This class describes the concept of \c InArcIt, \c OutArcIt 507 /// This class describes the concept of \c InArcIt, \c OutArcIt 508 508 /// and \c IncEdgeIt subtypes of digraph and graph types. 509 509 /// 510 510 /// \note Since these iterator classes do not inherit from the same 511 511 /// base class, there is an additional template parameter (selector) 512 /// \c sel. For \c InArcIt you should instantiate it with character 512 /// \c sel. For \c InArcIt you should instantiate it with character 513 513 /// \c 'i', for \c OutArcIt with \c 'o' and for \c IncEdgeIt with \c 'e'. 514 514 template <typename GR, … … 531 531 GraphIncIt(const GraphIncIt& it) : Item(it) {} 532 532 533 /// \brief Constructor that sets the iterator to the first 533 /// \brief Constructor that sets the iterator to the first 534 534 /// incoming or outgoing arc. 535 535 /// 536 /// Constructor that sets the iterator to the first arc 536 /// Constructor that sets the iterator to the first arc 537 537 /// incoming to or outgoing from the given node. 538 538 explicit GraphIncIt(const GR&, const Base&) {} … … 805 805 /// \brief Return the first edge incident to the given node. 806 806 /// 807 /// This function gives back the first edge incident to the given 807 /// This function gives back the first edge incident to the given 808 808 /// node. The bool parameter gives back the direction for which the 809 /// source node of the directed arc representing the edge is the 809 /// source node of the directed arc representing the edge is the 810 810 /// given node. 811 811 void firstInc(Edge&, bool&, const Node&) const {} … … 814 814 /// given node. 815 815 /// 816 /// This function gives back the next edge incident to the given 816 /// This function gives back the next edge incident to the given 817 817 /// node. The bool parameter should be used as \c firstInc() use it. 818 818 void nextInc(Edge&, bool&) const {} … … 991 991 /// 992 992 /// This class describes the concept of standard graph maps, i.e. 993 /// the \c NodeMap, \c ArcMap and \c EdgeMap subtypes of digraph and 993 /// the \c NodeMap, \c ArcMap and \c EdgeMap subtypes of digraph and 994 994 /// graph types, which can be used for associating data to graph items. 995 995 /// The standard graph maps must conform to the ReferenceMap concept. … … 1046 1046 _Map m1(g); 1047 1047 _Map m2(g,t); 1048 1048 1049 1049 // Copy constructor 1050 1050 // _Map m3(m); … … 1069 1069 /// 1070 1070 /// This class describes the interface of mappable directed graphs. 1071 /// It extends \ref BaseDigraphComponent with the standard digraph 1071 /// It extends \ref BaseDigraphComponent with the standard digraph 1072 1072 /// map classes, namely \c NodeMap and \c ArcMap. 1073 1073 /// This concept is part of the Digraph concept. … … 1206 1206 /// 1207 1207 /// This class describes the interface of mappable undirected graphs. 1208 /// It extends \ref MappableDigraphComponent with the standard graph 1208 /// It extends \ref MappableDigraphComponent with the standard graph 1209 1209 /// map class for edges (\c EdgeMap). 1210 1210 /// This concept is part of the Graph concept. … … 1291 1291 /// 1292 1292 /// This class describes the interface of extendable directed graphs. 1293 /// It extends \ref BaseDigraphComponent with functions for adding 1293 /// It extends \ref BaseDigraphComponent with functions for adding 1294 1294 /// nodes and arcs to the digraph. 1295 1295 /// This concept requires \ref AlterableDigraphComponent. … … 1335 1335 /// 1336 1336 /// This class describes the interface of extendable undirected graphs. 1337 /// It extends \ref BaseGraphComponent with functions for adding 1337 /// It extends \ref BaseGraphComponent with functions for adding 1338 1338 /// nodes and edges to the graph. 1339 1339 /// This concept requires \ref AlterableGraphComponent. … … 1379 1379 /// 1380 1380 /// This class describes the interface of erasable directed graphs. 1381 /// It extends \ref BaseDigraphComponent with functions for removing 1381 /// It extends \ref BaseDigraphComponent with functions for removing 1382 1382 /// nodes and arcs from the digraph. 1383 1383 /// This concept requires \ref AlterableDigraphComponent. … … 1392 1392 /// \brief Erase a node from the digraph. 1393 1393 /// 1394 /// This function erases the given node from the digraph and all arcs 1394 /// This function erases the given node from the digraph and all arcs 1395 1395 /// connected to the node. 1396 1396 void erase(const Node&) {} … … 1418 1418 /// 1419 1419 /// This class describes the interface of erasable undirected graphs. 1420 /// It extends \ref BaseGraphComponent with functions for removing 1420 /// It extends \ref BaseGraphComponent with functions for removing 1421 1421 /// nodes and edges from the graph. 1422 1422 /// This concept requires \ref AlterableGraphComponent. -
lemon/concepts/heap.h
r817 r877 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-2010 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). … … 93 93 #else 94 94 explicit Heap(ItemIntMap&) {} 95 #endif 95 #endif 96 96 97 97 /// \brief Constructor. … … 107 107 #else 108 108 explicit Heap(ItemIntMap&, const CMP&) {} 109 #endif 109 #endif 110 110 111 111 /// \brief The number of items stored in the heap. … … 139 139 #else 140 140 void push(const Item&, const Prio&) {} 141 #endif 141 #endif 142 142 143 143 /// \brief Return the item having minimum priority. … … 169 169 #else 170 170 void erase(const Item&) {} 171 #endif 171 #endif 172 172 173 173 /// \brief The priority of the given item. … … 180 180 #else 181 181 Prio operator[](const Item&) const { return Prio(); } 182 #endif 182 #endif 183 183 184 184 /// \brief Set the priority of an item or insert it, if it is … … 195 195 #else 196 196 void set(const Item&, const Prio&) {} 197 #endif 197 #endif 198 198 199 199 /// \brief Decrease the priority of an item to the given value. … … 207 207 #else 208 208 void decrease(const Item&, const Prio&) {} 209 #endif 209 #endif 210 210 211 211 /// \brief Increase the priority of an item to the given value. … … 219 219 #else 220 220 void increase(const Item&, const Prio&) {} 221 #endif 221 #endif 222 222 223 223 /// \brief Return the state of an item. … … 233 233 #else 234 234 State state(const Item&) const { return PRE_HEAP; } 235 #endif 235 #endif 236 236 237 237 /// \brief Set the state of an item in the heap. … … 246 246 #else 247 247 void state(const Item&, State) {} 248 #endif 248 #endif 249 249 250 250
Note: See TracChangeset
for help on using the changeset viewer.