lemon/graph_utils.h
changeset 1729 06f939455cb1
parent 1720 578d8b2b76c6
child 1730 fffa6456548a
equal deleted inserted replaced
25:6b997c996e2e 26:dadeded4d84a
  1323   /// This map returns the in-degree of a node. Once it is constructed,
  1323   /// This map returns the in-degree of a node. Once it is constructed,
  1324   /// the degrees are stored in a standard NodeMap, so each query is done
  1324   /// the degrees are stored in a standard NodeMap, so each query is done
  1325   /// in constant time. On the other hand, the values are updated automatically
  1325   /// in constant time. On the other hand, the values are updated automatically
  1326   /// whenever the graph changes.
  1326   /// whenever the graph changes.
  1327   ///
  1327   ///
       
  1328   /// \warning Besides addNode() and addEdge(), a graph structure may provide
       
  1329   /// alternative ways to mogify the graph. The correct behavior of InDegMap
       
  1330   /// is not guarantied if these additional featureas are used. For example
       
  1331   /// the funstions \ref ListGraph::changeSource() "changeSource()",
       
  1332   /// \ref ListGraph::changeTarget() "changeTarget()" and
       
  1333   /// \ref ListGraph::reverseEdge() "reverseEdge()"
       
  1334   /// of \ref ListGraph will \e not update the degree values correctly.
       
  1335   ///
  1328   /// \sa OutDegMap
  1336   /// \sa OutDegMap
  1329 
  1337 
  1330   template <typename _Graph>
  1338   template <typename _Graph>
  1331   class InDegMap  
  1339   class InDegMap  
  1332     : protected AlterationNotifier<typename _Graph::Edge>::ObserverBase {
  1340     : protected AlterationNotifier<typename _Graph::Edge>::ObserverBase {
  1421   /// This map returns the out-degree of a node. Once it is constructed,
  1429   /// This map returns the out-degree of a node. Once it is constructed,
  1422   /// the degrees are stored in a standard NodeMap, so each query is done
  1430   /// the degrees are stored in a standard NodeMap, so each query is done
  1423   /// in constant time. On the other hand, the values are updated automatically
  1431   /// in constant time. On the other hand, the values are updated automatically
  1424   /// whenever the graph changes.
  1432   /// whenever the graph changes.
  1425   ///
  1433   ///
       
  1434   /// \warning Besides addNode() and addEdge(), a graph structure may provide
       
  1435   /// alternative ways to mogify the graph. The correct behavior of OutDegMap
       
  1436   /// is not guarantied if these additional featureas are used. For example
       
  1437   /// the funstions \ref ListGraph::changeSource() "changeSource()",
       
  1438   /// \ref ListGraph::changeTarget() "changeTarget()" and
       
  1439   /// \ref ListGraph::reverseEdge() "reverseEdge()"
       
  1440   /// of \ref ListGraph will \e not update the degree values correctly.
       
  1441   ///
  1426   /// \sa InDegMap
  1442   /// \sa InDegMap
  1427 
  1443 
  1428   template <typename _Graph>
  1444   template <typename _Graph>
  1429   class OutDegMap  
  1445   class OutDegMap  
  1430     : protected AlterationNotifier<typename _Graph::Edge>::ObserverBase {
  1446     : protected AlterationNotifier<typename _Graph::Edge>::ObserverBase {