equal
deleted
inserted
replaced
43 /// or it can serve as a skeleton of a new symmetric graph structure. |
43 /// or it can serve as a skeleton of a new symmetric graph structure. |
44 /// |
44 /// |
45 /// Also, you will find here the full documentation of a certain graph |
45 /// Also, you will find here the full documentation of a certain graph |
46 /// feature, the documentation of a real symmetric graph imlementation |
46 /// feature, the documentation of a real symmetric graph imlementation |
47 /// like @ref SymListGraph or |
47 /// like @ref SymListGraph or |
48 /// @ref SymSmartGraph will just refer to this structure. |
48 /// @ref hugo::SymSmartGraph will just refer to this structure. |
49 class StaticSymGraph |
49 class StaticSymGraph |
50 { |
50 { |
51 public: |
51 public: |
52 /// Defalult constructor. |
52 /// Defalult constructor. |
53 |
53 |
91 /// same object or both are invalid. |
91 /// same object or both are invalid. |
92 bool operator==(Node) const { return true; } |
92 bool operator==(Node) const { return true; } |
93 |
93 |
94 /// Inequality operator |
94 /// Inequality operator |
95 |
95 |
96 /// \sa \ref operator==(Node n) |
96 /// \sa operator==(Node n) |
97 /// |
97 /// |
98 bool operator!=(Node) const { return true; } |
98 bool operator!=(Node) const { return true; } |
99 |
99 |
100 ///Comparison operator. |
100 ///Comparison operator. |
101 |
101 |
179 /// Two iterators are equal if and only if they point to the |
179 /// Two iterators are equal if and only if they point to the |
180 /// same object or both are invalid. |
180 /// same object or both are invalid. |
181 bool operator==(SymEdge) const { return true; } |
181 bool operator==(SymEdge) const { return true; } |
182 /// Inequality operator |
182 /// Inequality operator |
183 |
183 |
184 /// \sa \ref operator==(Node n) |
184 /// \sa operator==(Node n) |
185 /// |
185 /// |
186 bool operator!=(SymEdge) const { return true; } |
186 bool operator!=(SymEdge) const { return true; } |
187 ///Comparison operator. |
187 ///Comparison operator. |
188 |
188 |
189 ///This is a strict ordering between the nodes. |
189 ///This is a strict ordering between the nodes. |
221 /// Two iterators are equal if and only if they point to the |
221 /// Two iterators are equal if and only if they point to the |
222 /// same object or both are invalid. |
222 /// same object or both are invalid. |
223 bool operator==(Edge) const { return true; } |
223 bool operator==(Edge) const { return true; } |
224 /// Inequality operator |
224 /// Inequality operator |
225 |
225 |
226 /// \sa \ref operator==(Node n) |
226 /// \sa operator==(Node n) |
227 /// |
227 /// |
228 bool operator!=(Edge) const { return true; } |
228 bool operator!=(Edge) const { return true; } |
229 ///Comparison operator. |
229 ///Comparison operator. |
230 |
230 |
231 ///This is a strict ordering between the nodes. |
231 ///This is a strict ordering between the nodes. |
487 ///\warning Not all graph structures provide this feature. |
487 ///\warning Not all graph structures provide this feature. |
488 /// |
488 /// |
489 ///\todo Should each graph provide \c id? |
489 ///\todo Should each graph provide \c id? |
490 int id(const SymEdge&) const { return 0; } |
490 int id(const SymEdge&) const { return 0; } |
491 |
491 |
492 /// . |
492 ///\e |
493 |
493 |
494 ///\todo Should it be in the concept? |
494 ///\todo Should it be in the concept? |
495 /// |
495 /// |
496 int nodeNum() const { return 0; } |
496 int nodeNum() const { return 0; } |
497 /// . |
497 ///\e |
498 |
498 |
499 ///\todo Should it be in the concept? |
499 ///\todo Should it be in the concept? |
500 /// |
500 /// |
501 int edgeNum() const { return 0; } |
501 int edgeNum() const { return 0; } |
502 |
502 |
522 /// needs some extra attention! |
522 /// needs some extra attention! |
523 template<class T> class NodeMap : public ReferenceMap< Node, T > |
523 template<class T> class NodeMap : public ReferenceMap< Node, T > |
524 { |
524 { |
525 public: |
525 public: |
526 |
526 |
527 /// . |
527 ///\e |
528 NodeMap(const StaticSymGraph&) { } |
528 NodeMap(const StaticSymGraph&) { } |
529 /// . |
529 ///\e |
530 NodeMap(const StaticSymGraph&, T) { } |
530 NodeMap(const StaticSymGraph&, T) { } |
531 |
531 |
532 ///Copy constructor |
532 ///Copy constructor |
533 template<typename TT> NodeMap(const NodeMap<TT>&) { } |
533 template<typename TT> NodeMap(const NodeMap<TT>&) { } |
534 ///Assignment operator |
534 ///Assignment operator |
546 template<class T> class EdgeMap |
546 template<class T> class EdgeMap |
547 : public ReferenceMap<Edge,T> |
547 : public ReferenceMap<Edge,T> |
548 { |
548 { |
549 public: |
549 public: |
550 |
550 |
551 /// . |
551 ///\e |
552 EdgeMap(const StaticSymGraph&) { } |
552 EdgeMap(const StaticSymGraph&) { } |
553 /// . |
553 ///\e |
554 EdgeMap(const StaticSymGraph&, T) { } |
554 EdgeMap(const StaticSymGraph&, T) { } |
555 |
555 |
556 ///Copy constructor |
556 ///Copy constructor |
557 template<typename TT> EdgeMap(const EdgeMap<TT>&) { } |
557 template<typename TT> EdgeMap(const EdgeMap<TT>&) { } |
558 ///Assignment operator |
558 ///Assignment operator |
570 template<class T> class SymEdgeMap |
570 template<class T> class SymEdgeMap |
571 : public ReferenceMap<SymEdge,T> |
571 : public ReferenceMap<SymEdge,T> |
572 { |
572 { |
573 public: |
573 public: |
574 |
574 |
575 /// . |
575 ///\e |
576 SymEdgeMap(const StaticSymGraph&) { } |
576 SymEdgeMap(const StaticSymGraph&) { } |
577 /// . |
577 ///\e |
578 SymEdgeMap(const StaticSymGraph&, T) { } |
578 SymEdgeMap(const StaticSymGraph&, T) { } |
579 |
579 |
580 ///Copy constructor |
580 ///Copy constructor |
581 template<typename TT> SymEdgeMap(const SymEdgeMap<TT>&) { } |
581 template<typename TT> SymEdgeMap(const SymEdgeMap<TT>&) { } |
582 ///Assignment operator |
582 ///Assignment operator |