Changeset 580:2313edd0db0b in lemon1.2
 Timestamp:
 04/14/09 10:34:12 (15 years ago)
 Branch:
 default
 Phase:
 public
 Location:
 lemon
 Files:

 5 edited
Legend:
 Unmodified
 Added
 Removed

lemon/bits/graph_adaptor_extender.h
r455 r580 22 22 #include <lemon/core.h> 23 23 #include <lemon/error.h> 24 25 #include <lemon/bits/default_map.h>26 24 27 25 namespace lemon { 
lemon/bits/map_extender.h
r440 r580 48 48 typedef typename Parent::Key Key; 49 49 typedef typename Parent::Value Value; 50 typedef typename Parent::Reference Reference; 51 typedef typename Parent::ConstReference ConstReference; 50 52 51 53 class MapIt; … … 188 190 typedef typename Parent::Key Key; 189 191 typedef typename Parent::Value Value; 192 typedef typename Parent::Reference Reference; 193 typedef typename Parent::ConstReference ConstReference; 190 194 191 195 class MapIt; 
lemon/concepts/digraph.h
r529 r580 422 422 Node oppositeNode(const Node&, const Arc&) const { return INVALID; } 423 423 424 /// \brief Read write map of the nodes to type \c T. 425 /// 426 /// ReadWrite map of the nodes to type \c T. 427 /// \sa Reference 424 /// \brief Reference map of the nodes to type \c T. 425 /// 426 /// Reference map of the nodes to type \c T. 428 427 template<class T> 429 class NodeMap : public Re adWriteMap< Node, T> {428 class NodeMap : public ReferenceMap<Node, T, T&, const T&> { 430 429 public: 431 430 … … 437 436 private: 438 437 ///Copy constructor 439 NodeMap(const NodeMap& nm) : ReadWriteMap< Node, T >(nm) { } 438 NodeMap(const NodeMap& nm) : 439 ReferenceMap<Node, T, T&, const T&>(nm) { } 440 440 ///Assignment operator 441 441 template <typename CMap> … … 446 446 }; 447 447 448 /// \brief Re ad write map of the arcs to type \c T.448 /// \brief Reference map of the arcs to type \c T. 449 449 /// 450 450 /// Reference map of the arcs to type \c T. 451 /// \sa Reference452 451 template<class T> 453 class ArcMap : public Re adWriteMap<Arc,T> {452 class ArcMap : public ReferenceMap<Arc, T, T&, const T&> { 454 453 public: 455 454 … … 460 459 private: 461 460 ///Copy constructor 462 ArcMap(const ArcMap& em) : ReadWriteMap<Arc,T>(em) { } 461 ArcMap(const ArcMap& em) : 462 ReferenceMap<Arc, T, T&, const T&>(em) { } 463 463 ///Assignment operator 464 464 template <typename CMap> … … 472 472 struct Constraints { 473 473 void constraints() { 474 checkConcept<BaseDigraphComponent, _Digraph>(); 474 475 checkConcept<IterableDigraphComponent<>, _Digraph>(); 475 476 checkConcept<IDableDigraphComponent<>, _Digraph>(); 
lemon/concepts/graph.h
r559 r580 498 498 }; 499 499 500 /// \brief Read write map of the nodes to type \c T. 501 /// 502 /// ReadWrite map of the nodes to type \c T. 503 /// \sa Reference 500 /// \brief Reference map of the nodes to type \c T. 501 /// 502 /// Reference map of the nodes to type \c T. 504 503 template<class T> 505 class NodeMap : public Re adWriteMap< Node, T>504 class NodeMap : public ReferenceMap<Node, T, T&, const T&> 506 505 { 507 506 public: … … 514 513 private: 515 514 ///Copy constructor 516 NodeMap(const NodeMap& nm) : ReadWriteMap< Node, T >(nm) { } 515 NodeMap(const NodeMap& nm) : 516 ReferenceMap<Node, T, T&, const T&>(nm) { } 517 517 ///Assignment operator 518 518 template <typename CMap> … … 523 523 }; 524 524 525 /// \brief Read write map of the directed arcs to type \c T. 526 /// 527 /// Reference map of the directed arcs to type \c T. 528 /// \sa Reference 525 /// \brief Reference map of the arcs to type \c T. 526 /// 527 /// Reference map of the arcs to type \c T. 529 528 template<class T> 530 class ArcMap : public Re adWriteMap<Arc,T>529 class ArcMap : public ReferenceMap<Arc, T, T&, const T&> 531 530 { 532 531 public: … … 538 537 private: 539 538 ///Copy constructor 540 ArcMap(const ArcMap& em) : ReadWriteMap<Arc,T>(em) { } 539 ArcMap(const ArcMap& em) : 540 ReferenceMap<Arc, T, T&, const T&>(em) { } 541 541 ///Assignment operator 542 542 template <typename CMap> … … 547 547 }; 548 548 549 /// Read write map of the edges to type \c T. 550 551 /// Reference map of the arcs to type \c T. 552 /// \sa Reference 549 /// Reference map of the edges to type \c T. 550 551 /// Reference map of the edges to type \c T. 553 552 template<class T> 554 class EdgeMap : public Re adWriteMap<Edge,T>553 class EdgeMap : public ReferenceMap<Edge, T, T&, const T&> 555 554 { 556 555 public: … … 562 561 private: 563 562 ///Copy constructor 564 EdgeMap(const EdgeMap& em) : ReadWriteMap<Edge,T>(em) {} 563 EdgeMap(const EdgeMap& em) : 564 ReferenceMap<Edge, T, T&, const T&>(em) {} 565 565 ///Assignment operator 566 566 template <typename CMap> … … 749 749 struct Constraints { 750 750 void constraints() { 751 checkConcept<BaseGraphComponent, _Graph>(); 751 752 checkConcept<IterableGraphComponent<>, _Graph>(); 752 753 checkConcept<IDableGraphComponent<>, _Graph>(); 
lemon/concepts/graph_components.h
r579 r580 989 989 /// the \c NodeMap, \c ArcMap and \c EdgeMap subtypes of digraph and 990 990 /// graph types, which can be used for associating data to graph items. 991 /// The standard graph maps must conform to the ReferenceMap concept. 991 992 template <typename GR, typename K, typename V> 992 class GraphMap : public Re adWriteMap<K, V> {993 class GraphMap : public ReferenceMap<K, V, V&, const V&> { 993 994 public: 994 995 … … 1001 1002 /// The value type of the map. 1002 1003 typedef V Value; 1004 /// The reference type of the map. 1005 typedef Value& Reference; 1006 /// The const reference type of the map. 1007 typedef const Value& ConstReference; 1008 1009 // The reference map tag. 1010 typedef True ReferenceMapTag; 1003 1011 1004 1012 /// \brief Construct a new map. … … 1032 1040 struct Constraints { 1033 1041 void constraints() { 1034 checkConcept<ReadWriteMap<Key, Value>, _Map >(); 1042 checkConcept 1043 <ReferenceMap<Key, Value, Value&, const Value&>, _Map>(); 1035 1044 _Map m1(g); 1036 1045 _Map m2(g,t); … … 1074 1083 /// 1075 1084 /// Standard graph map for the nodes. 1085 /// It conforms to the ReferenceMap concept. 1076 1086 template <typename V> 1077 1087 class NodeMap : public GraphMap<MappableDigraphComponent, Node, V> { … … 1111 1121 /// 1112 1122 /// Standard graph map for the arcs. 1123 /// It conforms to the ReferenceMap concept. 1113 1124 template <typename V> 1114 1125 class ArcMap : public GraphMap<MappableDigraphComponent, Arc, V> { … … 1208 1219 /// 1209 1220 /// Standard graph map for the edges. 1221 /// It conforms to the ReferenceMap concept. 1210 1222 template <typename V> 1211 1223 class EdgeMap : public GraphMap<MappableGraphComponent, Edge, V> {
Note: See TracChangeset
for help on using the changeset viewer.