# HG changeset patch
# User Balazs Dezso <deba@inf.elte.hu>
# Date 1215694955 -7200
# Node ID 9757e3d9bfebfbe7af6f4a9d8d7741e4ce8f1c4e
# Parent  e80e08222fdf7808460dffd57a003b595d0098da
More docs for undirected LGF IO

diff -r e80e08222fdf -r 9757e3d9bfeb doc/lgf.dox
--- a/doc/lgf.dox	Wed Jul 09 07:57:53 2008 +0200
+++ b/doc/lgf.dox	Thu Jul 10 15:02:35 2008 +0200
@@ -78,10 +78,18 @@
  2   3   18
 \endcode
 
-The \c \@edges is just a synonym of \c \@arcs.
+The \c \@edges is just a synonym of \c \@arcs. The @arcs section can
+also store the edge set of an undirected graph. In such case there is
+a conventional method for store arc maps in the file, if two columns
+has the same caption with \c '+' and \c '-' prefix, then these columns
+can be regarded as the values of an arc map.
 
 The \c \@attributes section contains key-value pairs, each line
-consists of two tokens, an attribute name, and then an attribute value.
+consists of two tokens, an attribute name, and then an attribute
+value. The value of the attribute could be also a label value of a
+node or an edge, or even an edge label prefixed with \c '+' or \c '-',
+which regards to the forward or backward directed arc of the
+corresponding edge.
 
 \code
  @attributes
diff -r e80e08222fdf -r 9757e3d9bfeb lemon/lgf_reader.h
--- a/lemon/lgf_reader.h	Wed Jul 09 07:57:53 2008 +0200
+++ b/lemon/lgf_reader.h	Thu Jul 10 15:02:35 2008 +0200
@@ -1226,6 +1226,12 @@
   /// It can be used almost the same way as \c DigraphReader.
   /// The only difference is that this class can handle edges and
   /// edge maps as well as arcs and arc maps.
+  ///
+  /// The columns in the \c \@edges (or \c \@arcs) section are the
+  /// edge maps. However, if there are two maps with the same name
+  /// prefixed with \c '+' and \c '-', then these can be read into an
+  /// arc map.  Similarly, an attribute can be read into an arc, if
+  /// it's value is an edge label prefixed with \c '+' or \c '-'.
   template <typename _Graph>
   class GraphReader {
   public:
diff -r e80e08222fdf -r 9757e3d9bfeb lemon/lgf_writer.h
--- a/lemon/lgf_writer.h	Wed Jul 09 07:57:53 2008 +0200
+++ b/lemon/lgf_writer.h	Thu Jul 10 15:02:35 2008 +0200
@@ -914,6 +914,12 @@
   /// It can be used almost the same way as \c DigraphWriter.
   /// The only difference is that this class can handle edges and
   /// edge maps as well as arcs and arc maps.
+  ///
+  /// The arc maps are written into the file as two columns, the
+  /// caption of the columns are the name of the map prefixed with \c
+  /// '+' and \c '-'. The arcs are written into the \c \@attributes
+  /// section as a \c '+' or a \c '-' prefix (depends on the direction
+  /// of the arc) and the label of corresponding edge.
   template <typename _Graph>
   class GraphWriter {
   public: