equal
deleted
inserted
replaced
14 * express or implied, and with no claim as to its suitability for any |
14 * express or implied, and with no claim as to its suitability for any |
15 * purpose. |
15 * purpose. |
16 * |
16 * |
17 */ |
17 */ |
18 |
18 |
19 #ifndef LEMON_GRAPH_EXTENDER_H |
19 #ifndef LEMON_BITS_GRAPH_EXTENDER_H |
20 #define LEMON_GRAPH_EXTENDER_H |
20 #define LEMON_BITS_GRAPH_EXTENDER_H |
21 |
21 |
22 #include <lemon/bits/invalid.h> |
22 #include <lemon/bits/invalid.h> |
23 #include <lemon/error.h> |
23 #include <lemon/error.h> |
24 |
24 |
25 #include <lemon/bits/default_map.h> |
25 #include <lemon/bits/default_map.h> |
26 |
26 |
|
27 ///\ingroup graphbits |
|
28 ///\file |
|
29 ///\brief Extenders for the graph types |
27 namespace lemon { |
30 namespace lemon { |
28 |
31 |
|
32 /// \ingroup graphbits |
|
33 /// |
|
34 /// \brief Extender for the Graphs |
29 template <typename Base> |
35 template <typename Base> |
30 class GraphExtender : public Base { |
36 class GraphExtender : public Base { |
31 public: |
37 public: |
32 |
38 |
33 typedef Base Parent; |
39 typedef Base Parent; |
318 getNotifier(Edge()).clear(); |
324 getNotifier(Edge()).clear(); |
319 getNotifier(Node()).clear(); |
325 getNotifier(Node()).clear(); |
320 } |
326 } |
321 }; |
327 }; |
322 |
328 |
|
329 /// \ingroup graphbits |
|
330 /// |
|
331 /// \brief BaseExtender for the UGraphs |
323 template <typename Base> |
332 template <typename Base> |
324 class UGraphBaseExtender : public Base { |
333 class UGraphBaseExtender : public Base { |
325 |
334 |
326 public: |
335 public: |
327 |
336 |
558 return INVALID; |
567 return INVALID; |
559 } |
568 } |
560 }; |
569 }; |
561 |
570 |
562 |
571 |
|
572 /// \ingroup graphbits |
|
573 /// |
|
574 /// \brief Extender for the UGraphs |
563 template <typename Base> |
575 template <typename Base> |
564 class UGraphExtender : public Base { |
576 class UGraphExtender : public Base { |
565 public: |
577 public: |
566 |
578 |
567 typedef Base Parent; |
579 typedef Base Parent; |
976 } |
988 } |
977 |
989 |
978 }; |
990 }; |
979 |
991 |
980 |
992 |
|
993 /// \ingroup graphbits |
|
994 /// |
|
995 /// \brief BaseExtender for the BpUGraphs |
981 template <typename Base> |
996 template <typename Base> |
982 class BpUGraphBaseExtender : public Base { |
997 class BpUGraphBaseExtender : public Base { |
983 public: |
998 public: |
984 typedef Base Parent; |
999 typedef Base Parent; |
985 typedef BpUGraphBaseExtender Graph; |
1000 typedef BpUGraphBaseExtender Graph; |
1165 Edge direct(const UEdge& edge, bool direction) const { |
1180 Edge direct(const UEdge& edge, bool direction) const { |
1166 return Edge(edge, direction); |
1181 return Edge(edge, direction); |
1167 } |
1182 } |
1168 }; |
1183 }; |
1169 |
1184 |
|
1185 /// \ingroup graphbits |
|
1186 /// |
|
1187 /// \brief Extender for the BpUGraphs |
1170 template <typename Base> |
1188 template <typename Base> |
1171 class BpUGraphExtender : public Base { |
1189 class BpUGraphExtender : public Base { |
1172 public: |
1190 public: |
1173 typedef Base Parent; |
1191 typedef Base Parent; |
1174 typedef BpUGraphExtender Graph; |
1192 typedef BpUGraphExtender Graph; |
1794 |
1812 |
1795 }; |
1813 }; |
1796 |
1814 |
1797 } |
1815 } |
1798 |
1816 |
1799 #endif // LEMON_UNDIR_GRAPH_EXTENDER_H |
1817 #endif |