Corrected some typos and grammatical errors.
1.1 --- a/doc/basic_concepts.dox Tue Oct 31 14:56:13 2006 +0000
1.2 +++ b/doc/basic_concepts.dox Tue Oct 31 15:57:53 2006 +0000
1.3 @@ -2,13 +2,13 @@
1.4 \page basic_concepts Basic concepts
1.5
1.6 \section basic_graph The graph classes
1.7 -The most important classes in LEMON are the graph classes. A instance of a graph
1.8 +The most important classes in LEMON are the graph classes. An instance of a graph
1.9 class is the representation of the mathematical graph. It holds the topology and
1.10 every structural information of the graph. The structural manipulations are also
1.11 provided by the graph object. There is no universal graph class instead we have
1.12 different classes for different purposes. They can differ in many ways, but all
1.13 have to satisfy one or more \ref concept "graph concepts" which are standardized
1.14 -interfaces to work whit the rest of the library. The most basic concept is the
1.15 +interfaces to work with the rest of the library. The most basic concept is the
1.16 \ref Graph.<br>
1.17 A good example is the \ref ListGraph which we already know from Hello World and
1.18 will be used in our examples as well.
1.19 @@ -26,11 +26,11 @@
1.20
1.21 If the graph fits the ExtendableGraphComponent concept, then you can add new nodes
1.22 to the graph with the addNode() member function. It returns the newly added node
1.23 -(as value). So if you need the new node to do something useful with it, for example
1.24 -create a edge, assign a value to it through \ref map1 maps.
1.25 +(as value). So if you need the new node to do something useful with, for example
1.26 +create an edge, assign a value to it through \ref map1 maps.
1.27 \code lemon::ListGraph::Node new_node = graph.addNode(); \endcode
1.28
1.29 -If the graph fits the ErasableGraphComponent concept you also can remove nodes
1.30 +If the graph fits into the ErasableGraphComponent concept you can also remove nodes
1.31 from the graph with the erase() member function.
1.32 \code graph.erase( new_node ); \endcode
1.33
1.34 @@ -43,14 +43,14 @@
1.35
1.36 \subsection basic_edge Edges
1.37 An Edge is what you think it is. It goes from one node to another node (they can
1.38 -be identical). If the graph class is directed, the Edge is directed too. Otherwise
1.39 +be identical if the edge is a loop). If the graph class is directed, the Edge is directed too. Otherwise
1.40 the edge is considered undirected and called UEdge.
1.41 \code lemon::ListUGraph::UEdge \endcode
1.42
1.43 The addEdge() member function will create a new edge. It has two arguments, the
1.44 source node and the target node. The graph class must be extendable.
1.45 \code lemon::ListGraph::Edge new_edge = graph.addEdge( src_node, trg_node ); \endcode
1.46 -You can handle edge similar as nodes. The erase() member function has an edge taking
1.47 +You can handle edges similar as nodes. The erase() member function has an edge taking
1.48 overload too.
1.49
1.50 You can ask for the source or target node of the edge by the corresponding member
1.51 @@ -64,13 +64,13 @@
1.52
1.53 \section basic_iterators Iterators
1.54 Graphs are some kind of containers. And as you expect they have iterator types.
1.55 -One fore nodes and a couple for edges - and special classes can have additional
1.56 +One for nodes and a couple for edges - and special classes can have additional
1.57 iterators too. An example:
1.58 \code lemon::ListGraph::NodeIt \endcode
1.59 -That is a node iterator. Every iterator type starts whit an name what refers to
1.60 -the iterated object, and ends whit 'It'.
1.61 +This is a node iterator. Every iterator type starts with a name that refers to
1.62 +the iterated object, and ends with 'It'.
1.63
1.64 -LEMON style iterators differs from \c stl or \c boost iterators in a very tasty
1.65 +LEMON style iterators differ from \c stl or \c boost iterators in a very tasty
1.66 way. A graph has no begin or end - or at least a generic graph class has none.
1.67 If by some topology you could pick a good begin node, it would be misleading and
1.68 incorrect. A LEMON style iterator must be initialized at construction time.
1.69 @@ -80,7 +80,7 @@
1.70 Let's see these things working together:
1.71 \code
1.72 for( ListGraph::NodeIt n(graph); n != INVALID; ++n )
1.73 - do_useful_things_whit_node(n);
1.74 + do_useful_things_with_node(n);
1.75 \endcode
1.76 Note that the function \c do_useful_things_with_node() expects a Node type argument
1.77 ad we just gave him the iterator. LEMON style iterators must provide "on demand
1.78 @@ -89,7 +89,7 @@
1.79 through typecast operator.)
1.80
1.81 <b>Very important!</b> The iteration has no defined order. There is absolutely no
1.82 -guaranty that the next time the iteration will give us the nodes in the same order.
1.83 +warranty that the next time the iteration will give us the nodes in the same order.
1.84 Don't use this order to identify nodes! Use the \c id() member function of the
1.85 graph class described above. (There is a powerful technique using maps right in
1.86 the next page.)
2.1 --- a/doc/getting_started.dox Tue Oct 31 14:56:13 2006 +0000
2.2 +++ b/doc/getting_started.dox Tue Oct 31 15:57:53 2006 +0000
2.3 @@ -1,13 +1,13 @@
2.4 /**
2.5 \page getting_started Getting Started
2.6
2.7 -At the beginning we hardly suggest that you open your favorite text editor
2.8 -and enter the code simultaneously as you read it. Compiling the demos is also
2.9 -a good exercise.
2.10 +At the beginning we strongly suggest that you open your favorite text
2.11 +editor and enter the code simultaneously as you read it. Compiling the
2.12 +demos is also a good exercise.
2.13
2.14 -As the first example we show you a lemon style "Hello World" program. Now we
2.15 -explain almost every line, but later we will skip the basics and focus on new
2.16 -things.
2.17 +As the first example we show you a lemon style "Hello World"
2.18 +program. Now we explain almost every line, but later we will skip the
2.19 +basics and focus on new things.
2.20
2.21 \section hello_world Hello World in LEMON
2.22
2.23 @@ -28,8 +28,8 @@
2.24 \skip using
2.25 \until Edge
2.26
2.27 -For this demo we need to declare a ListGraph and a special NodeMap to store the
2.28 -characters associated to the graph's nodes.
2.29 +For this demo we need to declare a ListGraph and a special NodeMap to
2.30 +store the characters associated to the graph's nodes.
2.31 \skip main
2.32 \until char_map
2.33
2.34 @@ -37,20 +37,20 @@
2.35 \skip new_node
2.36 \until addNode
2.37
2.38 -When a new node or edge to the graph the assigned maps are automatically resized.
2.39 -So graphs can be build dynamically. The usage of a map is very natural.
2.40 +When a new node or edge is added to the graph the assigned maps are automatically resized.
2.41 +So graphs can be built dynamically. The usage of a map is very natural.
2.42 \skip char_map
2.43 \until char_map
2.44
2.45 -Notice that no reference or additional assignment needed to work with nodes.
2.46 +Notice that no reference or additional assignment is needed to work with nodes.
2.47 They won't become illegal or won't lead to throwing any exceptions.
2.48 -You can declare and handle node like every other basic type such as \c int.
2.49 +You can declare and handle a node like every other basic type such as \c int.
2.50 \skip Store
2.51 \until char_map
2.52
2.53 As one expects adding an Edge is similar. You need to define the \b source node
2.54 and the \b destination node. The nodes must belong to the graph of course. The
2.55 -Edge has the direction from the source to the destination. In some case you don't
2.56 +Edge has the direction from the source to the destination. In some cases you don't
2.57 want the edges to be directed - then you use an undirected graph. For example
2.58 lemon::ListUGraph.
2.59 \skip addEdge