src/hugo/skeletons/graph.h
changeset 911 89a4fbb99cad
parent 906 17f31d280385
equal deleted inserted replaced
10:19b81218f470 11:50254118804d
    90 	/// same object or both are invalid.
    90 	/// same object or both are invalid.
    91 	bool operator==(Node) const { return true; }
    91 	bool operator==(Node) const { return true; }
    92 
    92 
    93 	/// Inequality operator
    93 	/// Inequality operator
    94 	
    94 	
    95 	/// \sa \ref operator==(Node n)
    95 	/// \sa operator==(Node n)
    96 	///
    96 	///
    97 	bool operator!=(Node) const { return true; }
    97 	bool operator!=(Node) const { return true; }
    98 
    98 
    99  	///Comparison operator.
    99  	///Comparison operator.
   100 
   100 
   178 	/// Two iterators are equal if and only if they point to the
   178 	/// Two iterators are equal if and only if they point to the
   179 	/// same object or both are invalid.
   179 	/// same object or both are invalid.
   180 	bool operator==(Edge) const { return true; }
   180 	bool operator==(Edge) const { return true; }
   181 	/// Inequality operator
   181 	/// Inequality operator
   182 
   182 
   183 	/// \sa \ref operator==(Node n)
   183 	/// \sa operator==(Node n)
   184 	///
   184 	///
   185 	bool operator!=(Edge) const { return true; }
   185 	bool operator!=(Edge) const { return true; }
   186  	///Comparison operator.
   186  	///Comparison operator.
   187 
   187 
   188 	///This is a strict ordering between the nodes.
   188 	///This is a strict ordering between the nodes.
   380       ///\warning Not all graph structures provide this feature.
   380       ///\warning Not all graph structures provide this feature.
   381       ///
   381       ///
   382       ///\todo Should each graph provide \c id?
   382       ///\todo Should each graph provide \c id?
   383       int id(const Edge&) const { return 0; }
   383       int id(const Edge&) const { return 0; }
   384 
   384 
   385       /// .
   385       ///\e
   386       
   386       
   387       ///\todo Should it be in the concept?
   387       ///\todo Should it be in the concept?
   388       ///
   388       ///
   389       int nodeNum() const { return 0; }
   389       int nodeNum() const { return 0; }
   390       /// .
   390       ///\e
   391 
   391 
   392       ///\todo Should it be in the concept?
   392       ///\todo Should it be in the concept?
   393       ///
   393       ///
   394       int edgeNum() const { return 0; }
   394       int edgeNum() const { return 0; }
   395 
   395 
   403       /// needs some extra attention!
   403       /// needs some extra attention!
   404       template<class T> class NodeMap : public ReferenceMap< Node, T >
   404       template<class T> class NodeMap : public ReferenceMap< Node, T >
   405       {
   405       {
   406       public:
   406       public:
   407 
   407 
   408 	/// .
   408 	///\e
   409 	NodeMap(const StaticGraph&) { }
   409 	NodeMap(const StaticGraph&) { }
   410 	/// .
   410 	///\e
   411 	NodeMap(const StaticGraph&, T) { }
   411 	NodeMap(const StaticGraph&, T) { }
   412 
   412 
   413 	///Copy constructor
   413 	///Copy constructor
   414 	template<typename TT> NodeMap(const NodeMap<TT>&) { }
   414 	template<typename TT> NodeMap(const NodeMap<TT>&) { }
   415 	///Assignment operator
   415 	///Assignment operator
   427       template<class T> class EdgeMap
   427       template<class T> class EdgeMap
   428 	: public ReferenceMap<Edge,T>
   428 	: public ReferenceMap<Edge,T>
   429       {
   429       {
   430       public:
   430       public:
   431 
   431 
   432 	/// .
   432 	///\e
   433 	EdgeMap(const StaticGraph&) { }
   433 	EdgeMap(const StaticGraph&) { }
   434 	/// .
   434 	///\e
   435 	EdgeMap(const StaticGraph&, T) { }
   435 	EdgeMap(const StaticGraph&, T) { }
   436     
   436     
   437 	///Copy constructor
   437 	///Copy constructor
   438 	template<typename TT> EdgeMap(const EdgeMap<TT>&) { }
   438 	template<typename TT> EdgeMap(const EdgeMap<TT>&) { }
   439 	///Assignment operator
   439 	///Assignment operator