lemon/graph_utils.h
changeset 1676 c3e416514759
parent 1627 3fd1ba6e9872
child 1679 e825655c24a4
equal deleted inserted replaced
19:f4e3b28abf92 20:7b29905a1a1f
  1068   /// This map returns the in-degree of a node. Once it is constructed,
  1068   /// This map returns the in-degree of a node. Once it is constructed,
  1069   /// the degrees are stored in a standard NodeMap, so each query is done
  1069   /// the degrees are stored in a standard NodeMap, so each query is done
  1070   /// in constant time. On the other hand, the values are updated automatically
  1070   /// in constant time. On the other hand, the values are updated automatically
  1071   /// whenever the graph changes.
  1071   /// whenever the graph changes.
  1072   ///
  1072   ///
       
  1073   /// \warning Besides addNode() and addEdge(), a graph structure may provide
       
  1074   /// alternative ways to mogify the graph. The correct behavior of InDegMap
       
  1075   /// is not guarantied if these additional featureas are used. For example
       
  1076   /// the funstions \ref ListGraph::changeSource() "changeSource()",
       
  1077   /// \ref ListGraph::changeTarget() "changeTarget()" and
       
  1078   /// \ref ListGraph::reverseEdge() "reverseEdge()"
       
  1079   /// of \ref ListGraph will \e not update the degree values correctly.
       
  1080   ///
  1073   /// \sa OutDegMap
  1081   /// \sa OutDegMap
  1074 
  1082 
  1075   template <typename _Graph>
  1083   template <typename _Graph>
  1076   class InDegMap  
  1084   class InDegMap  
  1077     : protected AlterationNotifier<typename _Graph::Edge>::ObserverBase {
  1085     : protected AlterationNotifier<typename _Graph::Edge>::ObserverBase {
  1152     
  1160     
  1153     const _Graph& graph;
  1161     const _Graph& graph;
  1154     AutoNodeMap deg;
  1162     AutoNodeMap deg;
  1155   };
  1163   };
  1156 
  1164 
  1157 
       
  1158   /// \brief Map of the node out-degrees.
  1165   /// \brief Map of the node out-degrees.
  1159   ///
  1166   ///
  1160   /// This map returns the out-degree of a node. Once it is constructed,
  1167   /// This map returns the out-degree of a node. Once it is constructed,
  1161   /// the degrees are stored in a standard NodeMap, so each query is done
  1168   /// the degrees are stored in a standard NodeMap, so each query is done
  1162   /// in constant time. On the other hand, the values are updated automatically
  1169   /// in constant time. On the other hand, the values are updated automatically
  1163   /// whenever the graph changes.
  1170   /// whenever the graph changes.
       
  1171   ///
       
  1172   /// \warning Besides addNode() and addEdge(), a graph structure may provide
       
  1173   /// alternative ways to mogify the graph. The correct behavior of OutDegMap
       
  1174   /// is not guarantied if these additional featureas are used. For example
       
  1175   /// the funstions \ref ListGraph::changeSource() "changeSource()",
       
  1176   /// \ref ListGraph::changeTarget() "changeTarget()" and
       
  1177   /// \ref ListGraph::reverseEdge() "reverseEdge()"
       
  1178   /// of \ref ListGraph will \e not update the degree values correctly.
  1164   ///
  1179   ///
  1165   /// \sa InDegMap
  1180   /// \sa InDegMap
  1166 
  1181 
  1167   template <typename _Graph>
  1182   template <typename _Graph>
  1168   class OutDegMap  
  1183   class OutDegMap