From a63b491b014ce7061f61b6fd94876b9abd6ceff2 Mon Sep 17 00:00:00 2001 From: alegrand Date: Thu, 27 Jan 2005 18:41:37 +0000 Subject: [PATCH] Importing the documentation !!! :) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@788 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- configure.ac | 13 +- doc/Doxyfile.API | 1131 +++++++++++++++++++++++++++++++++ doc/Doxyfile.Examples | 1119 ++++++++++++++++++++++++++++++++ doc/Doxyfile.main | 1119 ++++++++++++++++++++++++++++++++ doc/FAQ.doc | 274 ++++++++ doc/Makefile.am | 21 + doc/footer.html | 17 + doc/index.doc | 243 +++++++ doc/simgrid_logo.png | Bin 0 -> 27059 bytes examples/modules.doc | 13 + src/modules.doc | 138 ++++ tools/doxygen/index_create.pl | Bin 0 -> 1308 bytes 12 files changed, 4080 insertions(+), 8 deletions(-) create mode 100644 doc/Doxyfile.API create mode 100644 doc/Doxyfile.Examples create mode 100644 doc/Doxyfile.main create mode 100644 doc/FAQ.doc create mode 100644 doc/Makefile.am create mode 100644 doc/footer.html create mode 100644 doc/index.doc create mode 100644 doc/simgrid_logo.png create mode 100644 examples/modules.doc create mode 100644 src/modules.doc create mode 100755 tools/doxygen/index_create.pl diff --git a/configure.ac b/configure.ac index 9c6b3307fd..1fc372f727 100644 --- a/configure.ac +++ b/configure.ac @@ -77,10 +77,6 @@ fi AC_CHECK_PROG(FLEXML,flexml,,NOTFOUND) AM_CONDITIONAL(HAVE_FLEXML,test x$FLEXML != NOTFOUND) -# Can we rebuild the documentation? -GTK_DOC_CHECK() -AC_SUBST([htmldir], ['${datadir}/doc/gras/html'])dnl - dnl ####[ Search libs ]####################################################### dnl A CI_PACKAGE([S imGrid],[the SimGrid simulator],[SG_init],[-lsimgrid],[simgrid.h],,:) dnl A M_CONDITIONAL(HAVE_SG,test x$HAVE_SimGrid = xyes) @@ -136,13 +132,14 @@ AC_CONFIG_FILES([ src/Makefile src/amok/Makefile examples/Makefile - examples/ping/Makefile examples/ping/test_sg examples/ping/test_rl + examples/ping/Makefile examples/ping/test_sg examples/ping/test_rl + examples/msg/Makefile doc/Makefile tools/compile-remote-worker testsuite/Makefile - testsuite/run_tests - testsuite/gras/trp_tcp_usage - testsuite/gras/trp_file_usage + testsuite/run_tests + testsuite/gras/trp_tcp_usage + testsuite/gras/trp_file_usage ],[ test -e testsuite/run_tests && chmod +x testsuite/run_tests; test -e testsuite/gras/trp_tcp_usage && chmod +x testsuite/gras/trp_tcp_usage; diff --git a/doc/Doxyfile.API b/doc/Doxyfile.API new file mode 100644 index 0000000000..73e9d18cbc --- /dev/null +++ b/doc/Doxyfile.API @@ -0,0 +1,1131 @@ +# Doxyfile 1.3.6-20040222 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = SimGridAPI + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = html/API/ + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, +# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for +# all platforms other than Windows). + +USE_WINDOWS_ENCODING = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is used +# as the annotated text. Otherwise, the brief description is used as-is. If left +# blank, the following values are used ("$name" is automatically replaced with the +# name of the entity): "The $name class" "The $name widget" "The $name file" +# "is" "provides" "specifies" "contains" "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = YES + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = ./ + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = YES + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../include/ \ + ../src/surf/ \ + ../src/msg/ \ + ../src/msg/deployment.c \ + ../src/msg/environment.c \ + ../src/msg/global.c \ + ../src/msg/gos.c \ + ../src/msg/host.c \ + ../src/msg/m_process.c \ + ../src/msg/private.h \ + ../src/msg/task.c \ + ../src/xbt/ \ + ../src/modules.doc \ + ../src/api_index.doc + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm + +FILE_PATTERNS = + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = footer.html + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = YES + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = HAVE_GRIDML=1 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the +# parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = html/examples/examples.tag=../../examples/html \ + html/main.tag=../../ + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = html/API/API.tag + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superseded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes that +# lay further from the root node will be omitted. Note that setting this option to +# 1 or 2 may greatly reduce the computation time needed for large code bases. Also +# note that a graph may be further truncated if the graph's image dimensions are +# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). +# If 0 is used for the depth value (the default), the graph is not depth-constrained. + +MAX_DOT_GRAPH_DEPTH = 0 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/doc/Doxyfile.Examples b/doc/Doxyfile.Examples new file mode 100644 index 0000000000..743cb578a0 --- /dev/null +++ b/doc/Doxyfile.Examples @@ -0,0 +1,1119 @@ +# Doxyfile 1.3.6-20040222 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = SimGrid2Examples + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = html/examples/ + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, +# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for +# all platforms other than Windows). + +USE_WINDOWS_ENCODING = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is used +# as the annotated text. Otherwise, the brief description is used as-is. If left +# blank, the following values are used ("$name" is automatically replaced with the +# name of the entity): "The $name class" "The $name widget" "The $name file" +# "is" "provides" "specifies" "contains" "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = YES + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = ./ + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../examples/msg \ + ../examples/modules.doc + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm + +FILE_PATTERNS = + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = footer.html + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = YES + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the +# parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = html/API/API.tag=../../API/html \ + html/main.tag=../../ + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = html/examples/examples.tag + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superseded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes that +# lay further from the root node will be omitted. Note that setting this option to +# 1 or 2 may greatly reduce the computation time needed for large code bases. Also +# note that a graph may be further truncated if the graph's image dimensions are +# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). +# If 0 is used for the depth value (the default), the graph is not depth-constrained. + +MAX_DOT_GRAPH_DEPTH = 0 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/doc/Doxyfile.main b/doc/Doxyfile.main new file mode 100644 index 0000000000..df39057fd1 --- /dev/null +++ b/doc/Doxyfile.main @@ -0,0 +1,1119 @@ +# Doxyfile 1.3.6-20040222 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = SimGrid + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = ./ + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, +# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for +# all platforms other than Windows). + +USE_WINDOWS_ENCODING = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is used +# as the annotated text. Otherwise, the brief description is used as-is. If left +# blank, the following values are used ("$name" is automatically replaced with the +# name of the entity): "The $name class" "The $name widget" "The $name file" +# "is" "provides" "specifies" "contains" "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = YES + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = ./ + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ./index.doc \ + ./FAQ.doc + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm + +FILE_PATTERNS = + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = YES + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the +# parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = html/API/API.tag=API/html \ + html/examples/examples.tag=examples/html + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = html/main.tag + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superseded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes that +# lay further from the root node will be omitted. Note that setting this option to +# 1 or 2 may greatly reduce the computation time needed for large code bases. Also +# note that a graph may be further truncated if the graph's image dimensions are +# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). +# If 0 is used for the depth value (the default), the graph is not depth-constrained. + +MAX_DOT_GRAPH_DEPTH = 0 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/doc/FAQ.doc b/doc/FAQ.doc new file mode 100644 index 0000000000..85b3b83a44 --- /dev/null +++ b/doc/FAQ.doc @@ -0,0 +1,274 @@ +/*! \page faq Frequently Asked Questions + +\author Arnaud Legrand + +\section faq_installation Installing the SimGrid library + +Many people have been asking me questions on how to use SimGrid. Quite +often, the questions were not really about SimGrid but on the +installation process. This section is intended to help people that are +not familiar with compiling C files under UNIX. If you follow these +instructions and still have some troubles, drop me an e-mail. + +\subsection faq_compiling Compiling SimGrid + +Suppose you have uncompressed SimGrid in some temporary location of +your home directory (say /home/joe/tmp/simgrid-2.18.2 ). The +simplest way to use SimGrid is to install it in your home +directory. Change your directory to +/home/joe/tmp/simgrid-2.18.2 and type + +\verbatim./configure --prefix=$HOME +make +make install +\endverbatim + +If at some point, something fails, you can report me this problem but, +please, avoid sending a laconic mail like "There is a problem. Is it +normal ?". Send me the config.log file which is automatically +generated by configure. Try to capture both the standard output and +the error output of the make command. There is no way for me +to help you if you do not give me a little bit of information. + +Now, the following directory should have been created : + + \li /home/joe/doc/simgrid/html/ + \li /home/joe/lib/ + \li /home/joe/include/ + +SimGrid is not a binary, it is a library. Both a static and a dynamic +version are available. Here is what you can find if you try a ls +/home/joe/lib: + +\verbatim libsimgrid.a libsimgrid.la libsimgrid.so libsimgrid.so.0 libsimgrid.so.0.0.1 +\endverbatim + +Thus, there is two ways to link your program with SimGrid: + \li Either you use the static version, e.g +\verbatim gcc libsimgrid.a -o MainProgram MainProgram.c +\endverbatim + In this case, all the SimGrid functions are directly + included in MainProgram (hence a bigger binary). + \li Either you use the dynamic version (the preferred method) +\verbatim gcc -lsimgrid -o MainProgram MainProgram.c +\endverbatim + In this case, the SimGrid functions are not included in + MainProgram and you need to set your environment + variable in such a way that libsimgrid.so will be + found at runtime. This can be done by adding the following + line in your .bashrc (if you use bash and if you have + installed the SimGrid libraries in your home directory): +\verbatim export LD_LIBRARY_PATH=$HOME/lib/:$LD_LIBRARY_PATH +\endverbatim + +\subsection faq_setting Setting up your own code + +Do not build your simulator by modifying the SimGrid examples. Go +outside the SimGrid source tree and create your own working directory +(say /home/joe/SimGrid/MyFirstScheduler/). + +Suppose your simulation has the following structure (remember it is +just an example to illustrate a possible way to compile everything; +feel free to organize it as you want). + + \li sched.h: a description of the core of the + scheduler (i.e. which functions are can be used by the + agents). For example we could find the following functions + (master, forwarder, slave). + + \li sched.c: a C file including sched.h and + implementing the core of the scheduler. Most of these + functions use the MSG functions defined in section \ref + msg_gos_functions. + + \li masterslave.c: a C file with the main function, i.e. + the MSG initialization (MSG_global_init()), the platform + creation (e.g. with MSG_create_environment()), the + deployment phase (e.g. with MSG_function_register() and + MSG_launch_application()) and the call to + MSG_main()). + +To compile such a program, I suggest to use the following Makefile. It +is a generic Makefile that I generally use with my students when I +teach the C language. + +\verbatim +all: masterslave +masterslave: masterslave.o sched.o + +INSTALL_PATH = $$HOME +CC = gcc +PEDANTIC_PARANOID_FREAK = -O0 -Wshadow -Wcast-align \ + -Waggregate-return -Wmissing-prototypes -Wmissing-declarations \ + -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations \ + -Wmissing-noreturn -Wredundant-decls -Wnested-externs \ + -Wpointer-arith -Wwrite-strings -finline-functions +REASONABLY_CAREFUL_DUDE = -Wall +NO_PRAYER_FOR_THE_WICKED = -w -O2 +WARNINGS = $(REASONABLY_CAREFUL_DUDE) +CFLAGS = -g $(WARNINGS) + +INCLUDES = -I$(INSTALL_PATH)/include +DEFS = -L$(INSTALL_PATH)/lib/ +LDADD = -lm -lsimgrid +LIBS = + +%: %.o + $(CC) $(INCLUDES) $(DEFS) $(CFLAGS) $^ $(LIBS) $(LDADD) -o $@ + +%.o: %.c + $(CC) $(INCLUDES) $(DEFS) $(CFLAGS) -c -o $@ $< + +clean: + rm -f $(BIN_FILES) *.o *~ +.SUFFIXES: +.PHONY : clean + +\endverbatim + +The first two lines indicates what should be build when typing make +(masterslave) and of which files it is to be made of +(masterslave.o and sched.o). This makefile assumes +that you have set up correctly your LD_LIBRARY_PATH variable +(look, there is a LDADD = -lm -lsimgrid). If you prefer using +the static version, remove the -lsimgrid and add a +$(INSTALL_PATH)/lib/libsimgrid.a on the next line, right +after the LIBS = . + +More generally, if you have never written a Makefile by yourself, type +in a terminal : info make and read the introduction. The +previous example should be enough for a first try but you may want to +perform some more complex compilations... + +\section faq_simgrid I'm new to SimGrid. I have some questions. Where should I start ? + +You are at the right place... Having a look to these slides +may give you some insights on what SimGrid can help you to do and what +are its limitations. Then you definitely should read the \ref +MSG_examples. + +\subsection faq_generic Building a generic simulator + +Please read carefully the \ref MSG_examples. + + \li Start by reading \ref masterslave1.c. It is the most + complicated example since all the platform and all the + deployment are done directly in the code. + + \li As you may notice, building a big platform with functions like + MSG_host_create() and MSG_link_create() is quite boring. That + is why it is possible to import a complex platform with + MSG_create_environment(). Have a look at \ref masterslave2.c + and look at the differences with the previous version. + + \li Now, deploying your application on an extern platform is not + really convenient either. Having an external way of specifying + which agents should be run on which machine would be much more + convenient. That is why MSG_launch_application() has been + designed for. Have a look at \ref masterslave3.c and look at + the differences with the previous versions. Much more clean and + simple, isnt'it ? In fact, all the complexity of the deployment + that was in the test_all function of \ref masterslave1.c has + been moved to more generic functions : unix_emitter() and + unix_receiver(). + +\subsection faq_examples I want some more complex examples ! + +Many people have come to ask me a more complex example and each time, +they have realized afterward that the basics were in the previous three +examples. + +Of course they have often been needing more complex functions like +MSG_process_suspend(), MSG_process_resume() and +MSG_process_isSuspended() (to perform synchronization), or +MSG_task_Iprobe() and MSG_process_sleep() (to avoid blocking +receptions), or even MSG_process_create() (to design asynchronous +communications or computations). But the examples are sufficient to +start. + +I know I should add some more examples, but not some more complex +ones... I should add some examples that illustrate some other +functionalities (like how to simply encode asynchronous +communications, RPC, process migrations, thread synchronization, ...) +and I will do it when I will have a little bit more time. I have tried +to document the examples so that they are understandable. I know it is +not really satisfying but it is the best I have managed to do yet. + +\subsection faq_platform Building a realistic platform + +I can speak more than an hour on this subject and I still do not have +the right answer, just some ideas. You can read the following slides. +It may give you some hints. You can also have a look at the +tools/platform_generation/ directory. There is a perl-script +I use to annotate a Tiers generated platform (may not be up-to-date +though). + +\subsection faq_visualization Visualizing the schedule + +It is sometime convenient to "see" how the agents are behaving. If you +like colors, you can use tools/colorize.pl as a filter to you +MSG outputs. It is intended to work with the output generated by +PRINT_MESSAGE() (a macro defined in +example/msg/messages.h). Beware, PRINT_MESSAGE() prints on +stderr. Do not forget to redirect if you want to filter (e.g. with +bash): +\verbatim ./masterslave3 platform.txt deployment.txt 2>&1 | ../../tools/colorize.pl \endverbatim + +That would be great to have something more graphical. As soon as I'll +have a little bit more time, I will write a piece of code that +generates an input to Paje. + +\subsection faq_context I have tons of process and it is limiting my simulation. + +MSG can use either pthreads or the GNU context library. On most +systems, the number of pthreads is limited (especially with the +current linux pthreads) and then your simulation may be limited for a +stupid reason. If you enable the context option +(--enable-context in the ./configure phase), you +will not use the pthread anymore and the context switching will be +done manually, which enables us to have as much agents as your memory +can hold and should be much faster... So think about it if your +simulation is getting really big. + +Nevertheless, be aware that this code does not work on some system. It +is not very clean. As usual, as soon as I will have a little bit more +time, I will recode it in a cleaner way. + +\section faq_stupid Stupid Questions + +\subsection faq_GridSim Are SimGrid and GridSim the same ? + +Are you kidding ? SimGrid is plain C and GridSim is written in +Java... I'm sarcastic but I'm pissed of all these poeple arguing that +their software is well-structured and higly portable thanks to Java. A +C program can also be structured in an object-oriented way and be +highly portable (just try to run Java on IRIX... ;). + +According to different published papers, both SimGrid and GridSim seem +to have the same kind of goal but I have never succeeded in compiling +GridSim (but I may not be very objective since I always have troubles +when trying to run java programs) and its documentation has not +enlightened me. If you have suceeded and can tell me more about it, +please tell me. + +\subsection faq_stupid_MSG What is MSG and why do you like it ? + +Monosodium glutamate (MSG) is used as a flavor enhancer in a variety +of foods prepared at home, in restaurants, and by food processors. Its +use has become controversial in the past 30 years because of reports of +adverse reactions in people who've eaten foods that contain MSG. Research +on the role of glutamate--a group of chemicals that includes MSG--in the +nervous system also has raised questions about the chemical's safety. + +For more information, see http://www.truthinlabeling.org/ or +http://www.msg.net/ + +It also stands for Meta-SimgGrid. It is a simulator written on top of +Simgrid that can be used to easily simulate many process running on a +computing platform. + +I also like it because it gives flavor and it's addictive. ;) + +*/ \ No newline at end of file diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000000..eb6b2323c9 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,21 @@ +DOCSOURCES = $(shell find @top_srcdir@/src @top_srcdir@/include -name "*.[chl]") $(shell find @top_srcdir@/src @top_srcdir@/include -name "*.doc") + +documentation: $(DOCSOURCES) Doxyfile.API Doxyfile.Examples Doxyfile.main + @doxygen Doxyfile.main + +html2: $(DOCSOURCES) Doxyfile.API Doxyfile.Examples Doxyfile.main + @touch @top_srcdir@/src/api_index.doc + @doxygen Doxyfile.main + @doxygen Doxyfile.API + @doxygen Doxyfile.Examples + @@top_srcdir@/tools/doxygen/index_create.pl html/API/API.tag @top_srcdir@/src/api_index.doc + @cp simgrid_logo.png html/ + @doxygen Doxyfile.API + @doxygen Doxyfile.Examples + @doxygen Doxyfile.main +# @cd html ; @top_srcdir@/tools/fix_doxygen2.pl `find . -name '*.html'` +# @rm -rf html/API html/examples +# for i in `find doc/html -name "*.html" -exec grep -l "group_[^_]" {} \;` ; do tools/fix_doxygen.pl $$i; rm $$i.bak; done + +clean: + @rm -rf html/ diff --git a/doc/footer.html b/doc/footer.html new file mode 100644 index 0000000000..c55f227b86 --- /dev/null +++ b/doc/footer.html @@ -0,0 +1,17 @@ +

