| 
alpar@464
 | 
     1  | 
\input texinfo   @c -*-texinfo-*-
  | 
| 
alpar@464
 | 
     2  | 
@comment $Id: etikol.texi,v 1.5 2004/02/10 13:29:15 alpar Exp $
  | 
| 
alpar@464
 | 
     3  | 
@comment %**start of header
  | 
| 
alpar@464
 | 
     4  | 
@setfilename etikol.info
  | 
| 
alpar@464
 | 
     5  | 
@include version.texi
  | 
| 
alpar@464
 | 
     6  | 
@settitle GNU ETIK-OL Optimization Library @value{VERSION}
 | 
| 
alpar@464
 | 
     7  | 
@syncodeindex pg cp
  | 
| 
alpar@464
 | 
     8  | 
  | 
| 
alpar@464
 | 
     9  | 
@c @ifnottex
  | 
| 
alpar@464
 | 
    10  | 
@c @macro mref { nn, txt }
 | 
| 
alpar@464
 | 
    11  | 
@c @ref{\nn\,\txt\}
 | 
| 
alpar@464
 | 
    12  | 
@c @end macro
  | 
| 
alpar@464
 | 
    13  | 
@c @end ifnottex
  | 
| 
alpar@464
 | 
    14  | 
@c @iftex
  | 
| 
alpar@464
 | 
    15  | 
@macro mref { nn, txt }
 | 
| 
alpar@464
 | 
    16  | 
@ifnottex
  | 
| 
alpar@464
 | 
    17  | 
@ref{\nn\,\txt\}
 | 
| 
alpar@464
 | 
    18  | 
@end ifnottex
  | 
| 
alpar@464
 | 
    19  | 
@tex
  | 
| 
alpar@464
 | 
    20  | 
\txt\
  | 
| 
alpar@464
 | 
    21  | 
@end tex
  | 
| 
alpar@464
 | 
    22  | 
@end macro
  | 
| 
alpar@464
 | 
    23  | 
@c @href{\nn\}{\txt\}
 | 
| 
alpar@464
 | 
    24  | 
  | 
| 
alpar@464
 | 
    25  | 
  | 
| 
alpar@464
 | 
    26  | 
  | 
| 
alpar@464
 | 
    27  | 
@c @ifplaintext
  | 
| 
alpar@464
 | 
    28  | 
@c Whereas this text will only appear in plain text.
  | 
| 
alpar@464
 | 
    29  | 
@c @end ifplaintext
  | 
| 
alpar@464
 | 
    30  | 
@c @ifxml
  | 
| 
alpar@464
 | 
    31  | 
@c And this will only appear in XML output.
  | 
| 
alpar@464
 | 
    32  | 
@c @end ifxm
  | 
| 
alpar@464
 | 
    33  | 
@c @ref{\nn\,\txt\}
 | 
| 
alpar@464
 | 
    34  | 
  | 
| 
alpar@464
 | 
    35  | 
  | 
| 
alpar@464
 | 
    36  | 
@comment %**end of header
  | 
| 
alpar@464
 | 
    37  | 
  | 
| 
alpar@464
 | 
    38  | 
@copying
  | 
| 
alpar@464
 | 
    39  | 
This manual is for GNU ETIL-OL Optimization Library
  | 
| 
alpar@464
 | 
    40  | 
(version @value{VERSION}, @value{UPDATED}).
 | 
| 
alpar@464
 | 
    41  | 
  | 
| 
alpar@464
 | 
    42  | 
Copyright @copyright{} 2003 ETIK.
 | 
| 
alpar@464
 | 
    43  | 
  | 
| 
alpar@464
 | 
    44  | 
@quotation
  | 
| 
alpar@464
 | 
    45  | 
Permission is granted to copy, distribute and/or modify this document
  | 
| 
alpar@464
 | 
    46  | 
under the terms of the GNU Free Documentation License, Version 1.1 or
  | 
| 
alpar@464
 | 
    47  | 
any later version published by the Free Software Foundation; with no
  | 
| 
alpar@464
 | 
    48  | 
Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
  | 
| 
alpar@464
 | 
    49  | 
and with the Back-Cover Texts as in (a) below.  A copy of the
  | 
| 
alpar@464
 | 
    50  | 
license is included in the section entitled ``GNU Free Documentation
  | 
| 
alpar@464
 | 
    51  | 
License.''
  | 
| 
alpar@464
 | 
    52  | 
  | 
| 
alpar@464
 | 
    53  | 
