7 functionalities to list the nodes and the edges of the graph as well |
7 functionalities to list the nodes and the edges of the graph as well |
8 as in incoming and outgoing edges of a given node. |
8 as in incoming and outgoing edges of a given node. |
9 |
9 |
10 |
10 |
11 Each graph should meet the |
11 Each graph should meet the |
12 \ref hugo::skeleton::StaticGraphSkeleton "StaticGraph" concept. |
12 \ref hugo::skeleton::StaticGraph "StaticGraph" concept. |
13 This concept does not |
13 This concept does not |
14 makes it possible to change the graph (i.e. it is not possible to add |
14 makes it possible to change the graph (i.e. it is not possible to add |
15 or delete edges or nodes). Most of the graph algorithms will run on |
15 or delete edges or nodes). Most of the graph algorithms will run on |
16 these graphs. |
16 these graphs. |
17 |
17 |
18 The graphs meeting the |
18 The graphs meeting the |
19 \ref hugo::skeleton::ExtendableGraphSkeleton "ExtendableGraph" |
19 \ref hugo::skeleton::ExtendableGraph "ExtendableGraph" |
20 concept allow node and |
20 concept allow node and |
21 edge addition. You can also "clear" (i.e. erase all edges and nodes) |
21 edge addition. You can also "clear" (i.e. erase all edges and nodes) |
22 such a graph. |
22 such a graph. |
23 |
23 |
24 In case of graphs meeting the full feature |
24 In case of graphs meeting the full feature |
25 \ref hugo::skeleton::ErasableGraphSkeleton "ErasableGraph" |
25 \ref hugo::skeleton::ErasableGraph "ErasableGraph" |
26 concept |
26 concept |
27 you can also erase individual edges and node in arbitrary order. |
27 you can also erase individual edges and node in arbitrary order. |
28 |
28 |
29 The implemented graph structures are the following. |
29 The implemented graph structures are the following. |
30 \li \ref hugo::ListGraph "ListGraph" is the most versatile graph class. It meets |
30 \li \ref hugo::ListGraph "ListGraph" is the most versatile graph class. It meets |
31 the hugo::skeleton::ErasableGraphSkeleton "ErasableGraph" concept |
31 the hugo::skeleton::ErasableGraph "ErasableGraph" concept |
32 and it also have some convenience features. |
32 and it also have some convenience features. |
33 \li \ref hugo::SmartGraph "SmartGraph" is a more memory |
33 \li \ref hugo::SmartGraph "SmartGraph" is a more memory |
34 efficient version of \ref hugo::ListGraph "ListGraph". The |
34 efficient version of \ref hugo::ListGraph "ListGraph". The |
35 price of it is that it only meets the |
35 price of it is that it only meets the |
36 \ref hugo::skeleton::ExtendableGraphSkeleton "ExtendableGraph" concept, |
36 \ref hugo::skeleton::ExtendableGraph "ExtendableGraph" concept, |
37 so you cannot delete individual edges or nodes. |
37 so you cannot delete individual edges or nodes. |
38 \li \ref hugo::SymListGraph "SymListGraph" and |
38 \li \ref hugo::SymListGraph "SymListGraph" and |
39 \ref hugo::SymSmartGraph "SymSmartGraph" classes are very similar to |
39 \ref hugo::SymSmartGraph "SymSmartGraph" classes are very similar to |
40 \ref hugo::ListGraph "ListGraph" and \ref hugo::SmartGraph "SmartGraph". |
40 \ref hugo::ListGraph "ListGraph" and \ref hugo::SmartGraph "SmartGraph". |
41 The difference is that whenever you add a |
41 The difference is that whenever you add a |