+


+ + + + + + +
+ +Back to the main Simgrid Documentation page + +Generated for SimGridAPI by + +doxygen +
diff --git a/doc/index.doc b/doc/index.doc new file mode 100644 index 0000000000..6912b0d54f --- /dev/null +++ b/doc/index.doc @@ -0,0 +1,243 @@ +/*! \page index + +
+\htmlonly +SimGrid
+\endhtmlonly +
+ +\section overview Overview + +SimGrid is a toolkit that provides core functionalities for the simulation +of distributed applications in heterogeneous distributed environments. +The specific goal of the project is to facilitate research in the area of +distributed and parallel application scheduling on distributed computing +platforms ranging from simple network of workstations to Computational +Grids. + +\section people People + +The authors of SimGrid are: + +\author Henri Casanova +\author Arnaud Legrand +\author Martin Quinson + +\section intro Available Softwares + +The SimGrid toolkit is composed of different modules : + +\li XBT (eXtensive Bundle of Tools) is a portable library with many + convenient portable datastructures (vectors, hashtables, heap, + contexts ...). Most other SimGrid modules rely on it. + +\li SURF provides the core functionnalities to simulate a virtual + platform. It is very low-level and is not intended to be used as + such but rather to serve as a basis for higher-level simulators + (like MSG, GRAS, SMPI, ...). It relies on a fast max min linear + solver. + +\li MSG is a simulator built using the previous modules. It aims at + being realistic and is application-oriented. It is the software layer + of choice for building simulation with multiple scheduling agents. + +\li GRAS (not functionnal yet) is an ongoing project to emulate virtual virtual platforms + through SURF. As a consequence a code developped using the GRAS + framework is able to run as well in the real-world as in the + simulator. If you intend to use MSG in a very intensive way + (e.g. for simulating a peer-to-peer environment), you may want to + switch to GRAS. + +\li SMPI (not functionnal yet) is an ongoing project to enable MPI code to run on top of a + virtual platform through SURF. It follows the same principle as + the ones used in GRAS but is specific to MPI applications. + +The section \ref publications contains links to papers that provide +additional details on the project as well as validation and +experimental results. + +The software can be downloaded from here. + +\section install Installation + +Simply type + \li ./configure + \li make all install + +If you are not familiar with compiling C files under UNIX and using +libraries, you will find some more informations in Section \ref +faq. + +\section documentation API Documentation + +The API of all different modules is described in \ref SimGrid_API. + +See \ref SimGrid_examples for an introduction on the way to use these modules. + +\section users_contributers Users / Contributers + +\subsection contributers Contributers + + \li Loris Marchal: wrote the new algorithm for simulation TCP + bandwidth-sharing. + \li Julien Lerouge : wrote a XML parser for ENV descriptions and + helped for the general design during a 4 month period (march-june 2002) + in the LIP. + \li Clément Menier and Marc Perache : wrote a first prototype of + the MSG interface during a project at ENS-Lyon (jan 2002). + \li Dmitrii Zagorodnov : wrote some parts of the first version + of SimGrid (1999). + +\subsection mailinglist User Mailing List + + We have a mailing list for + SimGrid users.

+ +\section publications Publications + +\subsection simulation About simulation + +\li Scheduling Distributed Applications: the + SimGrid Simulation Framework\n + by Henri Casanova and Arnaud Legrand and Loris Marchal\n + Proceedings of the third IEEE International Symposium + on Cluster Computing and the Grid (CCGrid'03)\n + Since the advent of distributed computer systems an active field + of research has been the investigation of scheduling strategies + for parallel applications. The common approach is to employ + scheduling heuristics that approximate an optimal + schedule. Unfortunately, it is often impossible to obtain + analytical results to compare the efficacy of these heuristics. + One possibility is to conducts large numbers of back-to-back + experiments on real platforms. While this is possible on + tightly-coupled platforms, it is infeasible on modern distributed + platforms (i.e. Grids) as it is labor-intensive and does not + enable repeatable results. The solution is to resort to + simulations. Simulations not only enables repeatable results but + also make it possible to explore wide ranges of platform and + application scenarios.\n + In this paper we present the SimGrid framework which enables the + simulation of distributed applications in distributed computing + environments for the specific purpose of developing and evaluating + scheduling algorithms. This paper focuses on SimGrid v2, which + greatly improves on the first version of the software with more + realistic network models and topologies. SimGrid v2 also enables + the simulation of distributed scheduling agents, which has become + critical for current scheduling research in large-scale platforms. + After describing and validating these features, we present a case + study by which we demonstrate the usefulness of SimGrid for + conducting scheduling research. + + +\li A Network Model for Simulation of Grid Application\n + by Henri Casanova and Loris Marchal\n + \anchor paper_tcp + In this work we investigate network models that can be + potentially employed in the simulation of scheduling algorithms for + distributed computing applications. We seek to develop a model of TCP + communication which is both high-level and realistic. Previous research + works show that accurate and global modeling of wide-area networks, such + as the Internet, faces a number of challenging issues. However, some + global models of fairness and bandwidth-sharing exist, and can be link + withthe behavior of TCP. Using both previous results and simulation (with + NS), we attempt to understand the macroscopic behavior of + TCP communications. We then propose a global model of the network for the + Grid platform. We perform partial validation of this model in + simulation. The model leads to an algorithm for computing + bandwidth-sharing. This algorithm can then be implemented as part of Grid + application simulations. We provide such an implementation for the + SimGrid simulation toolkit.\n + ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-40.ps.gz + + +\li MetaSimGrid : Towards realistic scheduling simulation of + distributed applications\n + by Arnaud Legrand and Julien Lerouge\n + Most scheduling problems are already hard on homogeneous + platforms, they become quite intractable in an heterogeneous + framework such as a metacomputing grid. In the best cases, a + guaranteed heuristic can be found, but most of the time, it is + not possible. Real experiments or simulations are often + involved to test or to compare heuristics. However, on a + distributed heterogeneous platform, such experiments are + technically difficult to drive, because of the genuine + instability of the platform. It is almost impossible to + guarantee that a platform which is not dedicated to the + experiment, will remain exactly the same between two tests, + thereby forbidding any meaningful comparison. Simulations are + then used to replace real experiments, so as to ensure the + reproducibility of measured data. A key issue is the + possibility to run the simulations against a realistic + environment. The main idea of trace-based simulation is to + record the platform parameters today, and to simulate the + algorithms tomorrow, against the recorded data: even though it + is not the current load of the platform, it is realistic, + because it represents a fair summary of what happened + previously. A good example of a trace-based simulation tool is + SimGrid, a toolkit providing a set of core abstractions and + functionalities that can be used to easily build simulators for + specific application domains and/or computing environment + topologies. Nevertheless, SimGrid lacks a number of convenient + features to craft simulations of a distributed application + where scheduling decisions are not taken by a single + process. Furthermore, modeling a complex platform by hand is + fastidious for a few hosts and is almost impossible for a real + grid. This report is a survey on simulation for scheduling + evaluation purposes and present MetaSimGrid, a simulator built + on top of SimGrid.\n + ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-28.ps.gz + +\li SimGrid: A Toolkit for the Simulation of Application + Scheduling\n + by Henri Casanova\n + Advances in hardware and software technologies have made it + possible to deploy parallel applications over increasingly large + sets of distributed resources. Consequently, the study of + scheduling algorithms for such applications has been an active area + of research. Given the nature of most scheduling problems one must + resort to simulation to effectively evaluate and compare their + efficacy over a wide range of scenarios. It has thus become + necessary to simulate those algorithms for increasingly complex + distributed, dynamic, heterogeneous environments. In this paper we + present SimGrid, a simulation toolkit for the study of scheduling + algorithms for distributed application. This paper gives the main + concepts and models behind SimGrid, describes its API and + highlights current implementation issues. We also give some + experimental results and describe work that builds on SimGrid's + functionalities.\n + http://grail.sdsc.edu/papers/simgrid_ccgrid01.ps.gz + +\subsection research Papers using SimGrid results + +\li Optimal algorithms for scheduling divisible workloads on + heterogeneous systems\n + by Olivier Beaumont and Arnaud Legrand and Yves Robert\n + In this paper, we discuss several algorithms for scheduling + divisible loads on heterogeneous systems. Our main contributions + are (i) new optimality results for single-round algorithms and (ii) + the design of an asymptotically optimal multi-round algorithm. This + multi-round algorithm automatically performs resource selection, a + difficult task that was previously left to the user. Because it is + periodic, it is simpler to implement, and more robust to changes in + the speeds of processors or communication links. On the theoretical + side, to the best of our knowledge, this is the first published + result assessing the absolute performance of a multi-round + algorithm. On the practical side, extensive simulations reveal + that our multi-round algorithm outperforms existing solutions on a + large variety of platforms, especially when the + communication-to-computation ratio is not very high (the difficult + case).\n + ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-36.ps.gz +\li On-line Parallel Tomography\n + by Shava Smallen\n + Masters Thesis, UCSD, May 2001 +\li Applying Scheduling and Tuning to On-line Parallel Tomography \n + by Shava Smallen, Henri Casanova, Francine Berman\n + in Proceedings of Supercomputing 2001 +\li Heuristics for Scheduling Parameter Sweep applications in + Grid environments\n + by Henri Casanova, Arnaud Legrand, Dmitrii Zagorodnov and + Francine Berman\n + in Proceedings of the 9th Heterogeneous Computing workshop + (HCW'2000), pp349-363. +*/ diff --git a/doc/simgrid_logo.png b/doc/simgrid_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..118e76148628d9cd42714cda20eea0c699a06cfc GIT binary patch literal 27059 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/longjmp) to schedule non-preemptible + * threads. + */ + /** \defgroup XBT_dict A generic dictionnary + * \ingroup XBT_API + * \brief This section describes the API to a dictionnary structure that + * associates as string to a void* key. It is not a hash table and the + * internal data-structure rather looks like a tree. + */ + /** \defgroup XBT_dynar A generic dynamic array + * \ingroup XBT_API + * \brief This section describes the API to generic dynamic array (vector). + */ + /** \defgroup XBT_error Error tracking support. + * \ingroup XBT_API + * \brief This section describes a set of macros used to handle errors easily. + */ + /** \defgroup XBT_fifo A generic workqueue + * \ingroup XBT_API + * \brief This section describes the API to generic workqueue. These functions + * provide the same kind of functionnality as dynamic arrays but in time O(1). + * However these functions use malloc/free a way too much often. + */ + /** \defgroup XBT_swag A specific set datatype + * \ingroup XBT_API + * \brief Warning, this module is done to be efficient and performs tons of + * cast and dirty things. So avoid using it unless you really know + * what you are doing. It is basically a fifo but with restrictions so that + * it can be used as a set. Any operation (add, remove, belongs) is O(1) and + * no call to malloc/free is done. + */ + /** \defgroup XBT_heap A generic heap data structure + * \ingroup XBT_API + * \brief This section describes the API to generic heap. + */ + /** \defgroup XBT_log A generic logging facility in the spirit of log4j + * \ingroup XBT_API + * \brief This section describes the API to the log functions used + * everywhere in this project. + */ + /** \defgroup XBT_sysdep All system dependency + * \ingroup XBT_API + * \brief This section describes many macros/functions that can serve as + * an OS abstraction. + */ + + +/** \defgroup SURF_API API of SURF + * \ingroup SimGrid_API + */ + + +/** \defgroup MSG_API API of MSG + * \ingroup SimGrid_API + */ + /** \defgroup m_datatypes_management MSG Data Types + * \ingroup MSG_API + * \brief This section describes the different datatypes provided by MSG. + * + */ + + /** \defgroup m_process_management Management Functions of Agents + * \ingroup MSG_API + * \brief This section describes the agent structure of MSG + * (#m_process_t) and the functions for managing it. + * + * We need to simulate many independent scheduling decisions, so + * the concept of process is at the heart of the + * simulator. A process may be defined as a code, with + * some private data, executing in a location. + * \see m_process_t + */ + + /** \defgroup m_host_management Management Functions of Hosts + * \ingroup MSG_API + * \brief This section describes the host structure of MSG + * (#m_host_t) and the functions for managing it. + * + * A location (or host) is any possible place where + * a process may run. Thus it may be represented as a + * physical resource with computing capabilities, some + * mailboxes to enable running process to communicate with + * remote ones, and some private data that can be only + * accessed by local process. + * \see m_host_t + */ + + /** \defgroup m_task_management Management Functions of Tasks + * \ingroup MSG_API + * \brief This section describes the task structure of MSG + * (#m_task_t) and the functions for managing it. + * + * Since most scheduling algorithms rely on a concept of task + * that can be either computed locally or + * transferred on another processor, it seems to be the + * right level of abstraction for our purposes. A task + * may then be defined by a computing amount, a + * message size and some private data. + */ + + /** \defgroup msg_gos_functions MSG Operating System Functions + * \ingroup MSG_API + * \brief This section describes the functions that can be used + * by an agent for handling some task. + */ + + /** \defgroup m_channel_management Understanding channels + * \ingroup MSG_API + * \brief This section briefly describes the channel notion of MSG + * (#m_channel_t). + * + * For convenience, the simulator provides the notion of channel + * that is close to the tag notion in MPI. A channel is not a + * socket. It doesn't need to be opened neither closed. It rather + * corresponds to the ports opened on the different machines. + */ + + /** \defgroup msg_easier_life Platform and Application management + * \ingroup MSG_API + * \brief This section describes functions to manage the platform creation + * and the application deployment. You should also have a look at + * \ref MSG_examples to have an overview of their usage. + */ + + /** \defgroup msg_simulation MSG simulation Functions + * \ingroup MSG_API + * \brief This section describes the functions you need to know to + * set up a simulation. You should have a look at \ref MSG_examples + * to have an overview of their usage. + */ diff --git a/tools/doxygen/index_create.pl b/tools/doxygen/index_create.pl new file mode 100755 index 0000000000000000000000000000000000000000..aff8eafb94ce1da1bb464369931d3b7de4915b72 GIT binary patch literal 1308 zcmc&zO;6iE5bZVlE2hRsi3QoxW9?Yt04Nd?sD)lIM2@{7E9_lkuL)6PetTzUlaQpn z*B9@6y_wnf_UJ2bo0?Ch;+3ciI9)K-_m9qhUj2r61ZM-#HRMu&ci*JX;s;2Ti}y)Z zi`0l=RX`+F)tXb2KA+BHA!3MhYpf^N8F{|MUdULv?E7X}i2;njLx;6hTJGA%d1}&W z+K2(>`veP^?b}%%zCDJ_cgS1c8Txc36kLw4FHT%V$QE-Pqwg0|iBV)D@c>o~@XO}9 ztbigRIpl1e_rWs^=~m_Nf(wqgE$Pv~wwuKYxAq4#{ORE-@g9T3<9t7mc*DSV&YcOu zzgl;P1C*kiiu%8`k1QGSdT)E)-P_rA?_sb`q_sc&QNjse7`WXxRIca_yA^TWA?DfV zb&(Ew6v2QMMNf%$WP;H676lG+!j{XJ~(##15I<-6w0I)Z^#(V z&Dc!iyUOO^l=r&mJ7@wHHKo$|EiGEHoo3T)qjQwCtINSZAcAzgcVk{O{~lAnh~o(o z1rW7GoG44kb|9j<-{{)Fi&!>rygG#L2;06h`>gE#AYQ@ST$xAV-hS`IMAu^^)1vnW w5l6%IwJ;rs0{LID-oLAksO+$a^*VN#Z&%`*od_D$wLeL~aa|`kCnc2JAMNFYSpWb4 literal 0 HcmV?d00001 -- 2.20.1