(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
  | 
| 
alpar@464
 | 
    54  | 
this GNU Manual, like GNU software.  Copies published by the Free
  | 
| 
alpar@464
 | 
    55  | 
Software Foundation raise funds for GNU development.''
  | 
| 
alpar@464
 | 
    56  | 
@end quotation
  | 
| 
alpar@464
 | 
    57  | 
@end copying
  | 
| 
alpar@464
 | 
    58  | 
  | 
| 
alpar@464
 | 
    59  | 
@dircategory Texinfo documentation system
  | 
| 
alpar@464
 | 
    60  | 
@direntry
  | 
| 
alpar@464
 | 
    61  | 
* ETIK-OL: ETIK-OL Optimization Library.
  | 
| 
alpar@464
 | 
    62  | 
@end direntry
  | 
| 
alpar@464
 | 
    63  | 
  | 
| 
alpar@464
 | 
    64  | 
@titlepage
  | 
| 
alpar@464
 | 
    65  | 
@title GNU  ETIL-OL Optimization Library
  | 
| 
alpar@464
 | 
    66  | 
@subtitle for version @value{VERSION}, @value{UPDATED}
 | 
| 
alpar@464
 | 
    67  | 
@author ETIK Group
  | 
| 
alpar@464
 | 
    68  | 
@page
  | 
| 
alpar@464
 | 
    69  | 
@vskip 0pt plus 1filll
  | 
| 
alpar@464
 | 
    70  | 
@c @insertcopying
  | 
| 
alpar@464
 | 
    71  | 
@end titlepage
  | 
| 
alpar@464
 | 
    72  | 
  | 
| 
alpar@464
 | 
    73  | 
@contents
  | 
| 
alpar@464
 | 
    74  | 
  | 
| 
alpar@464
 | 
    75  | 
@ifnottex
  | 
| 
alpar@464
 | 
    76  | 
@node Top
  | 
| 
alpar@464
 | 
    77  | 
@top GNU ETIK-OL Library
  | 
| 
alpar@464
 | 
    78  | 
  | 
| 
alpar@464
 | 
    79  | 
@c @insertcopying
  | 
| 
alpar@464
 | 
    80  | 
@end ifnottex
  | 
| 
alpar@464
 | 
    81  | 
  | 
| 
alpar@464
 | 
    82  | 
@menu
  | 
| 
alpar@464
 | 
    83  | 
* Basic Concepts::
  | 
| 
alpar@464
 | 
    84  | 
* Copying This Manual::
  | 
| 
alpar@464
 | 
    85  | 
* Index::
  | 
| 
alpar@464
 | 
    86  | 
@end menu
  | 
| 
alpar@464
 | 
    87  | 
  | 
| 
alpar@464
 | 
    88  | 
  | 
| 
alpar@464
 | 
    89  | 
@node Basic Concepts
  | 
| 
alpar@464
 | 
    90  | 
@chapter Basic Concepts
  | 
| 
alpar@464
 | 
    91  | 
  | 
| 
alpar@464
 | 
    92  | 
@menu
  | 
| 
alpar@464
 | 
    93  | 
* The Full Feature Graph Class::
  | 
| 
alpar@464
 | 
    94  | 
* The BFS algorithm::
  | 
| 
alpar@464
 | 
    95  | 
@end menu
  | 
| 
alpar@464
 | 
    96  | 
  | 
| 
alpar@464
 | 
    97  | 
@include flf-graph.texi
  | 
| 
alpar@464
 | 
    98  | 
  | 
| 
alpar@464
 | 
    99  | 
@c @node A Full Feature Graph
  | 
| 
alpar@464
 | 
   100  | 
@c @section A Full Feature Graph
  | 
| 
alpar@464
 | 
   101  | 
@c @cindex Full Feature Graph
  | 
| 
alpar@464
 | 
   102  | 
  | 
| 
alpar@464
 | 
   103  | 
@node The BFS algorithm
  | 
| 
alpar@464
 | 
   104  | 
@section The BFS algorithm
  | 
| 
alpar@464
 | 
   105  | 
@cindex The BFS algorithm
  | 
| 
alpar@464
 | 
   106  | 
  | 
| 
alpar@464
 | 
   107  | 
@menu
  | 
| 
alpar@464
 | 
   108  | 
* Iterator style BFS class::
  | 
| 
alpar@464
 | 
   109  | 
* The BFS funcion::
  | 
| 
alpar@464
 | 
   110  | 
@end menu
  | 
| 
alpar@464
 | 
   111  | 
  | 
| 
alpar@464
 | 
   112  | 
bla2 
  | 
| 
alpar@464
 | 
   113  | 
  | 
| 
alpar@464
 | 
   114  | 
@node Iterator style BFS class
  | 
| 
alpar@464
 | 
   115  | 
@subsection Iterator style BFS class
  | 
| 
alpar@464
 | 
   116  | 
@cindex BFS algorithm
  | 
| 
alpar@464
 | 
   117  | 
@cindex BFS concept
  | 
| 
alpar@464
 | 
   118  | 
  | 
| 
alpar@464
 | 
   119  | 
Here is a code example.
  | 
| 
alpar@464
 | 
   120  | 
  | 
| 
alpar@464
 | 
   121  | 
  | 
| 
alpar@464
 | 
   122  | 
@quotation
  | 
| 
alpar@464
 | 
   123  | 
@verbatim
  | 
| 
alpar@464
 | 
   124  | 
class 
  | 
| 
alpar@464
 | 
   125  | 
{
 | 
| 
alpar@464
 | 
   126  | 
public:
  | 
| 
alpar@464
 | 
   127  | 
  bfs_node_data<G> NodeType::*d;
  | 
| 
alpar@464
 | 
   128  | 
  typedef typename G::EdgeIterator value_type;
  | 
| 
alpar@464
 | 
   129  | 
  void Put(typename G::NodeIterator &i,
  | 
| 
alpar@464
 | 
   130  | 
           const value_type &t);
  | 
| 
alpar@464
 | 
   131  | 
  value_type Get(const typename G::NodeIterator &i) const;
  | 
| 
alpar@464
 | 
   132  | 
} tree;    
  | 
| 
alpar@464
 | 
   133  | 
@end verbatim
  | 
| 
alpar@464
 | 
   134  | 
@end quotation
  | 
| 
alpar@464
 | 
   135  | 
  | 
| 
alpar@464
 | 
   136  | 
  | 
| 
alpar@464
 | 
   137  | 
The same code with a remark.
  | 
| 
alpar@464
 | 
   138  | 
  | 
| 
alpar@464
 | 
   139  | 
@comment @quotation
  | 
| 
alpar@464
 | 
   140  | 
@example
  | 
| 
alpar@464
 | 
   141  | 
class 
  | 
| 
alpar@464
 | 
   142  | 
@{
 | 
| 
alpar@464
 | 
   143  | 
public:
  | 
| 
alpar@464
 | 
   144  | 
  bfs_node_data<G> NodeType::*d;
  | 
| 
alpar@464
 | 
   145  | 
  typedef typename G::EdgeIterator value_type;
  | 
| 
alpar@464
 | 
   146  | 
  void Put(typename G::NodeIterator &i,
  | 
| 
alpar@464
 | 
   147  | 
           const value_type &t);        @r{This is a long funcion declaration.}
 | 
| 
alpar@464
 | 
   148  | 
  value_type Get(const typename G::NodeIterator &i) const;
  | 
| 
alpar@464
 | 
   149  | 
@} tree;    
  | 
| 
alpar@464
 | 
   150  | 
@end example
  | 
| 
alpar@464
 | 
   151  | 
@comment @end quotation
  | 
| 
alpar@464
 | 
   152  | 
  | 
| 
alpar@464
 | 
   153  | 
@node The BFS funcion
  | 
| 
alpar@464
 | 
   154  | 
@subsection The BFS funcion
  | 
| 
alpar@464
 | 
   155  | 
@cindex BFS algorithm
  | 
| 
alpar@464
 | 
   156  | 
  | 
| 
alpar@464
 | 
   157  | 
@enumerate
  | 
| 
alpar@464
 | 
   158  | 
@item
  | 
| 
alpar@464
 | 
   159  | 
This is the first item.
  | 
| 
alpar@464
 | 
   160  | 
  | 
| 
alpar@464
 | 
   161  | 
@item
  | 
| 
alpar@464
 | 
   162  | 
This is the second item.
  | 
| 
alpar@464
 | 
   163  | 
@end enumerate
  | 
| 
alpar@464
 | 
   164  | 
  | 
| 
alpar@464
 | 
   165  | 
  | 
| 
alpar@464
 | 
   166  | 
@node Copying This Manual
  | 
| 
alpar@464
 | 
   167  | 
@appendix Copying This Manual
  | 
| 
alpar@464
 | 
   168  | 
  | 
| 
alpar@464
 | 
   169  | 
@menu
  | 
| 
alpar@464
 | 
   170  | 
* GNU Free Documentation License::  License for copying this manual.
  | 
| 
alpar@464
 | 
   171  | 
@end menu
  | 
| 
alpar@464
 | 
   172  | 
  | 
| 
alpar@464
 | 
   173  | 
@include fdl.texi
  | 
| 
alpar@464
 | 
   174  | 
  | 
| 
alpar@464
 | 
   175  | 
  | 
| 
alpar@464
 | 
   176  | 
@node Index
  | 
| 
alpar@464
 | 
   177  | 
@unnumbered Concept Index
  | 
| 
alpar@464
 | 
   178  | 
@printindex cp
  | 
| 
alpar@464
 | 
   179  | 
  | 
| 
alpar@464
 | 
   180  | 
@c @node Function Index
  | 
| 
alpar@464
 | 
   181  | 
@unnumbered Function Index
  | 
| 
alpar@464
 | 
   182  | 
@printindex fn
  | 
| 
alpar@464
 | 
   183  | 
  | 
| 
alpar@464
 | 
   184  | 
@c @node Type Index
  | 
| 
alpar@464
 | 
   185  | 
@unnumbered Type Index
  | 
| 
alpar@464
 | 
   186  | 
@printindex tp
  | 
| 
alpar@464
 | 
   187  | 
  | 
| 
alpar@464
 | 
   188  | 
@bye
  | 
| 
alpar@464
 | 
   189  | 
  |