Changeset 3 in Project Repository


Ignore:
Timestamp:
08/22/2012 06:25:58 PM (8 years ago)
Author:
pchapin
Message:

Updated Doxygen configuration file. Reformatted C++ source. Added Code::Blocks project file.

Location:
src
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • src

    • Property svn:ignore set to
      *.depend
      *.layout
      bin
      html
      obj
  • src/Doxyfile

    r1 r3  
    1 # Doxyfile 1.7.1 
     1# Doxyfile 1.7.6.1 
    22 
    33# This file describes the settings to be used by the documentation system 
    4 # doxygen (www.doxygen.org) for a project 
     4# doxygen (www.doxygen.org) for a project. 
    55# 
    6 # All text after a hash (#) is considered a comment and will be ignored 
     6# All text after a hash (#) is considered a comment and will be ignored. 
    77# The format is: 
    88#       TAG = value [value, ...] 
    99# For lists items can also be appended using: 
    1010#       TAG += value [value, ...] 
    11 # Values that contain spaces should be placed between quotes (" ") 
     11# Values that contain spaces should be placed between quotes (" "). 
    1212 
    1313#--------------------------------------------------------------------------- 
     
    1515#--------------------------------------------------------------------------- 
    1616 
    17 # This tag specifies the encoding used for all characters in the config file that follow. The 
    18 # default is UTF-8 which is also the encoding used for all text before the first occurrence of 
    19 # this tag. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. See 
     17# This tag specifies the encoding used for all characters in the config file 
     18# that follow. The default is UTF-8 which is also the encoding used for all 
     19# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
     20# iconv built into libc) for the transcoding. See 
    2021# http://www.gnu.org/software/libiconv for the list of possible encodings. 
    2122 
    2223DOXYFILE_ENCODING      = UTF-8 
    2324 
    24 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by quotes) that 
    25 # should identify the project. 
     25# The PROJECT_NAME tag is a single word (or sequence of words) that should 
     26# identify the project. Note that if you do not use Doxywizard you need 
     27# to put quotes around the project name if it contains spaces. 
    2628 
    2729PROJECT_NAME           = "Random Library" 
    2830 
    29 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This could be handy 
    30 # for archiving the generated documentation or if some version control system is used. 
     31# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
     32# This could be handy for archiving the generated documentation or 
     33# if some version control system is used. 
    3134 
    3235PROJECT_NUMBER         = 0.1 
    3336 
    34 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) base path where the 
    35 # generated documentation will be put. If a relative path is entered, it will be relative to the 
    36 # location where doxygen was started. If left blank the current directory will be used. 
     37# Using the PROJECT_BRIEF tag one can provide an optional one line description 
     38# for a project that appears at the top of each page and should give viewer 
     39# a quick idea about the purpose of the project. Keep the description short. 
     40 
     41PROJECT_BRIEF          = 
     42 
     43# With the PROJECT_LOGO tag one can specify an logo or icon that is 
     44# included in the documentation. The maximum height of the logo should not 
     45# exceed 55 pixels and the maximum width should not exceed 200 pixels. 
     46# Doxygen will copy the logo to the output directory. 
     47 
     48PROJECT_LOGO           = 
     49 
     50# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
     51# base path where the generated documentation will be put. 
     52# If a relative path is entered, it will be relative to the location 
     53# where doxygen was started. If left blank the current directory will be used. 
    3754 
    3855OUTPUT_DIRECTORY       = 
    3956 
    40 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-directories (in 2 
    41 # levels) under the output directory of each output format and will distribute the generated 
    42 # files over these directories. Enabling this option can be useful when feeding doxygen a huge 
    43 # amount of source files, where putting all generated files in the same directory would 
     57# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
     58# 4096 sub-directories (in 2 levels) under the output directory of each output 
     59# format and will distribute the generated files over these directories. 
     60# Enabling this option can be useful when feeding doxygen a huge amount of 
     61# source files, where putting all generated files in the same directory would 
    4462# otherwise cause performance problems for the file system. 
    4563 
    4664CREATE_SUBDIRS         = NO 
    4765 
    48 # The OUTPUT_LANGUAGE tag is used to specify the language in which all documentation generated 
    49 # by doxygen is written. Doxygen will use this information to generate all constant output in 
    50 # the proper language. The default language is English, other supported languages are: 
    51 # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, 
    52 # Dutch, Esperanto, Farsi, Finnish, French, German, Greek, Hungarian, Italian, Japanese, 
    53 # Japanese-en (Japanese with English messages), Korean, Korean-en, Lithuanian, Norwegian, 
    54 # Macedonian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, 
     66# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
     67# documentation generated by doxygen is written. Doxygen will use this 
     68# information to generate all constant output in the proper language. 
     69# The default language is English, other supported languages are: 
     70# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
     71# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
     72# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
     73# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, 
     74# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, 
    5575# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. 
    5676 
    5777OUTPUT_LANGUAGE        = English 
    5878 
    59 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will include brief member 
    60 # descriptions after the members that are listed in the file and class documentation (similar to 
    61 # JavaDoc). Set to NO to disable this. 
     79# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
     80# include brief member descriptions after the members that are listed in 
     81# the file and class documentation (similar to JavaDoc). 
     82# Set to NO to disable this. 
    6283 
    6384BRIEF_MEMBER_DESC      = YES 
    6485 
    65 # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend the brief description 
    66 # of a member or function before the detailed description. Note: if both HIDE_UNDOC_MEMBERS and 
    67 # BRIEF_MEMBER_DESC are set to NO, the brief descriptions will be completely suppressed. 
     86# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
     87# the brief description of a member or function before the detailed description. 
     88# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
     89# brief descriptions will be completely suppressed. 
    6890 
    6991REPEAT_BRIEF           = YES 
    7092 
    71 # This tag implements a quasi-intelligent brief description abbreviator that is used to form the 
    72 # text in various listings. Each string in this list, if found as the leading text of the brief 
    73 # description, will be stripped from the text and the result after processing the whole list, is 
    74 # used as the annotated text. Otherwise, the brief description is used as-is. If left blank, the 
    75 # following values are used ("$name" is automatically replaced with the name of the entity): 
    76 # "The $name class" "The $name widget" "The $name file" "is" "provides" "specifies" "contains" 
     93# This tag implements a quasi-intelligent brief description abbreviator 
     94# that is used to form the text in various listings. Each string 
     95# in this list, if found as the leading text of the brief description, will be 
     96# stripped from the text and the result after processing the whole list, is 
     97# used as the annotated text. Otherwise, the brief description is used as-is. 
     98# If left blank, the following values are used ("$name" is automatically 
     99# replaced with the name of the entity): "The $name class" "The $name widget" 
     100# "The $name file" "is" "provides" "specifies" "contains" 
    77101# "represents" "a" "an" "the" 
    78102 
    79103ABBREVIATE_BRIEF       = 
    80104 
    81 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then Doxygen will 
    82 # generate a detailed section even if there is only a brief description. 
     105# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
     106# Doxygen will generate a detailed section even if there is only a brief 
     107# description. 
    83108 
    84109ALWAYS_DETAILED_SEC    = NO 
    85110 
    86 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited members of a 
    87 # class in the documentation of that class as if those members were ordinary class members. 
    88 # Constructors, destructors and assignment operators of the base classes will not be shown. 
     111# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
     112# inherited members of a class in the documentation of that class as if those 
     113# members were ordinary class members. Constructors, destructors and assignment 
     114# operators of the base classes will not be shown. 
    89115 
    90116INLINE_INHERITED_MEMB  = NO 
    91117 
    92 # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full path before files 
    93 # name in the file list and in the header files. If set to NO the shortest path that makes the 
    94 # file name unique will be used. 
     118# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
     119# path before files name in the file list and in the header files. If set 
     120# to NO the shortest path that makes the file name unique will be used. 
    95121 
    96122FULL_PATH_NAMES        = YES 
    97123 
    98 # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag can be used to strip a 
    99 # user-defined part of the path. Stripping is only done if one of the specified strings matches 
    100 # the left-hand part of the path. The tag can be used to show relative paths in the file list. 
    101 # If left blank the directory from which doxygen is run is used as the path to strip. 
     124# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
     125# can be used to strip a user-defined part of the path. Stripping is 
     126# only done if one of the specified strings matches the left-hand part of 
     127# the path. The tag can be used to show relative paths in the file list. 
     128# If left blank the directory from which doxygen is run is used as the 
     129# path to strip. 
    102130 
    103131STRIP_FROM_PATH        = 
    104132 
    105 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the path mentioned in 
    106 # the documentation of a class, which tells the reader which header file to include in order to 
    107 # use a class. If left blank only the name of the header file containing the class definition is 
    108 # used. Otherwise one should specify the include paths that are normally passed to the compiler 
    109 # using the -I flag. 
     133# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
     134# the path mentioned in the documentation of a class, which tells 
     135# the reader which header file to include in order to use a class. 
     136# If left blank only the name of the header file containing the class 
     137# definition is used. Otherwise one should specify the include paths that 
     138# are normally passed to the compiler using the -I flag. 
    110139 
    111140STRIP_FROM_INC_PATH    = 
    112141 
    113 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but less readable) 
    114 # file names. This can be useful is your file systems doesn't support long names like on DOS, 
    115 # Mac, or CD-ROM. 
     142# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
     143# (but less readable) file names. This can be useful if your file system 
     144# doesn't support long names like on DOS, Mac, or CD-ROM. 
    116145 
    117146SHORT_NAMES            = NO 
    118147 
    119 # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen will interpret the first line (until 
    120 # the first dot) of a JavaDoc-style comment as the brief description. If set to NO, the JavaDoc 
    121 # comments will behave just like regular Qt-style comments (thus requiring an explicit @brief 
    122 # command for a brief description.) 
     148# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
     149# will interpret the first line (until the first dot) of a JavaDoc-style 
     150# comment as the brief description. If set to NO, the JavaDoc 
     151# comments will behave just like regular Qt-style comments 
     152# (thus requiring an explicit @brief command for a brief description.) 
    123153 
    124154JAVADOC_AUTOBRIEF      = NO 
    125155 
    126 # If the QT_AUTOBRIEF tag is set to YES then Doxygen will interpret the first line (until the 
    127 # first dot) of a Qt-style comment as the brief description. If set to NO, the comments will 
    128 # behave just like regular Qt-style comments (thus requiring an explicit \brief command for a 
    129 # brief description.) 
     156# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
     157# interpret the first line (until the first dot) of a Qt-style 
     158# comment as the brief description. If set to NO, the comments 
     159# will behave just like regular Qt-style comments (thus requiring 
     160# an explicit \brief command for a brief description.) 
    130161 
    131162QT_AUTOBRIEF           = NO 
    132163 
    133 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen treat a multi-line C++ 
    134 # special comment block (i.e. a block of //! or /// comments) as a brief description. This used 
    135 # to be the default behaviour. The new default is to treat a multi-line C++ comment block as a 
    136 # detailed description. Set this tag to YES if you prefer the old behaviour instead. 
     164# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
     165# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
     166# comments) as a brief description. This used to be the default behaviour. 
     167# The new default is to treat a multi-line C++ comment block as a detailed 
     168# description. Set this tag to YES if you prefer the old behaviour instead. 
    137169 
    138170MULTILINE_CPP_IS_BRIEF = NO 
    139171 
    140 # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented member inherits the 
    141 # documentation from any documented member that it re-implements. 
     172# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
     173# member inherits the documentation from any documented member that it 
     174# re-implements. 
    142175 
    143176INHERIT_DOCS           = YES 
    144177 
    145 # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a new page for each 
    146 # member. If set to NO, the documentation of a member will be part of the file/class/namespace 
    147 # that contains it. 
     178# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
     179# a new page for each member. If set to NO, the documentation of a member will 
     180# be part of the file/class/namespace that contains it. 
    148181 
    149182SEPARATE_MEMBER_PAGES  = NO 
    150183 
    151 # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen uses this value to 
    152 # replace tabs by spaces in code fragments. 
     184# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
     185# Doxygen uses this value to replace tabs by spaces in code fragments. 
    153186 
    154187TAB_SIZE               = 8 
    155188 
    156 # This tag can be used to specify a number of aliases that acts as commands in the 
    157 # documentation. An alias has the form "name=value". For example adding "sideeffect=\par Side 
    158 # Effects:\n" will allow you to put the command \sideeffect (or @sideeffect) in the 
    159 # documentation, which will result in a user-defined paragraph with heading "Side Effects:". You 
    160 # can put \n's in the value part of an alias to insert newlines. 
     189# This tag can be used to specify a number of aliases that acts 
     190# as commands in the documentation. An alias has the form "name=value". 
     191# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
     192# put the command \sideeffect (or @sideeffect) in the documentation, which 
     193# will result in a user-defined paragraph with heading "Side Effects:". 
     194# You can put \n's in the value part of an alias to insert newlines. 
    161195 
    162196ALIASES                = 
    163197 
    164 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources only. Doxygen 
    165 # will then generate output that is more tailored for C. For instance, some of the names that 
    166 # are used will be different. The list of all members will be omitted, etc. 
     198# This tag can be used to specify a number of word-keyword mappings (TCL only). 
     199# A mapping has the form "name=value". For example adding 
     200# "class=itcl::class" will allow you to use the command class in the 
     201# itcl::class meaning. 
     202 
     203TCL_SUBST              = 
     204 
     205# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
     206# sources only. Doxygen will then generate output that is more tailored for C. 
     207# For instance, some of the names that are used will be different. The list 
     208# of all members will be omitted, etc. 
    167209 
    168210OPTIMIZE_OUTPUT_FOR_C  = NO 
    169211 
    170 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources only. Doxygen 
    171 # will then generate output that is more tailored for Java. For instance, namespaces will be 
    172 # presented as packages, qualified scopes will look different, etc. 
     212# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
     213# sources only. Doxygen will then generate output that is more tailored for 
     214# Java. For instance, namespaces will be presented as packages, qualified 
     215# scopes will look different, etc. 
    173216 
    174217OPTIMIZE_OUTPUT_JAVA   = NO 
    175218 
    176 # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran sources only. 
    177 # Doxygen will then generate output that is more tailored for Fortran. 
     219# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
     220# sources only. Doxygen will then generate output that is more tailored for 
     221# Fortran. 
    178222 
    179223OPTIMIZE_FOR_FORTRAN   = NO 
    180224 
    181 # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL sources. Doxygen will 
    182 # then generate output that is tailored for VHDL. 
     225# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
     226# sources. Doxygen will then generate output that is tailored for 
     227# VHDL. 
    183228 
    184229OPTIMIZE_OUTPUT_VHDL   = NO 
    185230 
    186 # Doxygen selects the parser to use depending on the extension of the files it parses. With this 
    187 # tag you can assign which parser to use for a given extension. Doxygen has a built-in mapping, 
    188 # but you can override or extend it using this tag. The format is ext=language, where ext is a 
    189 # file extension, and language is one of the parsers supported by doxygen: IDL, Java, 
    190 # Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance 
    191 # to make doxygen treat .inc files as Fortran files (default is PHP), and .f files as C (default 
    192 # is Fortran), use: inc=Fortran f=C. Note that for custom extensions you also need to set 
    193 # FILE_PATTERNS otherwise the files are not read by doxygen. 
     231# Doxygen selects the parser to use depending on the extension of the files it 
     232# parses. With this tag you can assign which parser to use for a given extension. 
     233# Doxygen has a built-in mapping, but you can override or extend it using this 
     234# tag. The format is ext=language, where ext is a file extension, and language 
     235# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, 
     236# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make 
     237# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C 
     238# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions 
     239# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. 
    194240 
    195241EXTENSION_MAPPING      = 
    196242 
    197 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to include (a tag 
    198 # file for) the STL sources as input, then you should set this tag to YES in order to let 
    199 # doxygen match functions declarations and definitions whose arguments contain STL classes (e.g. 
    200 # func(std::string); v.s. func(std::string) {}). This also make the inheritance and 
    201 # collaboration diagrams that involve STL classes more complete and accurate. 
    202  
    203 BUILTIN_STL_SUPPORT    = NO 
    204  
    205 # If you use Microsoft's C++/CLI language, you should set this option to YES to enable parsing 
    206 # support. 
     243# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
     244# to include (a tag file for) the STL sources as input, then you should 
     245# set this tag to YES in order to let doxygen match functions declarations and 
     246# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
     247# func(std::string) {}). This also makes the inheritance and collaboration 
     248# diagrams that involve STL classes more complete and accurate. 
     249 
     250BUILTIN_STL_SUPPORT    = YES 
     251 
     252# If you use Microsoft's C++/CLI language, you should set this option to YES to 
     253# enable parsing support. 
    207254 
    208255CPP_CLI_SUPPORT        = NO 
    209256 
    210 # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. Doxygen will 
    211 # parse them like normal C++ but will assume all classes use public instead of private 
    212 # inheritance when no explicit protection keyword is present. 
     257# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
     258# Doxygen will parse them like normal C++ but will assume all classes use public 
     259# instead of private inheritance when no explicit protection keyword is present. 
    213260 
    214261SIP_SUPPORT            = NO 
    215262 
    216 # For Microsoft's IDL there are propget and propput attributes to indicate getter and setter 
    217 # methods for a property. Setting this option to YES (the default) will make doxygen to replace 
    218 # the get and set methods by a property in the documentation. This will only work if the methods 
    219 # are indeed getting or setting a simple type. If this is not the case, or you want to show the 
     263# For Microsoft's IDL there are propget and propput attributes to indicate getter 
     264# and setter methods for a property. Setting this option to YES (the default) 
     265# will make doxygen replace the get and set methods by a property in the 
     266# documentation. This will only work if the methods are indeed getting or 
     267# setting a simple type. If this is not the case, or you want to show the 
    220268# methods anyway, you should set this option to NO. 
    221269 
    222270IDL_PROPERTY_SUPPORT   = YES 
    223271 
    224 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC tag is set to 
    225 # YES, then doxygen will reuse the documentation of the first member in the group (if any) for 
    226 # the other members of the group. By default all members of a group must be documented 
    227 # explicitly. 
     272# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
     273# tag is set to YES, then doxygen will reuse the documentation of the first 
     274# member in the group (if any) for the other members of the group. By default 
     275# all members of a group must be documented explicitly. 
    228276 
    229277DISTRIBUTE_GROUP_DOC   = NO 
    230278 
    231 # Set the SUBGROUPING tag to YES (the default) to allow class member groups of the same type 
    232 # (for instance a group of public functions) to be put as a subgroup of that type (e.g. under 
    233 # the Public Functions section). Set it to NO to prevent subgrouping. Alternatively, this can be 
    234 # done per class using the \nosubgrouping command. 
     279# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
     280# the same type (for instance a group of public functions) to be put as a 
     281# subgroup of that type (e.g. under the Public Functions section). Set it to 
     282# NO to prevent subgrouping. Alternatively, this can be done per class using 
     283# the \nosubgrouping command. 
    235284 
    236285SUBGROUPING            = YES 
    237286 
    238 # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum is documented as 
    239 # struct, union, or enum with the name of the typedef. So typedef struct TypeS {} TypeT, will 
    240 # appear in the documentation as a struct with name TypeT. When disabled the typedef will appear 
    241 # as a member of a file, namespace, or class. And the struct will be named TypeS. This can 
    242 # typically be useful for C code in case the coding convention dictates that all compound types 
    243 # are typedef'ed and only the typedef is referenced, never the tag name. 
     287# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and 
     288# unions are shown inside the group in which they are included (e.g. using 
     289# @ingroup) instead of on a separate page (for HTML and Man pages) or 
     290# section (for LaTeX and RTF). 
     291 
     292INLINE_GROUPED_CLASSES = NO 
     293 
     294# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and 
     295# unions with only public data fields will be shown inline in the documentation 
     296# of the scope in which they are defined (i.e. file, namespace, or group 
     297# documentation), provided this scope is documented. If set to NO (the default), 
     298# structs, classes, and unions are shown on a separate page (for HTML and Man 
     299# pages) or section (for LaTeX and RTF). 
     300 
     301INLINE_SIMPLE_STRUCTS  = NO 
     302 
     303# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
     304# is documented as struct, union, or enum with the name of the typedef. So 
     305# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
     306# with name TypeT. When disabled the typedef will appear as a member of a file, 
     307# namespace, or class. And the struct will be named TypeS. This can typically 
     308# be useful for C code in case the coding convention dictates that all compound 
     309# types are typedef'ed and only the typedef is referenced, never the tag name. 
    244310 
    245311TYPEDEF_HIDES_STRUCT   = NO 
    246312 
    247 # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to determine which symbols 
    248 # to keep in memory and which to flush to disk. When the cache is full, less often used symbols 
    249 # will be written to disk. For small to medium size projects (<1000 input files) the default 
    250 # value is probably good enough. For larger projects a too small cache size can cause doxygen to 
    251 # be busy swapping symbols to and from disk most of the time causing a significant performance 
    252 # penality. If the system has enough physical memory increasing the cache will improve the 
    253 # performance by keeping more symbols in memory. Note that the value works on a logarithmic 
    254 # scale so increasing the size by one will rougly double the memory usage. The cache size is 
    255 # given by this formula: 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
    256 # corresponding to a cache size of 2^16 = 65536 symbols 
     313# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
     314# determine which symbols to keep in memory and which to flush to disk. 
     315# When the cache is full, less often used symbols will be written to disk. 
     316# For small to medium size projects (<1000 input files) the default value is 
     317# probably good enough. For larger projects a too small cache size can cause 
     318# doxygen to be busy swapping symbols to and from disk most of the time 
     319# causing a significant performance penalty. 
     320# If the system has enough physical memory increasing the cache will improve the 
     321# performance by keeping more symbols in memory. Note that the value works on 
     322# a logarithmic scale so increasing the size by one will roughly double the 
     323# memory usage. The cache size is given by this formula: 
     324# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
     325# corresponding to a cache size of 2^16 = 65536 symbols. 
    257326 
    258327SYMBOL_CACHE_SIZE      = 0 
    259328 
     329# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be 
     330# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given 
     331# their name and scope. Since this can be an expensive process and often the 
     332# same symbol appear multiple times in the code, doxygen keeps a cache of 
     333# pre-resolved symbols. If the cache is too small doxygen will become slower. 
     334# If the cache is too large, memory is wasted. The cache size is given by this 
     335# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, 
     336# corresponding to a cache size of 2^16 = 65536 symbols. 
     337 
     338LOOKUP_CACHE_SIZE      = 0 
     339 
    260340#--------------------------------------------------------------------------- 
    261341# Build related configuration options 
    262342#--------------------------------------------------------------------------- 
    263343 
    264 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in documentation are 
    265 # documented, even if no documentation was available. Private class members and static file 
    266 # members will be hidden unless the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES 
     344# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
     345# documentation are documented, even if no documentation was available. 
     346# Private class members and static file members will be hidden unless 
     347# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES 
    267348 
    268349EXTRACT_ALL            = NO 
    269350 
    270 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class will be included in 
    271 # the documentation. 
     351# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
     352# will be included in the documentation. 
    272353 
    273354EXTRACT_PRIVATE        = NO 
    274355 
    275 # If the EXTRACT_STATIC tag is set to YES all static members of a file will be included in the 
     356# If the EXTRACT_STATIC tag is set to YES all static members of a file 
     357# will be included in the documentation. 
     358 
     359EXTRACT_STATIC         = YES 
     360 
     361# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
     362# defined locally in source files will be included in the documentation. 
     363# If set to NO only classes defined in header files are included. 
     364 
     365EXTRACT_LOCAL_CLASSES  = YES 
     366 
     367# This flag is only useful for Objective-C code. When set to YES local 
     368# methods, which are defined in the implementation section but not in 
     369# the interface are included in the documentation. 
     370# If set to NO (the default) only methods in the interface are included. 
     371 
     372EXTRACT_LOCAL_METHODS  = NO 
     373 
     374# If this flag is set to YES, the members of anonymous namespaces will be 
     375# extracted and appear in the documentation as a namespace called 
     376# 'anonymous_namespace{file}', where file will be replaced with the base 
     377# name of the file that contains the anonymous namespace. By default 
     378# anonymous namespaces are hidden. 
     379 
     380EXTRACT_ANON_NSPACES   = NO 
     381 
     382# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
     383# undocumented members of documented classes, files or namespaces. 
     384# If set to NO (the default) these members will be included in the 
     385# various overviews, but no documentation section is generated. 
     386# This option has no effect if EXTRACT_ALL is enabled. 
     387 
     388HIDE_UNDOC_MEMBERS     = NO 
     389 
     390# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
     391# undocumented classes that are normally visible in the class hierarchy. 
     392# If set to NO (the default) these classes will be included in the various 
     393# overviews. This option has no effect if EXTRACT_ALL is enabled. 
     394 
     395HIDE_UNDOC_CLASSES     = NO 
     396 
     397# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
     398# friend (class|struct|union) declarations. 
     399# If set to NO (the default) these declarations will be included in the 
    276400# documentation. 
    277401 
    278 EXTRACT_STATIC         = NO 
    279  
    280 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined locally in source 
    281 # files will be included in the documentation. If set to NO only classes defined in header files 
    282 # are included. 
    283  
    284 EXTRACT_LOCAL_CLASSES  = YES 
    285  
    286 # This flag is only useful for Objective-C code. When set to YES local methods, which are 
    287 # defined in the implementation section but not in the interface are included in the 
    288 # documentation. If set to NO (the default) only methods in the interface are included. 
    289  
    290 EXTRACT_LOCAL_METHODS  = NO 
    291  
    292 # If this flag is set to YES, the members of anonymous namespaces will be extracted and appear 
    293 # in the documentation as a namespace called 'anonymous_namespace{file}', where file will be 
    294 # replaced with the base name of the file that contains the anonymous namespace. By default 
    295 # anonymous namespace are hidden. 
    296  
    297 EXTRACT_ANON_NSPACES   = NO 
    298  
    299 # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all undocumented members of 
    300 # documented classes, files or namespaces. If set to NO (the default) these members will be 
    301 # included in the various overviews, but no documentation section is generated. This option has 
    302 # no effect if EXTRACT_ALL is enabled. 
    303  
    304 HIDE_UNDOC_MEMBERS     = NO 
    305  
    306 # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all undocumented classes that 
    307 # are normally visible in the class hierarchy. If set to NO (the default) these classes will be 
    308 # included in the various overviews. This option has no effect if EXTRACT_ALL is enabled. 
    309  
    310 HIDE_UNDOC_CLASSES     = NO 
    311  
    312 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all friend 
    313 # (class|struct|union) declarations. If set to NO (the default) these declarations will be 
    314 # included in the documentation. 
    315  
    316402HIDE_FRIEND_COMPOUNDS  = NO 
    317403 
    318 # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any documentation blocks found 
    319 # inside the body of a function. If set to NO (the default) these blocks will be appended to the 
     404# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
     405# documentation blocks found inside the body of a function. 
     406# If set to NO (the default) these blocks will be appended to the 
    320407# function's detailed documentation block. 
    321408 
    322409HIDE_IN_BODY_DOCS      = NO 
    323410 
    324 # The INTERNAL_DOCS tag determines if documentation that is typed after a \internal command is 
    325 # included. If the tag is set to NO (the default) then the documentation will be excluded. Set 
    326 # it to YES to include the internal documentation. 
     411# The INTERNAL_DOCS tag determines if documentation 
     412# that is typed after a \internal command is included. If the tag is set 
     413# to NO (the default) then the documentation will be excluded. 
     414# Set it to YES to include the internal documentation. 
    327415 
    328416INTERNAL_DOCS          = NO 
    329417 
    330 # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate file names in 
    331 # lower-case letters. If set to YES upper-case letters are also allowed. This is useful if you 
    332 # have classes or files whose names only differ in case and if your file system supports case 
    333 # sensitive file names. Windows and Mac users are advised to set this option to NO. 
     418# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
     419# file names in lower-case letters. If set to YES upper-case letters are also 
     420# allowed. This is useful if you have classes or files whose names only differ 
     421# in case and if your file system supports case sensitive file names. Windows 
     422# and Mac users are advised to set this option to NO. 
    334423 
    335424CASE_SENSE_NAMES       = YES 
    336425 
    337 # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen will show members with 
    338 # their full class and namespace scopes in the documentation. If set to YES the scope will be 
    339 # hidden. 
     426# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
     427# will show members with their full class and namespace scopes in the 
     428# documentation. If set to YES the scope will be hidden. 
    340429 
    341430HIDE_SCOPE_NAMES       = NO 
    342431 
    343 # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen will put a list of the 
    344 # files that are included by a file in the documentation of that file. 
     432# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
     433# will put a list of the files that are included by a file in the documentation 
     434# of that file. 
    345435 
    346436SHOW_INCLUDE_FILES     = YES 
    347437 
    348 # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen will list include files with double 
    349 # quotes in the documentation rather than with sharp brackets. 
     438# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen 
     439# will list include files with double quotes in the documentation 
     440# rather than with sharp brackets. 
    350441 
    351442FORCE_LOCAL_INCLUDES   = NO 
    352443 
    353 # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] is inserted in the 
    354 # documentation for inline members. 
     444# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
     445# is inserted in the documentation for inline members. 
    355446 
    356447INLINE_INFO            = YES 
    357448 
    358 # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen will sort the (detailed) 
    359 # documentation of file and class members alphabetically by member name. If set to NO the 
    360 # members will appear in declaration order. 
     449# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
     450# will sort the (detailed) documentation of file and class members 
     451# alphabetically by member name. If set to NO the members will appear in 
     452# declaration order. 
    361453 
    362454SORT_MEMBER_DOCS       = YES 
    363455 
    364 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief documentation of 
    365 # file, namespace and class members alphabetically by member name. If set to NO (the default) 
    366 # the members will appear in declaration order. 
     456# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
     457# brief documentation of file, namespace and class members alphabetically 
     458# by member name. If set to NO (the default) the members will appear in 
     459# declaration order. 
    367460 
    368461SORT_BRIEF_DOCS        = NO 
    369462 
    370 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and 
    371 # detailed) documentation of class members so that constructors and destructors are listed 
    372 # first. If set to NO (the default) the constructors will appear in the respective orders 
    373 # defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if 
    374 # SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. 
     463# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 
     464# will sort the (brief and detailed) documentation of class members so that 
     465# constructors and destructors are listed first. If set to NO (the default) 
     466# the constructors will appear in the respective orders defined by 
     467# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. 
     468# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO 
     469# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. 
    375470 
    376471SORT_MEMBERS_CTORS_1ST = NO 
    377472 
    378 # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy of group names 
    379 # into alphabetical order. If set to NO (the default) the group names will appear in their 
    380 # defined order. 
     473# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
     474# hierarchy of group names into alphabetical order. If set to NO (the default) 
     475# the group names will appear in their defined order. 
    381476 
    382477SORT_GROUP_NAMES       = NO 
    383478 
    384 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by fully-qualified 
    385 # names, including namespaces. If set to NO (the default), the class list will be sorted only by 
    386 # class name, not including the namespace part. Note: This option is not very useful if 
    387 # HIDE_SCOPE_NAMES is set to YES. Note: This option applies only to the class list, not to the 
     479# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
     480# sorted by fully-qualified names, including namespaces. If set to 
     481# NO (the default), the class list will be sorted only by class name, 
     482# not including the namespace part. 
     483# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 
     484# Note: This option applies only to the class list, not to the 
    388485# alphabetical list. 
    389486 
    390487SORT_BY_SCOPE_NAME     = NO 
    391488 
    392 # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo list. This list 
    393 # is created by putting \todo commands in the documentation. 
     489# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to 
     490# do proper type resolution of all parameters of a function it will reject a 
     491# match between the prototype and the implementation of a member function even 
     492# if there is only one candidate or it is obvious which candidate to choose 
     493# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen 
     494# will still accept a match between prototype and implementation in such cases. 
     495 
     496STRICT_PROTO_MATCHING  = NO 
     497 
     498# The GENERATE_TODOLIST tag can be used to enable (YES) or 
     499# disable (NO) the todo list. This list is created by putting \todo 
     500# commands in the documentation. 
    394501 
    395502GENERATE_TODOLIST      = YES 
    396503 
    397 # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test list. This list 
    398 # is created by putting \test commands in the documentation. 
     504# The GENERATE_TESTLIST tag can be used to enable (YES) or 
     505# disable (NO) the test list. This list is created by putting \test 
     506# commands in the documentation. 
    399507 
    400508GENERATE_TESTLIST      = YES 
    401509 
    402 # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug list. This list 
    403 # is created by putting \bug commands in the documentation. 
     510# The GENERATE_BUGLIST tag can be used to enable (YES) or 
     511# disable (NO) the bug list. This list is created by putting \bug 
     512# commands in the documentation. 
    404513 
    405514GENERATE_BUGLIST       = YES 
    406515 
    407 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) the deprecated 
    408 # list. This list is created by putting \deprecated commands in the documentation. 
     516# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
     517# disable (NO) the deprecated list. This list is created by putting 
     518# \deprecated commands in the documentation. 
    409519 
    410520GENERATE_DEPRECATEDLIST= YES 
    411521 
    412 # The ENABLED_SECTIONS tag can be used to enable conditional documentation sections, marked by 
    413 # \if sectionname ... \endif. 
     522# The ENABLED_SECTIONS tag can be used to enable conditional 
     523# documentation sections, marked by \if sectionname ... \endif. 
    414524 
    415525ENABLED_SECTIONS       = 
    416526 
    417 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines the initial value of a 
    418 # variable or define consists of for it to appear in the documentation. If the initializer 
    419 # consists of more lines than specified here it will be hidden. Use a value of 0 to hide 
    420 # initializers completely. The appearance of the initializer of individual variables and defines 
    421 # in the documentation can be controlled using \showinitializer or \hideinitializer command in 
    422 # the documentation regardless of this setting. 
     527# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
     528# the initial value of a variable or macro consists of for it to appear in 
     529# the documentation. If the initializer consists of more lines than specified 
     530# here it will be hidden. Use a value of 0 to hide initializers completely. 
     531# The appearance of the initializer of individual variables and macros in the 
     532# documentation can be controlled using \showinitializer or \hideinitializer 
     533# command in the documentation regardless of this setting. 
    423534 
    424535MAX_INITIALIZER_LINES  = 30 
    425536 
    426 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at the bottom of the 
    427 # documentation of classes and structs. If set to YES the list will mention the files that were 
    428 # used to generate the documentation. 
     537# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
     538# at the bottom of the documentation of classes and structs. If set to YES the 
     539# list will mention the files that were used to generate the documentation. 
    429540 
    430541SHOW_USED_FILES        = YES 
    431542 
    432 # If the sources in your project are distributed over multiple directories then setting the 
    433 # SHOW_DIRECTORIES tag to YES will show the directory hierarchy in the documentation. The 
    434 # default is NO. 
     543# If the sources in your project are distributed over multiple directories 
     544# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
     545# in the documentation. The default is NO. 
    435546 
    436547SHOW_DIRECTORIES       = YES 
    437548 
    438 # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This will remove the 
    439 # Files entry from the Quick Index and from the Folder Tree View (if specified). The default is 
    440 # YES. 
     549# Set the SHOW_FILES tag to NO to disable the generation of the Files page. 
     550# This will remove the Files entry from the Quick Index and from the 
     551# Folder Tree View (if specified). The default is YES. 
    441552 
    442553SHOW_FILES             = YES 
    443554 
    444 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces page. This will 
    445 # remove the Namespaces entry from the Quick Index and from the Folder Tree View (if specified). 
    446 # The default is YES. 
     555# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
     556# Namespaces page. 
     557# This will remove the Namespaces entry from the Quick Index 
     558# and from the Folder Tree View (if specified). The default is YES. 
    447559 
    448560SHOW_NAMESPACES        = YES 
    449561 
    450 # The FILE_VERSION_FILTER tag can be used to specify a program or script that doxygen should 
    451 # invoke to get the current version for each file (typically from the version control system). 
    452 # Doxygen will invoke the program by executing (via popen()) the command <command> <input-file>, 
    453 # where <command> is the value of the FILE_VERSION_FILTER tag, and <input-file> is the name of 
    454 # an input file provided by doxygen. Whatever the program writes to standard output is used as 
    455 # the file version. See the manual for examples. 
     562# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
     563# doxygen should invoke to get the current version for each file (typically from 
     564# the version control system). Doxygen will invoke the program by executing (via 
     565# popen()) the command <command> <input-file>, where <command> is the value of 
     566# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
     567# provided by doxygen. Whatever the program writes to standard output 
     568# is used as the file version. See the manual for examples. 
    456569 
    457570FILE_VERSION_FILTER    = 
    458571 
    459 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by doxygen. The 
    460 # layout file controls the global structure of the generated output files in an output format 
    461 # independent way. The create the layout file that represents doxygen's defaults, run doxygen 
    462 # with the -l option. You can optionally specify a file name after the option, if omitted 
     572# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 
     573# by doxygen. The layout file controls the global structure of the generated 
     574# output files in an output format independent way. The create the layout file 
     575# that represents doxygen's defaults, run doxygen with the -l option. 
     576# You can optionally specify a file name after the option, if omitted 
    463577# DoxygenLayout.xml will be used as the name of the layout file. 
    464578 
    465579LAYOUT_FILE            = 
    466580 
     581# The CITE_BIB_FILES tag can be used to specify one or more bib files 
     582# containing the references data. This must be a list of .bib files. The 
     583# .bib extension is automatically appended if omitted. Using this command 
     584# requires the bibtex tool to be installed. See also 
     585# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style 
     586# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this 
     587# feature you need bibtex and perl available in the search path. 
     588 
     589CITE_BIB_FILES         = 
     590 
    467591#--------------------------------------------------------------------------- 
    468592# configuration options related to warning and progress messages 
    469593#--------------------------------------------------------------------------- 
    470594 
    471 # The QUIET tag can be used to turn on/off the messages that are generated by doxygen. Possible 
    472 # values are YES and NO. If left blank NO is used. 
     595# The QUIET tag can be used to turn on/off the messages that are generated 
     596# by doxygen. Possible values are YES and NO. If left blank NO is used. 
    473597 
    474598QUIET                  = NO 
    475599 
    476 # The WARNINGS tag can be used to turn on/off the warning messages that are generated by 
    477 # doxygen. Possible values are YES and NO. If left blank NO is used. 
     600# The WARNINGS tag can be used to turn on/off the warning messages that are 
     601# generated by doxygen. Possible values are YES and NO. If left blank 
     602# NO is used. 
    478603 
    479604WARNINGS               = YES 
    480605 
    481 # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings for undocumented 
    482 # members. If EXTRACT_ALL is set to YES then this flag will automatically be disabled. 
     606# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
     607# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
     608# automatically be disabled. 
    483609 
    484610WARN_IF_UNDOCUMENTED   = YES 
    485611 
    486 # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for potential errors in the 
    487 # documentation, such as not documenting some parameters in a documented function, or 
    488 # documenting parameters that don't exist or using markup commands wrongly. 
     612# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
     613# potential errors in the documentation, such as not documenting some 
     614# parameters in a documented function, or documenting parameters that 
     615# don't exist or using markup commands wrongly. 
    489616 
    490617WARN_IF_DOC_ERROR      = YES 
    491618 
    492 # This WARN_NO_PARAMDOC option can be abled to get warnings for functions that are documented, 
    493 # but have no documentation for their parameters or return value. If set to NO (the default) 
    494 # doxygen will only warn about wrong or incomplete parameter documentation, but not about the 
    495 # absence of documentation. 
     619# The WARN_NO_PARAMDOC option can be enabled to get warnings for 
     620# functions that are documented, but have no documentation for their parameters 
     621# or return value. If set to NO (the default) doxygen will only warn about 
     622# wrong or incomplete parameter documentation, but not about the absence of 
     623# documentation. 
    496624 
    497625WARN_NO_PARAMDOC       = NO 
    498626 
    499 # The WARN_FORMAT tag determines the format of the warning messages that doxygen can produce. 
    500 # The string should contain the $file, $line, and $text tags, which will be replaced by the file 
    501 # and line number from which the warning originated and the warning text. Optionally the format 
    502 # may contain $version, which will be replaced by the version of the file (if it could be 
    503 # obtained via FILE_VERSION_FILTER) 
     627# The WARN_FORMAT tag determines the format of the warning messages that 
     628# doxygen can produce. The string should contain the $file, $line, and $text 
     629# tags, which will be replaced by the file and line number from which the 
     630# warning originated and the warning text. Optionally the format may contain 
     631# $version, which will be replaced by the version of the file (if it could 
     632# be obtained via FILE_VERSION_FILTER) 
    504633 
    505634WARN_FORMAT            = "$file:$line: $text" 
    506635 
    507 # The WARN_LOGFILE tag can be used to specify a file to which warning and error messages should 
    508 # be written. If left blank the output is written to stderr. 
     636# The WARN_LOGFILE tag can be used to specify a file to which warning 
     637# and error messages should be written. If left blank the output is written 
     638# to stderr. 
    509639 
    510640WARN_LOGFILE           = 
     
    514644#--------------------------------------------------------------------------- 
    515645 
    516 # The INPUT tag can be used to specify the files and/or directories that contain documented 
    517 # source files. You may enter file names like "myfile.cpp" or directories like 
    518 # "/usr/src/myproject". Separate the files or directories with spaces. 
     646# The INPUT tag can be used to specify the files and/or directories that contain 
     647# documented source files. You may enter file names like "myfile.cpp" or 
     648# directories like "/usr/src/myproject". Separate the files or directories 
     649# with spaces. 
    519650 
    520651INPUT                  = 
    521652 
    522 # This tag can be used to specify the character encoding of the source files that doxygen 
    523 # parses. Internally doxygen uses the UTF-8 encoding, which is also the default input encoding. 
    524 # Doxygen uses libiconv (or the iconv built into libc) for the transcoding. See 
    525 # http://www.gnu.org/software/libiconv for the list of possible encodings. 
     653# This tag can be used to specify the character encoding of the source files 
     654# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
     655# also the default input encoding. Doxygen uses libiconv (or the iconv built 
     656# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
     657# the list of possible encodings. 
    526658 
    527659INPUT_ENCODING         = UTF-8 
    528660 
    529 # If the value of the INPUT tag contains directories, you can use the FILE_PATTERNS tag to 
    530 # specify one or more wildcard pattern (like *.cpp and *.h) to filter out the source-files in 
    531 # the directories. If left blank the following patterns are tested: *.c *.cc *.cxx *.cpp *.c++ 
    532 # *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 
    533 # *.inc *.m *.mm *.py *.f90 
     661# If the value of the INPUT tag contains directories, you can use the 
     662# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
     663# and *.h) to filter out the source-files in the directories. If left 
     664# blank the following patterns are tested: 
     665# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh 
     666# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py 
     667# *.f90 *.f *.for *.vhd *.vhdl 
    534668 
    535669FILE_PATTERNS          = 
    536670 
    537 # The RECURSIVE tag can be used to turn specify whether or not subdirectories should be searched 
    538 # for input files as well. Possible values are YES and NO. If left blank NO is used. 
     671# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
     672# should be searched for input files as well. Possible values are YES and NO. 
     673# If left blank NO is used. 
    539674 
    540675RECURSIVE              = NO 
    541676 
    542 # The EXCLUDE tag can be used to specify files and/or directories that should excluded from the 
    543 # INPUT source files. This way you can easily exclude a subdirectory from a directory tree whose 
    544 # root is specified with the INPUT tag. 
     677# The EXCLUDE tag can be used to specify files and/or directories that should be 
     678# excluded from the INPUT source files. This way you can easily exclude a 
     679# subdirectory from a directory tree whose root is specified with the INPUT tag. 
     680# Note that relative paths are relative to the directory from which doxygen is 
     681# run. 
    545682 
    546683EXCLUDE                = 
    547684 
    548 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories that are 
    549 # symbolic links (a Unix filesystem feature) are excluded from the input. 
     685# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 
     686# directories that are symbolic links (a Unix file system feature) are excluded 
     687# from the input. 
    550688 
    551689EXCLUDE_SYMLINKS       = NO 
    552690 
    553 # If the value of the INPUT tag contains directories, you can use the EXCLUDE_PATTERNS tag to 
    554 # specify one or more wildcard patterns to exclude certain files from those directories. Note 
    555 # that the wildcards are matched against the file with absolute path, so to exclude all test 
    556 # directories for example use the pattern */test/* 
     691# If the value of the INPUT tag contains directories, you can use the 
     692# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
     693# certain files from those directories. Note that the wildcards are matched 
     694# against the file with absolute path, so to exclude all test directories 
     695# for example use the pattern */test/* 
    557696 
    558697EXCLUDE_PATTERNS       = 
    559698 
    560 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names (namespaces, classes, 
    561 # functions, etc.) that should be excluded from the output. The symbol name can be a fully 
    562 # qualified name, a word, or if the wildcard * is used, a substring. Examples: ANamespace, 
    563 # AClass, AClass::ANamespace, ANamespace::*Test 
     699# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
     700# (namespaces, classes, functions, etc.) that should be excluded from the 
     701# output. The symbol name can be a fully qualified name, a word, or if the 
     702# wildcard * is used, a substring. Examples: ANamespace, AClass, 
     703# AClass::ANamespace, ANamespace::*Test 
    564704 
    565705EXCLUDE_SYMBOLS        = 
    566706 
    567 # The EXAMPLE_PATH tag can be used to specify one or more files or directories that contain 
    568 # example code fragments that are included (see the \include command). 
     707# The EXAMPLE_PATH tag can be used to specify one or more files or 
     708# directories that contain example code fragments that are included (see 
     709# the \include command). 
    569710 
    570711EXAMPLE_PATH           = 
    571712 
    572 # If the value of the EXAMPLE_PATH tag contains directories, you can use the EXAMPLE_PATTERNS 
    573 # tag to specify one or more wildcard pattern (like *.cpp and *.h) to filter out the 
    574 # source-files in the directories. If left blank all files are included. 
     713# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
     714# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
     715# and *.h) to filter out the source-files in the directories. If left 
     716# blank all files are included. 
    575717 
    576718EXAMPLE_PATTERNS       = 
    577719 
    578 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be searched for input 
    579 # files to be used with the \include or \dontinclude commands irrespective of the value of the 
    580 # RECURSIVE tag. Possible values are YES and NO. If left blank NO is used. 
     720# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
     721# searched for input files to be used with the \include or \dontinclude 
     722# commands irrespective of the value of the RECURSIVE tag. 
     723# Possible values are YES and NO. If left blank NO is used. 
    581724 
    582725EXAMPLE_RECURSIVE      = NO 
    583726 
    584 # The IMAGE_PATH tag can be used to specify one or more files or directories that contain image 
    585 # that are included in the documentation (see the \image command). 
     727# The IMAGE_PATH tag can be used to specify one or more files or 
     728# directories that contain image that are included in the documentation (see 
     729# the \image command). 
    586730 
    587731IMAGE_PATH             = 
    588732 
    589 # The INPUT_FILTER tag can be used to specify a program that doxygen should invoke to filter for 
    590 # each input file. Doxygen will invoke the filter program by executing (via popen()) the command 
    591 # <filter> <input-file>, where <filter> is the value of the INPUT_FILTER tag, and <input-file> 
    592 # is the name of an input file. Doxygen will then use the output that the filter program writes 
    593 # to standard output. If FILTER_PATTERNS is specified, this tag will be ignored. 
     733# The INPUT_FILTER tag can be used to specify a program that doxygen should 
     734# invoke to filter for each input file. Doxygen will invoke the filter program 
     735# by executing (via popen()) the command <filter> <input-file>, where <filter> 
     736# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
     737# input file. Doxygen will then use the output that the filter program writes 
     738# to standard output. 
     739# If FILTER_PATTERNS is specified, this tag will be 
     740# ignored. 
    594741 
    595742INPUT_FILTER           = 
    596743 
    597 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern basis. Doxygen 
    598 # will compare the file name with each pattern and apply the filter if there is a match. The 
    599 # filters are a list of the form: pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER 
    600 # for further info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER is applied 
    601 # to all files. 
     744# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
     745# basis. 
     746# Doxygen will compare the file name with each pattern and apply the 
     747# filter if there is a match. 
     748# The filters are a list of the form: 
     749# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
     750# info on how filters are used. If FILTER_PATTERNS is empty or if 
     751# non of the patterns match the file name, INPUT_FILTER is applied. 
    602752 
    603753FILTER_PATTERNS        = 
    604754 
    605 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using INPUT_FILTER) 
    606 # will be used to filter the input files when producing source files to browse (i.e. when 
    607 # SOURCE_BROWSER is set to YES). 
     755# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
     756# INPUT_FILTER) will be used to filter the input files when producing source 
     757# files to browse (i.e. when SOURCE_BROWSER is set to YES). 
    608758 
    609759FILTER_SOURCE_FILES    = NO 
    610760 
     761# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file 
     762# pattern. A pattern will override the setting for FILTER_PATTERN (if any) 
     763# and it is also possible to disable source filtering for a specific pattern 
     764# using *.ext= (so without naming a filter). This option only has effect when 
     765# FILTER_SOURCE_FILES is enabled. 
     766 
     767FILTER_SOURCE_PATTERNS = 
     768 
    611769#--------------------------------------------------------------------------- 
    612770# configuration options related to source browsing 
    613771#--------------------------------------------------------------------------- 
    614772 
    615 # If the SOURCE_BROWSER tag is set to YES then a list of source files will be generated. 
    616 # Documented entities will be cross-referenced with these sources. Note: To get rid of all 
    617 # source code in the generated output, make sure also VERBATIM_HEADERS is set to NO. 
     773# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
     774# be generated. Documented entities will be cross-referenced with these sources. 
     775# Note: To get rid of all source code in the generated output, make sure also 
     776# VERBATIM_HEADERS is set to NO. 
    618777 
    619778SOURCE_BROWSER         = NO 
    620779 
    621 # Setting the INLINE_SOURCES tag to YES will include the body of functions and classes directly 
    622 # in the documentation. 
     780# Setting the INLINE_SOURCES tag to YES will include the body 
     781# of functions and classes directly in the documentation. 
    623782 
    624783INLINE_SOURCES         = NO 
    625784 
    626 # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct doxygen to hide any 
    627 # special comment blocks from generated source code fragments. Normal C and C++ comments will 
    628 # always remain visible. 
     785# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
     786# doxygen to hide any special comment blocks from generated source code 
     787# fragments. Normal C and C++ comments will always remain visible. 
    629788 
    630789STRIP_CODE_COMMENTS    = YES 
    631790 
    632 # If the REFERENCED_BY_RELATION tag is set to YES then for each documented function all 
    633 # documented functions referencing it will be listed. 
     791# If the REFERENCED_BY_RELATION tag is set to YES 
     792# then for each documented function all documented 
     793# functions referencing it will be listed. 
    634794 
    635795REFERENCED_BY_RELATION = YES 
    636796 
    637 # If the REFERENCES_RELATION tag is set to YES then for each documented function all documented 
    638 # entities called/used by that function will be listed. 
     797# If the REFERENCES_RELATION tag is set to YES 
     798# then for each documented function all documented entities 
     799# called/used by that function will be listed. 
    639800 
    640801REFERENCES_RELATION    = YES 
    641802 
    642 # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) and SOURCE_BROWSER tag is set to 
    643 # YES, then the hyperlinks from functions in REFERENCES_RELATION and REFERENCED_BY_RELATION 
    644 # lists will link to the source code. Otherwise they will link to the documentation. 
     803# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
     804# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
     805# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
     806# link to the source code. 
     807# Otherwise they will link to the documentation. 
    645808 
    646809REFERENCES_LINK_SOURCE = YES 
    647810 
    648 # If the USE_HTAGS tag is set to YES then the references to source code will point to the HTML 
    649 # generated by the htags(1) tool instead of doxygen built-in source browser. The htags tool is 
    650 # part of GNU's global source tagging system (see 
    651 # http://www.gnu.org/software/global/global.html). You will need version 4.8.6 or higher. 
     811# If the USE_HTAGS tag is set to YES then the references to source code 
     812# will point to the HTML generated by the htags(1) tool instead of doxygen 
     813# built-in source browser. The htags tool is part of GNU's global source 
     814# tagging system (see http://www.gnu.org/software/global/global.html). You 
     815# will need version 4.8.6 or higher. 
    652816 
    653817USE_HTAGS              = NO 
    654818 
    655 # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen will generate a verbatim 
    656 # copy of the header file for each class for which an include is specified. Set to NO to disable 
    657 # this. 
     819# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
     820# will generate a verbatim copy of the header file for each class for 
     821# which an include is specified. Set to NO to disable this. 
    658822 
    659823VERBATIM_HEADERS       = NO 
     
    663827#--------------------------------------------------------------------------- 
    664828 
    665 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all compounds will be 
    666 # generated. Enable this if the project contains a lot of classes, structs, unions or 
    667 # interfaces. 
     829# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
     830# of all compounds will be generated. Enable this if the project 
     831# contains a lot of classes, structs, unions or interfaces. 
    668832 
    669833ALPHABETICAL_INDEX     = NO 
    670834 
    671 # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then the COLS_IN_ALPHA_INDEX tag 
    672 # can be used to specify the number of columns in which this list will be split (can be a number 
    673 # in the range [1..20]) 
     835# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
     836# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
     837# in which this list will be split (can be a number in the range [1..20]) 
    674838 
    675839COLS_IN_ALPHA_INDEX    = 5 
    676840 
    677 # In case all classes in a project start with a common prefix, all classes will be put under the 
    678 # same header in the alphabetical index. The IGNORE_PREFIX tag can be used to specify one or 
    679 # more prefixes that should be ignored while generating the index headers. 
     841# In case all classes in a project start with a common prefix, all 
     842# classes will be put under the same header in the alphabetical index. 
     843# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
     844# should be ignored while generating the index headers. 
    680845 
    681846IGNORE_PREFIX          = 
     
    685850#--------------------------------------------------------------------------- 
    686851 
    687 # If the GENERATE_HTML tag is set to YES (the default) Doxygen will generate HTML output. 
     852# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
     853# generate HTML output. 
    688854 
    689855GENERATE_HTML          = YES 
    690856 
    691 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a relative path is 
    692 # entered the value of OUTPUT_DIRECTORY will be put in front of it. If left blank `html' will be 
    693 # used as the default path. 
     857# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
     858# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
     859# put in front of it. If left blank `html' will be used as the default path. 
    694860 
    695861HTML_OUTPUT            = html 
    696862 
    697 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each generated HTML 
    698 # page (for example: .htm,.php,.asp). If it is left blank doxygen will generate files with .html 
    699 # extension. 
     863# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
     864# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
     865# doxygen will generate files with .html extension. 
    700866 
    701867HTML_FILE_EXTENSION    = .html 
    702868 
    703 # The HTML_HEADER tag can be used to specify a personal HTML header for each generated HTML 
    704 # page. If it is left blank doxygen will generate a standard header. 
     869# The HTML_HEADER tag can be used to specify a personal HTML header for 
     870# each generated HTML page. If it is left blank doxygen will generate a 
     871# standard header. Note that when using a custom header you are responsible 
     872#  for the proper inclusion of any scripts and style sheets that doxygen 
     873# needs, which is dependent on the configuration options used. 
     874# It is advised to generate a default header using "doxygen -w html 
     875# header.html footer.html stylesheet.css YourConfigFile" and then modify 
     876# that header. Note that the header is subject to change so you typically 
     877# have to redo this when upgrading to a newer version of doxygen or when 
     878# changing the value of configuration settings such as GENERATE_TREEVIEW! 
    705879 
    706880HTML_HEADER            = 
    707881 
    708 # The HTML_FOOTER tag can be used to specify a personal HTML footer for each generated HTML 
    709 # page. If it is left blank doxygen will generate a standard footer. 
     882# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
     883# each generated HTML page. If it is left blank doxygen will generate a 
     884# standard footer. 
    710885 
    711886HTML_FOOTER            = 
    712887 
    713 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style sheet that is 
    714 # used by each HTML page. It can be used to fine-tune the look of the HTML output. If the tag is 
    715 # left blank doxygen will generate a default style sheet. Note that doxygen will try to copy the 
    716 # style sheet file to the HTML output directory, so don't put your own stylesheet in the HTML 
    717 # output directory as well, or it will be erased! 
     888# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
     889# style sheet that is used by each HTML page. It can be used to 
     890# fine-tune the look of the HTML output. If the tag is left blank doxygen 
     891# will generate a default style sheet. Note that doxygen will try to copy 
     892# the style sheet file to the HTML output directory, so don't put your own 
     893# style sheet in the HTML output directory as well, or it will be erased! 
    718894 
    719895HTML_STYLESHEET        = 
    720896 
    721 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen will adjust the 
    722 # colors in the stylesheet and background images according to this color. Hue is specified as an 
    723 # angle on a colorwheel, see http://en.wikipedia.org/wiki/Hue for more information. For instance 
    724 # the value 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 purple, 
    725 # and 360 is red again. The allowed range is 0 to 359. 
     897# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or 
     898# other source files which should be copied to the HTML output directory. Note 
     899# that these files will be copied to the base HTML output directory. Use the 
     900# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these 
     901# files. In the HTML_STYLESHEET file, use the file name only. Also note that 
     902# the files will be copied as-is; there are no commands or markers available. 
     903 
     904HTML_EXTRA_FILES       = 
     905 
     906# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
     907# Doxygen will adjust the colors in the style sheet and background images 
     908# according to this color. Hue is specified as an angle on a colorwheel, 
     909# see http://en.wikipedia.org/wiki/Hue for more information. 
     910# For instance the value 0 represents red, 60 is yellow, 120 is green, 
     911# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. 
     912# The allowed range is 0 to 359. 
    726913 
    727914HTML_COLORSTYLE_HUE    = 220 
    728915 
    729 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors in the HTML 
    730 # output. For a value of 0 the output will use grayscales only. A value of 255 will produce the 
    731 # most vivid colors. 
     916# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of 
     917# the colors in the HTML output. For a value of 0 the output will use 
     918# grayscales only. A value of 255 will produce the most vivid colors. 
    732919 
    733920HTML_COLORSTYLE_SAT    = 100 
    734921 
    735 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the luminance component 
    736 # of the colors in the HTML output. Values below 100 gradually make the output lighter, whereas 
    737 # values above 100 make the output darker. The value divided by 100 is the actual gamma applied, 
    738 # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not 
    739 # change the gamma. 
     922# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
     923# the luminance component of the colors in the HTML output. Values below 
     924# 100 gradually make the output lighter, whereas values above 100 make 
     925# the output darker. The value divided by 100 is the actual gamma applied, 
     926# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, 
     927# and 100 does not change the gamma. 
    740928 
    741929HTML_COLORSTYLE_GAMMA  = 80 
    742930 
    743 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML page will 
    744 # contain the date and time when the page was generated. Setting this to NO can help when 
    745 # comparing the output of multiple runs. 
     931# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML 
     932# page will contain the date and time when the page was generated. Setting 
     933# this to NO can help when comparing the output of multiple runs. 
    746934 
    747935HTML_TIMESTAMP         = YES 
    748936 
    749 # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, files or namespaces will 
    750 # be aligned in HTML using tables. If set to NO a bullet list will be used. 
     937# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
     938# files or namespaces will be aligned in HTML using tables. If set to 
     939# NO a bullet list will be used. 
    751940 
    752941HTML_ALIGN_MEMBERS     = YES 
    753942 
    754 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML documentation will 
    755 # contain sections that can be hidden and shown after the page has loaded. For this to work a 
    756 # browser that supports JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
     943# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
     944# documentation will contain sections that can be hidden and shown after the 
     945# page has loaded. For this to work a browser that supports 
     946# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
    757947# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). 
    758948 
    759949HTML_DYNAMIC_SECTIONS  = NO 
    760950 
    761 # If the GENERATE_DOCSET tag is set to YES, additional index files will be generated that can be 
    762 # used as input for Apple's Xcode 3 integrated development environment, introduced with OSX 10.5 
    763 # (Leopard). To create a documentation set, doxygen will generate a Makefile in the HTML output 
    764 # directory. Running make will produce the docset in that directory and running "make install" 
    765 # will install the docset in ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will 
    766 # find it at startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for 
    767 # more information. 
     951# If the GENERATE_DOCSET tag is set to YES, additional index files 
     952# will be generated that can be used as input for Apple's Xcode 3 
     953# integrated development environment, introduced with OSX 10.5 (Leopard). 
     954# To create a documentation set, doxygen will generate a Makefile in the 
     955# HTML output directory. Running make will produce the docset in that 
     956# directory and running "make install" will install the docset in 
     957# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
     958# it at startup. 
     959# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 
     960# for more information. 
    768961 
    769962GENERATE_DOCSET        = NO 
    770963 
    771 # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the feed. A 
    772 # documentation feed provides an umbrella under which multiple documentation sets from a single 
    773 # provider (such as a company or product suite) can be grouped. 
     964# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
     965# feed. A documentation feed provides an umbrella under which multiple 
     966# documentation sets from a single provider (such as a company or product suite) 
     967# can be grouped. 
    774968 
    775969DOCSET_FEEDNAME        = "Doxygen generated docs" 
    776970 
    777 # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that should uniquely 
    778 # identify the documentation set bundle. This should be a reverse domain-name style string, e.g. 
    779 # com.mycompany.MyDocSet. Doxygen will append .docset to the name. 
     971# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
     972# should uniquely identify the documentation set bundle. This should be a 
     973# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
     974# will append .docset to the name. 
    780975 
    781976DOCSET_BUNDLE_ID       = org.doxygen.Project 
    782977 
    783 # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify the 
    784 # documentation publisher. This should be a reverse domain-name style string, e.g. 
    785 # com.mycompany.MyDocSet.documentation. 
     978# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify 
     979# the documentation publisher. This should be a reverse domain-name style 
     980# string, e.g. com.mycompany.MyDocSet.documentation. 
    786981 
    787982DOCSET_PUBLISHER_ID    = org.doxygen.Publisher 
     
    791986DOCSET_PUBLISHER_NAME  = Publisher 
    792987 
    793 # If the GENERATE_HTMLHELP tag is set to YES, additional index files will be generated that can 
    794 # be used as input for tools like the Microsoft HTML help workshop to generate a compiled HTML 
    795 # help file (.chm) of the generated HTML documentation. 
     988# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
     989# will be generated that can be used as input for tools like the 
     990# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
     991# of the generated HTML documentation. 
    796992 
    797993GENERATE_HTMLHELP      = NO 
    798994 
    799 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can be used to specify the file 
    800 # name of the resulting .chm file. You can add a path in front of the file if the result should 
    801 # not be written to the html output directory. 
     995# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
     996# be used to specify the file name of the resulting .chm file. You 
     997# can add a path in front of the file if the result should not be 
     998# written to the html output directory. 
    802999 
    8031000CHM_FILE               = 
    8041001 
    805 # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can be used to specify the 
    806 # location (absolute path including file name) of the HTML help compiler (hhc.exe). If non-empty 
    807 # doxygen will try to run the HTML help compiler on the generated index.hhp. 
     1002# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
     1003# be used to specify the location (absolute path including file name) of 
     1004# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
     1005# the HTML help compiler on the generated index.hhp. 
    8081006 
    8091007HHC_LOCATION           = 
    8101008 
    811 # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag controls if a separate .chi 
    812 # index file is generated (YES) or that it should be included in the master .chm file (NO). 
     1009# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
     1010# controls if a separate .chi index file is generated (YES) or that 
     1011# it should be included in the master .chm file (NO). 
    8131012 
    8141013GENERATE_CHI           = NO 
    8151014 
    816 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING is used to encode HtmlHelp 
    817 # index (hhk), content (hhc) and project file content. 
     1015# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 
     1016# is used to encode HtmlHelp index (hhk), content (hhc) and project file 
     1017# content. 
    8181018 
    8191019CHM_INDEX_ENCODING     = 
    8201020 
    821 # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag controls whether a binary 
    822 # table of contents is generated (YES) or a normal table of contents (NO) in the .chm file. 
     1021# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
     1022# controls whether a binary table of contents is generated (YES) or a 
     1023# normal table of contents (NO) in the .chm file. 
    8231024 
    8241025BINARY_TOC             = NO 
    8251026 
    826 # The TOC_EXPAND flag can be set to YES to add extra items for group members to the contents of 
    827 # the HTML help documentation and to the tree view. 
     1027# The TOC_EXPAND flag can be set to YES to add extra items for group members 
     1028# to the contents of the HTML help documentation and to the tree view. 
    8281029 
    8291030TOC_EXPAND             = NO 
    8301031 
    831 # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER are set, 
    832 # an additional index file will be generated that can be used as input for Qt's qhelpgenerator 
    833 # to generate a Qt Compressed Help (.qch) of the generated HTML documentation. 
     1032# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 
     1033# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated 
     1034# that can be used as input for Qt's qhelpgenerator to generate a 
     1035# Qt Compressed Help (.qch) of the generated HTML documentation. 
    8341036 
    8351037GENERATE_QHP           = NO 
    8361038 
    837 # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify the file name of 
    838 # the resulting .qch file. The path specified is relative to the HTML output folder. 
     1039# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
     1040# be used to specify the file name of the resulting .qch file. 
     1041# The path specified is relative to the HTML output folder. 
    8391042 
    8401043QCH_FILE               = 
    8411044 
    842 # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help Project output. 
    843 # For more information please see http://doc.trolltech.com/qthelpproject.html#namespace 
     1045# The QHP_NAMESPACE tag specifies the namespace to use when generating 
     1046# Qt Help Project output. For more information please see 
     1047# http://doc.trolltech.com/qthelpproject.html#namespace 
    8441048 
    8451049QHP_NAMESPACE          = org.doxygen.Project 
    8461050 
    847 # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt Help Project 
    848 # output. For more information please see 
     1051# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
     1052# Qt Help Project output. For more information please see 
    8491053# http://doc.trolltech.com/qthelpproject.html#virtual-folders 
    8501054 
    8511055QHP_VIRTUAL_FOLDER     = doc 
    8521056 
    853 # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. For more 
    854 # information please see http://doc.trolltech.com/qthelpproject.html#custom-filters 
     1057# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to 
     1058# add. For more information please see 
     1059# http://doc.trolltech.com/qthelpproject.html#custom-filters 
    8551060 
    8561061QHP_CUST_FILTER_NAME   = 
    8571062 
    858 # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add. 
    859 # For more information please see <a 
    860 # href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> Qt Help Project / Custom 
    861 # Filters</a>. 
     1063# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 
     1064# custom filter to add. For more information please see 
     1065# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> 
     1066# Qt Help Project / Custom Filters</a>. 
    8621067 
    8631068QHP_CUST_FILTER_ATTRS  = 
    8641069 
    865 # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's filter 
    866 # section matches. <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> Qt 
    867 # Help Project / Filter Attributes</a>. 
     1070# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 
     1071# project's 
     1072# filter section matches. 
     1073# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 
     1074# Qt Help Project / Filter Attributes</a>. 
    8681075 
    8691076QHP_SECT_FILTER_ATTRS  = 
    8701077 
    871 # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can be used to specify the 
    872 # location of Qt's qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the 
    873 # generated .qhp file. 
     1078# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
     1079# be used to specify the location of Qt's qhelpgenerator. 
     1080# If non-empty doxygen will try to run qhelpgenerator on the generated 
     1081# .qhp file. 
    8741082 
    8751083QHG_LOCATION           = 
    8761084 
    877 # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be generated, which 
    878 #  together with the HTML files, form an Eclipse help plugin. To install this plugin and make it 
    879 #  available under the help contents menu in Eclipse, the contents of the directory containing 
    880 #  the HTML and XML files needs to be copied into the plugins directory of eclipse. The name of 
    881 #  the directory within the plugins directory should be the same as the ECLIPSE_DOC_ID value. 
    882 #  After copying Eclipse needs to be restarted before the help appears. 
     1085# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files 
     1086#  will be generated, which together with the HTML files, form an Eclipse help 
     1087# plugin. To install this plugin and make it available under the help contents 
     1088# menu in Eclipse, the contents of the directory containing the HTML and XML 
     1089# files needs to be copied into the plugins directory of eclipse. The name of 
     1090# the directory within the plugins directory should be the same as 
     1091# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before 
     1092# the help appears. 
    8831093 
    8841094GENERATE_ECLIPSEHELP   = NO 
    8851095 
    886 # A unique identifier for the eclipse help plugin. When installing the plugin the directory name 
    887 # containing the HTML and XML files should also have this name. 
     1096# A unique identifier for the eclipse help plugin. When installing the plugin 
     1097# the directory name containing the HTML and XML files should also have 
     1098# this name. 
    8881099 
    8891100ECLIPSE_DOC_ID         = org.doxygen.Project 
    8901101 
    891 # The DISABLE_INDEX tag can be used to turn on/off the condensed index at top of each HTML page. 
    892 # The value NO (the default) enables the index and the value YES disables it. 
     1102# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) 
     1103# at top of each HTML page. The value NO (the default) enables the index and 
     1104# the value YES disables it. Since the tabs have the same information as the 
     1105# navigation tree you can set this option to NO if you already set 
     1106# GENERATE_TREEVIEW to YES. 
    8931107 
    8941108DISABLE_INDEX          = NO 
    8951109 
    896 # This tag can be used to set the number of enum values (range [1..20]) that doxygen will group 
    897 # on one line in the generated HTML documentation. 
     1110# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
     1111# structure should be generated to display hierarchical information. 
     1112# If the tag value is set to YES, a side panel will be generated 
     1113# containing a tree-like index structure (just like the one that 
     1114# is generated for HTML Help). For this to work a browser that supports 
     1115# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
     1116# Windows users are probably better off using the HTML help feature. 
     1117# Since the tree basically has the same information as the tab index you 
     1118# could consider to set DISABLE_INDEX to NO when enabling this option. 
     1119 
     1120GENERATE_TREEVIEW      = NO 
     1121 
     1122# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values 
     1123# (range [0,1..20]) that doxygen will group on one line in the generated HTML 
     1124# documentation. Note that a value of 0 will completely suppress the enum 
     1125# values from appearing in the overview section. 
    8981126 
    8991127ENUM_VALUES_PER_LINE   = 4 
    9001128 
    901 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index structure should be 
    902 # generated to display hierarchical information. If the tag value is set to YES, a side panel 
    903 # will be generated containing a tree-like index structure (just like the one that is generated 
    904 # for HTML Help). For this to work a browser that supports JavaScript, DHTML, CSS and frames is 
    905 # required (i.e. any modern browser). Windows users are probably better off using the HTML help 
    906 # feature. 
    907  
    908 GENERATE_TREEVIEW      = NO 
    909  
    910 # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, and Class 
    911 # Hierarchy pages using a tree view instead of an ordered list. 
     1129# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, 
     1130# and Class Hierarchy pages using a tree view instead of an ordered list. 
    9121131 
    9131132USE_INLINE_TREES       = NO 
    9141133 
    915 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used to set the 
    916 # initial width (in pixels) of the frame in which the tree is shown. 
     1134# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
     1135# used to set the initial width (in pixels) of the frame in which the tree 
     1136# is shown. 
    9171137 
    9181138TREEVIEW_WIDTH         = 250 
    9191139 
    920 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to external symbols 
    921 # imported via tag files in a separate window. 
     1140# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open 
     1141# links to external symbols imported via tag files in a separate window. 
    9221142 
    9231143EXT_LINKS_IN_WINDOW    = NO 
    9241144 
    925 # Use this tag to change the font size of Latex formulas included as images in the HTML 
    926 # documentation. The default is 10. Note that when you change the font size after a successful 
    927 # doxygen run you need to manually remove any form_*.png images from the HTML output directory 
     1145# Use this tag to change the font size of Latex formulas included 
     1146# as images in the HTML documentation. The default is 10. Note that 
     1147# when you change the font size after a successful doxygen run you need 
     1148# to manually remove any form_*.png images from the HTML output directory 
    9281149# to force them to be regenerated. 
    9291150 
    9301151FORMULA_FONTSIZE       = 10 
    9311152 
    932 # Use the FORMULA_TRANPARENT tag to determine whether or not the images generated for formulas 
    933 # are transparent PNGs. Transparent PNGs are not supported properly for IE 6.0, but are 
    934 # supported on all modern browsers. Note that when changing this option you need to delete any 
    935 # form_*.png files in the HTML output before the changes have effect. 
     1153# Use the FORMULA_TRANPARENT tag to determine whether or not the images 
     1154# generated for formulas are transparent PNGs. Transparent PNGs are 
     1155# not supported properly for IE 6.0, but are supported on all modern browsers. 
     1156# Note that when changing this option you need to delete any form_*.png files 
     1157# in the HTML output before the changes have effect. 
    9361158 
    9371159FORMULA_TRANSPARENT    = YES 
    9381160 
    939 # When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. 
    940 # The underlying search engine uses javascript and DHTML and should work on any modern browser. 
    941 # Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
    942 # (GENERATE_DOCSET) there is already a search function so this one should typically be disabled. 
    943 # For large projects the javascript based search engine can be slow, then enabling 
    944 # SERVER_BASED_SEARCH may provide a better solution. 
     1161# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax 
     1162# (see http://www.mathjax.org) which uses client side Javascript for the 
     1163# rendering instead of using prerendered bitmaps. Use this if you do not 
     1164# have LaTeX installed or if you want to formulas look prettier in the HTML 
     1165# output. When enabled you also need to install MathJax separately and 
     1166# configure the path to it using the MATHJAX_RELPATH option. 
     1167 
     1168USE_MATHJAX            = NO 
     1169 
     1170# When MathJax is enabled you need to specify the location relative to the 
     1171# HTML output directory using the MATHJAX_RELPATH option. The destination 
     1172# directory should contain the MathJax.js script. For instance, if the mathjax 
     1173# directory is located at the same level as the HTML output directory, then 
     1174# MATHJAX_RELPATH should be ../mathjax. The default value points to the 
     1175# mathjax.org site, so you can quickly see the result without installing 
     1176# MathJax, but it is strongly recommended to install a local copy of MathJax 
     1177# before deployment. 
     1178 
     1179MATHJAX_RELPATH        = http://www.mathjax.org/mathjax 
     1180 
     1181# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension 
     1182# names that should be enabled during MathJax rendering. 
     1183 
     1184MATHJAX_EXTENSIONS     = 
     1185 
     1186# When the SEARCHENGINE tag is enabled doxygen will generate a search box 
     1187# for the HTML output. The underlying search engine uses javascript 
     1188# and DHTML and should work on any modern browser. Note that when using 
     1189# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
     1190# (GENERATE_DOCSET) there is already a search function so this one should 
     1191# typically be disabled. For large projects the javascript based search engine 
     1192# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. 
    9451193 
    9461194SEARCHENGINE           = NO 
    9471195 
    948 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP 
    949 # enabled web server instead of at the web client using Javascript. Doxygen will generate the 
    950 # search PHP script and index file to put on the web server. The advantage of the server based 
    951 # approach is that it scales better to large projects and allows full text search. The 
    952 # disadvances is that it is more difficult to setup and does not have live searching 
    953 # capabilities. 
     1196# When the SERVER_BASED_SEARCH tag is enabled the search engine will be 
     1197# implemented using a PHP enabled web server instead of at the web client 
     1198# using Javascript. Doxygen will generate the search PHP script and index 
     1199# file to put on the web server. The advantage of the server 
     1200# based approach is that it scales better to large projects and allows 
     1201# full text search. The disadvantages are that it is more difficult to setup 
     1202# and does not have live searching capabilities. 
    9541203 
    9551204SERVER_BASED_SEARCH    = NO 
     
    9591208#--------------------------------------------------------------------------- 
    9601209 
    961 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will generate Latex output. 
     1210# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
     1211# generate Latex output. 
    9621212 
    9631213GENERATE_LATEX         = NO 
    9641214 
    965 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a relative path 
    966 # is entered the value of OUTPUT_DIRECTORY will be put in front of it. If left blank `latex' 
    967 # will be used as the default path. 
     1215# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
     1216# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
     1217# put in front of it. If left blank `latex' will be used as the default path. 
    9681218 
    9691219LATEX_OUTPUT           = latex 
    9701220 
    971 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked. If left 
    972 # blank `latex' will be used as the default command name. Note that when enabling USE_PDFLATEX 
    973 # this option is only used for generating bitmaps for formulas in the HTML output, but not in 
    974 # the Makefile that is written to the output directory. 
     1221# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
     1222# invoked. If left blank `latex' will be used as the default command name. 
     1223# Note that when enabling USE_PDFLATEX this option is only used for 
     1224# generating bitmaps for formulas in the HTML output, but not in the 
     1225# Makefile that is written to the output directory. 
    9751226 
    9761227LATEX_CMD_NAME         = latex 
    9771228 
    978 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate index for 
    979 # LaTeX. If left blank `makeindex' will be used as the default command name. 
     1229# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
     1230# generate index for LaTeX. If left blank `makeindex' will be used as the 
     1231# default command name. 
    9801232 
    9811233MAKEINDEX_CMD_NAME     = makeindex 
    9821234 
    983 # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact LaTeX documents. This 
    984 # may be useful for small projects and may help to save some trees in general. 
     1235# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
     1236# LaTeX documents. This may be useful for small projects and may help to 
     1237# save some trees in general. 
    9851238 
    9861239COMPACT_LATEX          = NO 
    9871240 
    988 # The PAPER_TYPE tag can be used to set the paper type that is used by the printer. Possible 
    989 # values are: a4, a4wide, letter, legal and executive. If left blank a4wide will be used. 
     1241# The PAPER_TYPE tag can be used to set the paper type that is used 
     1242# by the printer. Possible values are: a4, letter, legal and 
     1243# executive. If left blank a4wide will be used. 
    9901244 
    9911245PAPER_TYPE             = a4wide 
    9921246 
    993 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX packages that should be 
    994 # included in the LaTeX output. 
     1247# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
     1248# packages that should be included in the LaTeX output. 
    9951249 
    9961250EXTRA_PACKAGES         = 
    9971251 
    998 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for the generated latex 
    999 # document. The header should contain everything until the first chapter. If it is left blank 
    1000 # doxygen will generate a standard header. Notice: only use this tag if you know what you are 
    1001 # doing! 
     1252# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
     1253# the generated latex document. The header should contain everything until 
     1254# the first chapter. If it is left blank doxygen will generate a 
     1255# standard header. Notice: only use this tag if you know what you are doing! 
    10021256 
    10031257LATEX_HEADER           = 
    10041258 
    1005 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is prepared for 
    1006 # conversion to pdf (using ps2pdf). The pdf file will contain links (just like the HTML output) 
    1007 # instead of page references This makes the output suitable for online browsing using a pdf 
    1008 # viewer. 
     1259# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for 
     1260# the generated latex document. The footer should contain everything after 
     1261# the last chapter. If it is left blank doxygen will generate a 
     1262# standard footer. Notice: only use this tag if you know what you are doing! 
     1263 
     1264LATEX_FOOTER           = 
     1265 
     1266# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
     1267# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
     1268# contain links (just like the HTML output) instead of page references 
     1269# This makes the output suitable for online browsing using a pdf viewer. 
    10091270 
    10101271PDF_HYPERLINKS         = NO 
    10111272 
    1012 # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of plain latex in the 
    1013 # generated Makefile. Set this option to YES to get a higher quality PDF documentation. 
     1273# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
     1274# plain latex in the generated Makefile. Set this option to YES to get a 
     1275# higher quality PDF documentation. 
    10141276 
    10151277USE_PDFLATEX           = NO 
    10161278 
    1017 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. command to the 
    1018 # generated LaTeX files. This will instruct LaTeX to keep running if errors occur, instead of 
    1019 # asking the user for help. This option is also used when generating formulas in HTML. 
     1279# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
     1280# command to the generated LaTeX files. This will instruct LaTeX to keep 
     1281# running if errors occur, instead of asking the user for help. 
     1282# This option is also used when generating formulas in HTML. 
    10201283 
    10211284LATEX_BATCHMODE        = NO 
    10221285 
    1023 # If LATEX_HIDE_INDICES is set to YES then doxygen will not include the index chapters (such as 
    1024 # File Index, Compound Index, etc.) in the output. 
     1286# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
     1287# include the index chapters (such as File Index, Compound Index, etc.) 
     1288# in the output. 
    10251289 
    10261290LATEX_HIDE_INDICES     = NO 
    10271291 
    1028 # If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax 
    1029 # highlighting in the LaTeX output. Note that which sources are shown also depends on other 
    1030 # settings such as SOURCE_BROWSER. 
     1292# If LATEX_SOURCE_CODE is set to YES then doxygen will include 
     1293# source code with syntax highlighting in the LaTeX output. 
     1294# Note that which sources are shown also depends on other settings 
     1295# such as SOURCE_BROWSER. 
    10311296 
    10321297LATEX_SOURCE_CODE      = NO 
    10331298 
     1299# The LATEX_BIB_STYLE tag can be used to specify the style to use for the 
     1300# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See 
     1301# http://en.wikipedia.org/wiki/BibTeX for more info. 
     1302 
     1303LATEX_BIB_STYLE        = plain 
     1304 
    10341305#--------------------------------------------------------------------------- 
    10351306# configuration options related to the RTF output 
    10361307#--------------------------------------------------------------------------- 
    10371308 
    1038 # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output The RTF output is 
    1039 # optimized for Word 97 and may not look very pretty with other RTF readers or editors. 
     1309# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
     1310# The RTF output is optimized for Word 97 and may not look very pretty with 
     1311# other RTF readers or editors. 
    10401312 
    10411313GENERATE_RTF           = NO 
    10421314 
    1043 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a relative path is 
    1044 # entered the value of OUTPUT_DIRECTORY will be put in front of it. If left blank `rtf' will be 
    1045 # used as the default path. 
     1315# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
     1316# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
     1317# put in front of it. If left blank `rtf' will be used as the default path. 
    10461318 
    10471319RTF_OUTPUT             = rtf 
    10481320 
    1049 # If the COMPACT_RTF tag is set to YES Doxygen generates more compact RTF documents. This may be 
    1050 # useful for small projects and may help to save some trees in general. 
     1321# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
     1322# RTF documents. This may be useful for small projects and may help to 
     1323# save some trees in general. 
    10511324 
    10521325COMPACT_RTF            = NO 
    10531326 
    1054 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will contain hyperlink 
    1055 # fields. The RTF file will contain links (just like the HTML output) instead of page 
    1056 # references. This makes the output suitable for online browsing using WORD or other programs 
    1057 # which support those fields. Note: wordpad (write) and others do not support links. 
     1327# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
     1328# will contain hyperlink fields. The RTF file will 
     1329# contain links (just like the HTML output) instead of page references. 
     1330# This makes the output suitable for online browsing using WORD or other 
     1331# programs which support those fields. 
     1332# Note: wordpad (write) and others do not support links. 
    10581333 
    10591334RTF_HYPERLINKS         = NO 
    10601335 
    1061 # Load stylesheet definitions from file. Syntax is similar to doxygen's config file, i.e. a 
    1062 # series of assignments. You only have to provide replacements, missing definitions are set to 
    1063 # their default value. 
     1336# Load style sheet definitions from file. Syntax is similar to doxygen's 
     1337# config file, i.e. a series of assignments. You only have to provide 
     1338# replacements, missing definitions are set to their default value. 
    10641339 
    10651340RTF_STYLESHEET_FILE    = 
    10661341 
    1067 # Set optional variables used in the generation of an rtf document. Syntax is similar to 
    1068 # doxygen's config file. 
     1342# Set optional variables used in the generation of an rtf document. 
     1343# Syntax is similar to doxygen's config file. 
    10691344 
    10701345RTF_EXTENSIONS_FILE    = 
     
    10741349#--------------------------------------------------------------------------- 
    10751350 
    1076 # If the GENERATE_MAN tag is set to YES (the default) Doxygen will generate man pages 
     1351# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
     1352# generate man pages 
    10771353 
    10781354GENERATE_MAN           = NO 
    10791355 
    1080 # The MAN_OUTPUT tag is used to specify where the man pages will be put. If a relative path is 
    1081 # entered the value of OUTPUT_DIRECTORY will be put in front of it. If left blank `man' will be 
    1082 # used as the default path. 
     1356# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
     1357# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
     1358# put in front of it. If left blank `man' will be used as the default path. 
    10831359 
    10841360MAN_OUTPUT             = man 
    10851361 
    1086 # The MAN_EXTENSION tag determines the extension that is added to the generated man pages 
    1087 # (default is the subroutine's section .3) 
     1362# The MAN_EXTENSION tag determines the extension that is added to 
     1363# the generated man pages (default is the subroutine's section .3) 
    10881364 
    10891365MAN_EXTENSION          = .3 
    10901366 
    1091 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, then it will generate one 
    1092 # additional man file for each entity documented in the real man page(s). These additional files 
    1093 # only source the real man page, but without them the man command would be unable to find the 
    1094 # correct page. The default is NO. 
     1367# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
     1368# then it will generate one additional man file for each entity 
     1369# documented in the real man page(s). These additional files 
     1370# only source the real man page, but without them the man command 
     1371# would be unable to find the correct page. The default is NO. 
    10951372 
    10961373MAN_LINKS              = NO 
     
    11001377#--------------------------------------------------------------------------- 
    11011378 
    1102 # If the GENERATE_XML tag is set to YES Doxygen will generate an XML file that captures the 
    1103 # structure of the code including all documentation. 
     1379# If the GENERATE_XML tag is set to YES Doxygen will 
     1380# generate an XML file that captures the structure of 
     1381# the code including all documentation. 
    11041382 
    11051383GENERATE_XML           = NO 
    11061384 
    1107 # The XML_OUTPUT tag is used to specify where the XML pages will be put. If a relative path is 
    1108 # entered the value of OUTPUT_DIRECTORY will be put in front of it. If left blank `xml' will be 
    1109 # used as the default path. 
     1385# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
     1386# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
     1387# put in front of it. If left blank `xml' will be used as the default path. 
    11101388 
    11111389XML_OUTPUT             = xml 
    11121390 
    1113 # The XML_SCHEMA tag can be used to specify an XML schema, which can be used by a validating XML 
    1114 # parser to check the syntax of the XML files. 
     1391# The XML_SCHEMA tag can be used to specify an XML schema, 
     1392# which can be used by a validating XML parser to check the 
     1393# syntax of the XML files. 
    11151394 
    11161395XML_SCHEMA             = 
    11171396 
    1118 # The XML_DTD tag can be used to specify an XML DTD, which can be used by a validating XML 
    1119 # parser to check the syntax of the XML files. 
     1397# The XML_DTD tag can be used to specify an XML DTD, 
     1398# which can be used by a validating XML parser to check the 
     1399# syntax of the XML files. 
    11201400 
    11211401XML_DTD                = 
    11221402 
    1123 # If the XML_PROGRAMLISTING tag is set to YES Doxygen will dump the program listings (including 
    1124 # syntax highlighting and cross-referencing information) to the XML output. Note that enabling 
    1125 # this will significantly increase the size of the XML output. 
     1403# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
     1404# dump the program listings (including syntax highlighting 
     1405# and cross-referencing information) to the XML output. Note that 
     1406# enabling this will significantly increase the size of the XML output. 
    11261407 
    11271408XML_PROGRAMLISTING     = YES 
     
    11311412#--------------------------------------------------------------------------- 
    11321413 
    1133 # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will generate an AutoGen Definitions 
    1134 # (see autogen.sf.net) file that captures the structure of the code including all documentation. 
    1135 # Note that this feature is still experimental and incomplete at the moment. 
     1414# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
     1415# generate an AutoGen Definitions (see autogen.sf.net) file 
     1416# that captures the structure of the code including all 
     1417# documentation. Note that this feature is still experimental 
     1418# and incomplete at the moment. 
    11361419 
    11371420GENERATE_AUTOGEN_DEF   = NO 
     
    11411424#--------------------------------------------------------------------------- 
    11421425 
    1143 # If the GENERATE_PERLMOD tag is set to YES Doxygen will generate a Perl module file that 
    1144 # captures the structure of the code including all documentation. Note that this feature is 
    1145 # still experimental and incomplete at the moment. 
     1426# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
     1427# generate a Perl module file that captures the structure of 
     1428# the code including all documentation. Note that this 
     1429# feature is still experimental and incomplete at the 
     1430# moment. 
    11461431 
    11471432GENERATE_PERLMOD       = NO 
    11481433 
    1149 # If the PERLMOD_LATEX tag is set to YES Doxygen will generate the necessary Makefile rules, 
    1150 # Perl scripts and LaTeX code to be able to generate PDF and DVI output from the Perl module 
    1151 # output. 
     1434# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
     1435# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
     1436# to generate PDF and DVI output from the Perl module output. 
    11521437 
    11531438PERLMOD_LATEX          = NO 
    11541439 
    1155 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely formatted so it 
    1156 # can be parsed by a human reader. This is useful if you want to understand what is going on. On 
    1157 # the other hand, if this tag is set to NO the size of the Perl module output will be much 
    1158 # smaller and Perl will parse it just the same. 
     1440# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
     1441# nicely formatted so it can be parsed by a human reader. 
     1442# This is useful 
     1443# if you want to understand what is going on. 
     1444# On the other hand, if this 
     1445# tag is set to NO the size of the Perl module output will be much smaller 
     1446# and Perl will parse it just the same. 
    11591447 
    11601448PERLMOD_PRETTY         = YES 
    11611449 
    1162 # The names of the make variables in the generated doxyrules.make file are prefixed with the 
    1163 # string contained in PERLMOD_MAKEVAR_PREFIX. This is useful so different doxyrules.make files 
    1164 # included by the same Makefile don't overwrite each other's variables. 
     1450# The names of the make variables in the generated doxyrules.make file 
     1451# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
     1452# This is useful so different doxyrules.make files included by the same 
     1453# Makefile don't overwrite each other's variables. 
    11651454 
    11661455PERLMOD_MAKEVAR_PREFIX = 
     
    11701459#--------------------------------------------------------------------------- 
    11711460 
    1172 # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will evaluate all 
    1173 # C-preprocessor directives found in the sources and include files. 
     1461# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
     1462# evaluate all C-preprocessor directives found in the sources and include 
     1463# files. 
    11741464 
    11751465ENABLE_PREPROCESSING   = YES 
    11761466 
    1177 # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro names in the source 
    1178 # code. If set to NO (the default) only conditional compilation will be performed. Macro 
    1179 # expansion can be done in a controlled way by setting EXPAND_ONLY_PREDEF to YES. 
     1467# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
     1468# names in the source code. If set to NO (the default) only conditional 
     1469# compilation will be performed. Macro expansion can be done in a controlled 
     1470# way by setting EXPAND_ONLY_PREDEF to YES. 
    11801471 
    11811472MACRO_EXPANSION        = NO 
    11821473 
    1183 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then the macro 
    1184 # expansion is limited to the macros specified with the PREDEFINED and EXPAND_AS_DEFINED tags. 
     1474# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
     1475# then the macro expansion is limited to the macros specified with the 
     1476# PREDEFINED and EXPAND_AS_DEFINED tags. 
    11851477 
    11861478EXPAND_ONLY_PREDEF     = NO 
    11871479 
    1188 # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files in the INCLUDE_PATH 
    1189 # (see below) will be search if a #include is found. 
     1480# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
     1481# pointed to by INCLUDE_PATH will be searched when a #include is found. 
    11901482 
    11911483SEARCH_INCLUDES        = YES 
    11921484 
    1193 # The INCLUDE_PATH tag can be used to specify one or more directories that contain include files 
    1194 # that are not input files but should be processed by the preprocessor. 
     1485# The INCLUDE_PATH tag can be used to specify one or more directories that 
     1486# contain include files that are not input files but should be processed by 
     1487# the preprocessor. 
    11951488 
    11961489INCLUDE_PATH           = 
    11971490 
    1198 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard patterns (like *.h 
    1199 # and *.hpp) to filter out the header-files in the directories. If left blank, the patterns 
    1200 # specified with FILE_PATTERNS will be used. 
     1491# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
     1492# patterns (like *.h and *.hpp) to filter out the header-files in the 
     1493# directories. If left blank, the patterns specified with FILE_PATTERNS will 
     1494# be used. 
    12011495 
    12021496INCLUDE_FILE_PATTERNS  = 
    12031497 
    1204 # The PREDEFINED tag can be used to specify one or more macro names that are defined before the 
    1205 # preprocessor is started (similar to the -D option of gcc). The argument of the tag is a list 
    1206 # of macros of the form: name or name=definition (no spaces). If the definition and the = are 
    1207 # omitted =1 is assumed. To prevent a macro definition from being undefined via #undef or 
    1208 # recursively expanded use the := operator instead of the = operator. 
     1498# The PREDEFINED tag can be used to specify one or more macro names that 
     1499# are defined before the preprocessor is started (similar to the -D option of 
     1500# gcc). The argument of the tag is a list of macros of the form: name 
     1501# or name=definition (no spaces). If the definition and the = are 
     1502# omitted =1 is assumed. To prevent a macro definition from being 
     1503# undefined via #undef or recursively expanded use the := operator 
     1504# instead of the = operator. 
    12091505 
    12101506PREDEFINED             = 
    12111507 
    1212 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this tag can be used to 
    1213 # specify a list of macro names that should be expanded. The macro definition that is found in 
    1214 # the sources will be used. Use the PREDEFINED tag if you want to use a different macro 
    1215 # definition. 
     1508# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
     1509# this tag can be used to specify a list of macro names that should be expanded. 
     1510# The macro definition that is found in the sources will be used. 
     1511# Use the PREDEFINED tag if you want to use a different macro definition that 
     1512# overrules the definition found in the source code. 
    12161513 
    12171514EXPAND_AS_DEFINED      = 
    12181515 
    1219 # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then doxygen's preprocessor will 
    1220 # remove all function-like macros that are alone on a line, have an all uppercase name, and do 
    1221 # not end with a semicolon. Such function macros are typically used for boiler-plate code, and 
    1222 # will confuse the parser if not removed. 
     1516# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
     1517# doxygen's preprocessor will remove all references to function-like macros 
     1518# that are alone on a line, have an all uppercase name, and do not end with a 
     1519# semicolon, because these will confuse the parser if not removed. 
    12231520 
    12241521SKIP_FUNCTION_MACROS   = YES 
     
    12281525#--------------------------------------------------------------------------- 
    12291526 
    1230 # The TAGFILES option can be used to specify one or more tagfiles. Optionally an initial 
    1231 # location of the external documentation can be added for each tagfile. The format of a tag file 
    1232 # without this location is as follows: 
     1527# The TAGFILES option can be used to specify one or more tagfiles. 
     1528# Optionally an initial location of the external documentation 
     1529# can be added for each tagfile. The format of a tag file without 
     1530# this location is as follows: 
    12331531# 
    12341532# TAGFILES = file1 file2 ... 
     
    12361534# 
    12371535# TAGFILES = file1=loc1 "file2 = loc2" ... 
    1238 # where "loc1" and "loc2" can be relative or absolute paths or URLs. If a location is present 
    1239 # for each tag, the installdox tool does not have to be run to correct the links. Note that each 
    1240 # tag file must have a unique name (where the name does NOT include the path) If a tag file is 
    1241 # not located in the directory in which doxygen is run, you must also specify the path to the 
    1242 # tagfile here. 
     1536# where "loc1" and "loc2" can be relative or absolute paths or 
     1537# URLs. If a location is present for each tag, the installdox tool 
     1538# does not have to be run to correct the links. 
     1539# Note that each tag file must have a unique name 
     1540# (where the name does NOT include the path) 
     1541# If a tag file is not located in the directory in which doxygen 
     1542# is run, you must also specify the path to the tagfile here. 
    12431543 
    12441544TAGFILES               = 
    12451545 
    1246 # When a file name is specified after GENERATE_TAGFILE, doxygen will create a tag file that is 
    1247 # based on the input files it reads. 
     1546# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
     1547# a tag file that is based on the input files it reads. 
    12481548 
    12491549GENERATE_TAGFILE       = 
    12501550 
    1251 # If the ALLEXTERNALS tag is set to YES all external classes will be listed in the class index. 
    1252 # If set to NO only the inherited external classes will be listed. 
     1551# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
     1552# in the class index. If set to NO only the inherited external classes 
     1553# will be listed. 
    12531554 
    12541555ALLEXTERNALS           = NO 
    12551556 
    1256 # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in the modules 
    1257 # index. If set to NO, only the current project's groups will be listed. 
     1557# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
     1558# in the modules index. If set to NO, only the current project's groups will 
     1559# be listed. 
    12581560 
    12591561EXTERNAL_GROUPS        = YES 
    12601562 
    1261 # The PERL_PATH should be the absolute path and name of the perl script interpreter (i.e. the 
    1262 # result of `which perl'). 
     1563# The PERL_PATH should be the absolute path and name of the perl script 
     1564# interpreter (i.e. the result of `which perl'). 
    12631565 
    12641566PERL_PATH              = /usr/bin/perl 
     
    12681570#--------------------------------------------------------------------------- 
    12691571 
    1270 # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will generate a inheritance 
    1271 # diagram (in HTML, RTF and LaTeX) for classes with base or super classes. Setting the tag to NO 
    1272 # turns the diagrams off. Note that this option is superseded by the HAVE_DOT option below. This 
    1273 # is only a fallback. It is recommended to install and use dot, since it yields more powerful 
    1274 # graphs. 
     1572# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
     1573# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
     1574# or super classes. Setting the tag to NO turns the diagrams off. Note that 
     1575# this option also works with HAVE_DOT disabled, but it is recommended to 
     1576# install and use dot, since it yields more powerful graphs. 
    12751577 
    12761578CLASS_DIAGRAMS         = YES 
    12771579 
    1278 # You can define message sequence charts within doxygen comments using the \msc command. Doxygen 
    1279 # will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to produce the chart and 
    1280 # insert it in the documentation. The MSCGEN_PATH tag allows you to specify the directory where 
    1281 # the mscgen tool resides. If left empty the tool is assumed to be found in the default search 
    1282 # path. 
     1580# You can define message sequence charts within doxygen comments using the \msc 
     1581# command. Doxygen will then run the mscgen tool (see 
     1582# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
     1583# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
     1584# the mscgen tool resides. If left empty the tool is assumed to be found in the 
     1585# default search path. 
    12831586 
    12841587MSCGEN_PATH            = 
    12851588 
    1286 # If set to YES, the inheritance and collaboration graphs will hide inheritance and usage 
    1287 # relations if the target is undocumented or is not a class. 
     1589# If set to YES, the inheritance and collaboration graphs will hide 
     1590# inheritance and usage relations if the target is undocumented 
     1591# or is not a class. 
    12881592 
    12891593HIDE_UNDOC_RELATIONS   = YES 
    12901594 
    1291 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is available from the 
    1292 # path. This tool is part of Graphviz, a graph visualization toolkit from AT&T and Lucent Bell 
    1293 # Labs. The other options in this section have no effect if this option is set to NO (the 
    1294 # default) 
     1595# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
     1596# available from the path. This tool is part of Graphviz, a graph visualization 
     1597# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
     1598# have no effect if this option is set to NO (the default) 
    12951599 
    12961600HAVE_DOT               = NO 
    12971601 
    1298 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed to run in 
    1299 # parallel. When set to 0 (the default) doxygen will base this on the number of processors 
    1300 # available in the system. You can set it explicitly to a value larger than 0 to get control 
    1301 # over the balance between CPU load and processing speed. 
     1602# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is 
     1603# allowed to run in parallel. When set to 0 (the default) doxygen will 
     1604# base this on the number of processors available in the system. You can set it 
     1605# explicitly to a value larger than 0 to get control over the balance 
     1606# between CPU load and processing speed. 
    13021607 
    13031608DOT_NUM_THREADS        = 0 
    13041609 
    1305 # By default doxygen will write a font called FreeSans.ttf to the output directory and reference 
    1306 # it in all dot files that doxygen generates. This font does not include all possible unicode 
    1307 # characters however, so when you need these (or just want a differently looking font) you can 
    1308 # specify the font name using DOT_FONTNAME. You need need to make sure dot is able to find the 
    1309 # font, which can be done by putting it in a standard location or by setting the DOTFONTPATH 
    1310 # environment variable or by setting DOT_FONTPATH to the directory containing the font. 
     1610# By default doxygen will use the Helvetica font for all dot files that 
     1611# doxygen generates. When you want a differently looking font you can specify 
     1612# the font name using DOT_FONTNAME. You need to make sure dot is able to find 
     1613# the font, which can be done by putting it in a standard location or by setting 
     1614# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the 
     1615# directory containing the font. 
    13111616 
    13121617DOT_FONTNAME           = FreeSans.ttf 
    13131618 
    1314 # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. The default size 
    1315 # is 10pt. 
     1619# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
     1620# The default size is 10pt. 
    13161621 
    13171622DOT_FONTSIZE           = 10 
    13181623 
    1319 # By default doxygen will tell dot to use the output directory to look for the FreeSans.ttf font 
    1320 # (which doxygen will put there itself). If you specify a different font using DOT_FONTNAME you 
    1321 # can set the path where dot can find it using this tag. 
     1624# By default doxygen will tell dot to use the Helvetica font. 
     1625# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to 
     1626# set the path where dot can find it. 
    13221627 
    13231628DOT_FONTPATH           = 
    13241629 
    1325 # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen will generate a graph for 
    1326 # each documented class showing the direct and indirect inheritance relations. Setting this tag 
    1327 # to YES will force the the CLASS_DIAGRAMS tag to NO. 
     1630# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
     1631# will generate a graph for each documented class showing the direct and 
     1632# indirect inheritance relations. Setting this tag to YES will force the 
     1633# CLASS_DIAGRAMS tag to NO. 
    13281634 
    13291635CLASS_GRAPH            = YES 
    13301636 
    1331 # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen will generate a graph 
    1332 # for each documented class showing the direct and indirect implementation dependencies 
    1333 # (inheritance, containment, and class references variables) of the class with other documented 
    1334 # classes. 
     1637# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
     1638# will generate a graph for each documented class showing the direct and 
     1639# indirect implementation dependencies (inheritance, containment, and 
     1640# class references variables) of the class with other documented classes. 
    13351641 
    13361642COLLABORATION_GRAPH    = YES 
    13371643 
    1338 # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen will generate a graph for 
    1339 # groups, showing the direct groups dependencies 
     1644# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
     1645# will generate a graph for groups, showing the direct groups dependencies 
    13401646 
    13411647GROUP_GRAPHS           = YES 
    13421648 
    1343 # If the UML_LOOK tag is set to YES doxygen will generate inheritance and collaboration diagrams 
    1344 # in a style similar to the OMG's Unified Modeling Language. 
     1649# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
     1650# collaboration diagrams in a style similar to the OMG's Unified Modeling 
     1651# Language. 
    13451652 
    13461653UML_LOOK               = NO 
    13471654 
    1348 # If set to YES, the inheritance and collaboration graphs will show the relations between 
    1349 # templates and their instances. 
     1655# If set to YES, the inheritance and collaboration graphs will show the 
     1656# relations between templates and their instances. 
    13501657 
    13511658TEMPLATE_RELATIONS     = NO 
    13521659 
    1353 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT tags are set to YES 
    1354 # then doxygen will generate a graph for each documented file showing the direct and indirect 
    1355 # include dependencies of the file with other documented files. 
     1660# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
     1661# tags are set to YES then doxygen will generate a graph for each documented 
     1662# file showing the direct and indirect include dependencies of the file with 
     1663# other documented files. 
    13561664 
    13571665INCLUDE_GRAPH          = YES 
    13581666 
    1359 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to 
    1360 # YES then doxygen will generate a graph for each documented header file showing the documented 
    1361 # files that directly or indirectly include this file. 
     1667# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
     1668# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
     1669# documented header file showing the documented files that directly or 
     1670# indirectly include this file. 
    13621671 
    13631672INCLUDED_BY_GRAPH      = YES 
    13641673 
    1365 # If the CALL_GRAPH and HAVE_DOT options are set to YES then doxygen will generate a call 
    1366 # dependency graph for every global function or class method. Note that enabling this option 
    1367 # will significantly increase the time of a run. So in most cases it will be better to enable 
    1368 # call graphs for selected functions only using the \callgraph command. 
     1674# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
     1675# doxygen will generate a call dependency graph for every global function 
     1676# or class method. Note that enabling this option will significantly increase 
     1677# the time of a run. So in most cases it will be better to enable call graphs 
     1678# for selected functions only using the \callgraph command. 
    13691679 
    13701680CALL_GRAPH             = NO 
    13711681 
    1372 # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will generate a caller 
    1373 # dependency graph for every global function or class method. Note that enabling this option 
    1374 # will significantly increase the time of a run. So in most cases it will be better to enable 
    1375 # caller graphs for selected functions only using the \callergraph command. 
     1682# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
     1683# doxygen will generate a caller dependency graph for every global function 
     1684# or class method. Note that enabling this option will significantly increase 
     1685# the time of a run. So in most cases it will be better to enable caller 
     1686# graphs for selected functions only using the \callergraph command. 
    13761687 
    13771688CALLER_GRAPH           = NO 
    13781689 
    1379 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen will graphical 
    1380 # hierarchy of all classes instead of a textual one. 
     1690# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
     1691# will generate a graphical hierarchy of all classes instead of a textual one. 
    13811692 
    13821693GRAPHICAL_HIERARCHY    = YES 
    13831694 
    1384 # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES then doxygen will 
    1385 # show the dependencies a directory has on other directories in a graphical way. The dependency 
    1386 # relations are determined by the #include relations between the files in the directories. 
     1695# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
     1696# then doxygen will show the dependencies a directory has on other directories 
     1697# in a graphical way. The dependency relations are determined by the #include 
     1698# relations between the files in the directories. 
    13871699 
    13881700DIRECTORY_GRAPH        = YES 
    13891701 
    1390 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images generated by dot. 
    1391 # Possible values are png, jpg, or gif If left blank png will be used. 
     1702# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
     1703# generated by dot. Possible values are svg, png, jpg, or gif. 
     1704# If left blank png will be used. If you choose svg you need to set 
     1705# HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
     1706# visible in IE 9+ (other browsers do not have this requirement). 
    13921707 
    13931708DOT_IMAGE_FORMAT       = png 
    13941709 
    1395 # The tag DOT_PATH can be used to specify the path where the dot tool can be found. If left 
    1396 # blank, it is assumed the dot tool can be found in the path. 
     1710# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to 
     1711# enable generation of interactive SVG images that allow zooming and panning. 
     1712# Note that this requires a modern browser other than Internet Explorer. 
     1713# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you 
     1714# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
     1715# visible. Older versions of IE do not have SVG support. 
     1716 
     1717INTERACTIVE_SVG        = NO 
     1718 
     1719# The tag DOT_PATH can be used to specify the path where the dot tool can be 
     1720# found. If left blank, it is assumed the dot tool can be found in the path. 
    13971721 
    13981722DOT_PATH               = 
    13991723 
    1400 # The DOTFILE_DIRS tag can be used to specify one or more directories that contain dot files 
    1401 # that are included in the documentation (see the \dotfile command). 
     1724# The DOTFILE_DIRS tag can be used to specify one or more directories that 
     1725# contain dot files that are included in the documentation (see the 
     1726# \dotfile command). 
    14021727 
    14031728DOTFILE_DIRS           = 
    14041729 
    1405 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes that will be shown 
    1406 # in the graph. If the number of nodes in a graph becomes larger than this value, doxygen will 
    1407 # truncate the graph, which is visualized by representing a node as a red box. Note that doxygen 
    1408 # if the number of direct children of the root node in a graph is already larger than 
    1409 # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that the size of a 
    1410 # graph can be further restricted by MAX_DOT_GRAPH_DEPTH. 
     1730# The MSCFILE_DIRS tag can be used to specify one or more directories that 
     1731# contain msc files that are included in the documentation (see the 
     1732# \mscfile command). 
     1733 
     1734MSCFILE_DIRS           = 
     1735 
     1736# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
     1737# nodes that will be shown in the graph. If the number of nodes in a graph 
     1738# becomes larger than this value, doxygen will truncate the graph, which is 
     1739# visualized by representing a node as a red box. Note that doxygen if the 
     1740# number of direct children of the root node in a graph is already larger than 
     1741# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
     1742# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. 
    14111743 
    14121744DOT_GRAPH_MAX_NODES    = 50 
    14131745 
    1414 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs generated by 
    1415 # dot. A depth value of 3 means that only nodes reachable from the root by following a path via 
    1416 # at most 3 edges will be shown. Nodes that lay further from the root node will be omitted. Note 
    1417 # that setting this option to 1 or 2 may greatly reduce the computation time needed for large 
     1746# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
     1747# graphs generated by dot. A depth value of 3 means that only nodes reachable 
     1748# from the root by following a path via at most 3 edges will be shown. Nodes 
     1749# that lay further from the root node will be omitted. Note that setting this 
     1750# option to 1 or 2 may greatly reduce the computation time needed for large 
    14181751# code bases. Also note that the size of a graph can be further restricted by 
    14191752# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. 
     
    14211754MAX_DOT_GRAPH_DEPTH    = 0 
    14221755 
    1423 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent background. This is 
    1424 # disabled by default, because dot on Windows does not seem to support this out of the box. 
    1425 # Warning: Depending on the platform used, enabling this option may lead to badly anti-aliased 
    1426 # labels on the edges of a graph (i.e. they become hard to read). 
     1756# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
     1757# background. This is disabled by default, because dot on Windows does not 
     1758# seem to support this out of the box. Warning: Depending on the platform used, 
     1759# enabling this option may lead to badly anti-aliased labels on the edges of 
     1760# a graph (i.e. they become hard to read). 
    14271761 
    14281762DOT_TRANSPARENT        = NO 
    14291763 
    1430 # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output files in one run 
    1431 # (i.e. multiple -o and -T options on the command line). This makes dot run faster, but since 
    1432 # only newer versions of dot (>1.8.10) support this, this feature is disabled by default. 
     1764# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
     1765# files in one run (i.e. multiple -o and -T options on the command line). This 
     1766# makes dot run faster, but since only newer versions of dot (>1.8.10) 
     1767# support this, this feature is disabled by default. 
    14331768 
    14341769DOT_MULTI_TARGETS      = NO 
    14351770 
    1436 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will generate a legend page 
    1437 # explaining the meaning of the various boxes and arrows in the dot generated graphs. 
     1771# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
     1772# generate a legend page explaining the meaning of the various boxes and 
     1773# arrows in the dot generated graphs. 
    14381774 
    14391775GENERATE_LEGEND        = YES 
    14401776 
    1441 # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will remove the intermediate dot 
    1442 # files that are used to generate the various graphs. 
     1777# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
     1778# remove the intermediate dot files that are used to generate 
     1779# the various graphs. 
    14431780 
    14441781DOT_CLEANUP            = YES 
  • src/random.cpp

    r2 r3  
    1717  // bits there. 
    1818  // 
    19   unsigned bit_random::next() 
     19  unsigned bit_random::next( ) 
    2020  { 
    2121    unsigned bit; 
    2222 
    2323    // Generate a fresh number if necessary. 
    24     if (mask == 0) { 
    25       current = generator.next(); 
     24    if( mask == 0 ) { 
     25      current = generator.next( ); 
    2626      mask = 0x1; 
    2727    } 
    2828 
    2929    // Examine the current bit in the number. 
    30     bit = (current & mask) ? 1 : 0; 
     30    bit = ( current & mask ) ? 1 : 0; 
    3131 
    3232    // Advance the mask, taking care not to overflow unsigned or go off the end of the values 
    3333    // coming back from the underlying generator. 
    3434    // 
    35     if (mask > (std::numeric_limits<unsigned>().max() >> 1)) { 
     35    if( mask > ( std::numeric_limits<unsigned>( ).max( ) >> 1 ) ) { 
    3636      mask = 0; 
    3737    } 
    3838    else { 
    3939      mask <<= 1; 
    40       if (mask > generator.max()) mask = 0; 
     40      if( mask > generator.max( ) ) mask = 0; 
    4141    } 
    4242    return bit; 
     
    4747  // are numerous problems with doing this, but some applications are not concerned by them. 
    4848  // 
    49   void seeded_random::time_seed() 
     49  void seeded_random::time_seed( ) 
    5050  { 
    51     std::time_t raw = std::time(0); 
    52     seed(static_cast<unsigned>(raw)); 
     51    std::time_t raw = std::time( 0 ); 
     52    seed( static_cast<unsigned>( raw ) ); 
    5353  } 
    5454 
  • src/random.h

    r2 r3  
    3030  public: 
    3131 
    32     virtual ~random() { } 
     32    virtual ~random( ) { } 
    3333 
    3434    //! Extract the next random number from the object. 
    35     virtual unsigned next() = 0; 
     35    virtual unsigned next( ) = 0; 
    3636 
    3737    //! Returns the maximum possible value returned by next(). 
    38     virtual unsigned max() = 0; 
     38    virtual unsigned max( ) = 0; 
    3939 
    4040    //! Returns a random number in the range [L .. H] from the object. 
     
    4848     * \return A number in the specified range. H and L are included in the range. 
    4949     */ 
    50     unsigned next(unsigned L, unsigned H) 
    51       { return (next() % (H - L + 1)) + L; } 
     50    unsigned next( unsigned L, unsigned H ) 
     51      { return ( next( ) % ( H - L + 1 ) ) + L; } 
    5252  }; 
    5353 
     
    7474     * natural numbers. 
    7575     */ 
    76     bit_random(random &g) : generator(g) { mask = 0; } 
    77    ~bit_random() { } 
     76    bit_random( random &g ) : generator( g ) { mask = 0; } 
     77   ~bit_random( ) { } 
    7878 
    79     virtual unsigned next(); 
    80     virtual unsigned max() 
     79    virtual unsigned next( ); 
     80    virtual unsigned max( ) 
    8181      { return 1; } 
    8282  }; 
     
    9999     * natural numbers. 
    100100     */ 
    101     lsbbit_random(random &g) : generator(g) { } 
    102    ~lsbbit_random() { } 
     101    lsbbit_random( random &g ) : generator( g ) { } 
     102   ~lsbbit_random( ) { } 
    103103 
    104104    virtual unsigned next() 
    105       { return generator.next() & 0x1; } 
     105      { return generator.next( ) & 0x1; } 
    106106 
    107     virtual unsigned max() 
     107    virtual unsigned max( ) 
    108108      { return 1; } 
    109109  }; 
     
    127127     * must be choosen in an unguessable way. 
    128128     */ 
    129     virtual void seed(unsigned s) = 0; 
     129    virtual void seed( unsigned s ) = 0; 
    130130 
    131131    //! Uses the current time of day to generate a seed. 
     
    137137     * \warning The current time is too guessable for use in security sensitive applications. 
    138138     */ 
    139     void time_seed(); 
     139    void time_seed( ); 
    140140  }; 
    141141 
     
    149149  class standard_random : public seeded_random { 
    150150  public: 
    151     virtual ~standard_random() { } 
     151    virtual ~standard_random( ) { } 
    152152 
    153     virtual unsigned next() 
    154       { return static_cast<unsigned>(std::rand()); } 
     153    virtual unsigned next( ) 
     154      { return static_cast<unsigned>( std::rand( ) ); } 
    155155 
    156     virtual unsigned max() 
    157       { return static_cast<unsigned>(RAND_MAX); } 
     156    virtual unsigned max( ) 
     157      { return static_cast<unsigned>( RAND_MAX ); } 
    158158 
    159     virtual void seed(unsigned s) 
    160       { std::srand(s); } 
     159    virtual void seed( unsigned s ) 
     160      { std::srand( s ); } 
    161161  }; 
    162162 
     
    179179 
    180180  public: 
    181     virtual ~linear_congruential() { } 
     181    virtual ~linear_congruential( ) { } 
    182182 
    183183    // The constants below ensure maximum period and their values take advantage of the range 
    184184    // on a 32 bit unsigned quantity. 
    185185    // 
    186     virtual unsigned next() 
    187       { return X = ((2416UL * X) + 374441UL) % 1771875UL; } 
     186    virtual unsigned next( ) 
     187      { return X = ( ( 2416UL * X ) + 374441UL ) % 1771875UL; } 
    188188 
    189     virtual unsigned max() 
     189    virtual unsigned max( ) 
    190190      { return 1771874; } 
    191    
    192     virtual void seed(unsigned s) 
     191 
     192    virtual void seed( unsigned s ) 
    193193      { X = s; } 
    194194  }; 
  • src/random_test.cpp

    r2 r3  
    2121}; 
    2222 
    23 int main(void) 
     23int main( ) 
    2424{ 
    25   // Set up the generator. 
    26   rnd::standard_random base_gen; 
    27   base_gen.time_seed(); 
    28   rnd::bit_random gen(base_gen); 
     25    // Set up the generator. 
     26    rnd::standard_random base_gen; 
     27    base_gen.time_seed( ); 
     28    rnd::bit_random gen( base_gen ); 
    2929 
    30   // Allocate the bucket arrays. 
    31   int i, size; 
    32   for (i = 0, size = 2; i < 16; ++i, size *= 2) { 
    33     bucket_array[i] = new int[size]; 
    34     for (int j = 0; j < size; ++j) bucket_array[i][j] = 0; 
    35   } 
     30    // Allocate the bucket arrays. 
     31    int i, size; 
     32    for( i = 0, size = 2; i < 16; ++i, size *= 2 ) { 
     33        bucket_array[i] = new int[size]; 
     34        for( int j = 0; j < size; ++j ) bucket_array[i][j] = 0; 
     35    } 
    3636 
    37   // Generate random bits and catagorize the results. 
    38   for (i = 0; i < 1000000; ++i) { 
    39     current = (current << 1) | gen.next(); 
    40     for (int j = 0; j < 16; ++j) { 
    41       bucket_array[j][current & mask[j]]++; 
     37    // Generate random bits and catagorize the results. 
     38    for( i = 0; i < 1000000; ++i ) { 
     39        current = ( current << 1 ) | gen.next( ); 
     40        for( int j = 0; j < 16; ++j ) { 
     41            bucket_array[j][current & mask[j]]++; 
     42        } 
    4243    } 
    43   } 
    4444 
    45   // This is just for now. Need to do Chi-squared analysis of results. 
    46   for (i = 0; i < 2; ++i) { 
    47     std::cout << std::setw(7) << bucket_array[0][i]; 
    48   } 
    49   std::cout << "\n"; 
    50   for (i = 0; i < 4; ++i) { 
    51     std::cout << std::setw(7) << bucket_array[1][i]; 
    52   } 
    53   std::cout << "\n"; 
    54   for (i = 0; i < 8; ++i) { 
    55     std::cout << std::setw(7) << bucket_array[2][i]; 
    56   } 
    57   std::cout << "\n"; 
    58   return 0; 
     45    // This is just for now. Need to do Chi-squared analysis of results. 
     46    for( i = 0; i < 2; ++i ) { 
     47        std::cout << std::setw( 7 ) << bucket_array[0][i]; 
     48    } 
     49    std::cout << "\n"; 
     50    for( i = 0; i < 4; ++i ) { 
     51        std::cout << std::setw( 7 ) << bucket_array[1][i]; 
     52    } 
     53    std::cout << "\n"; 
     54    for(i = 0; i < 8; ++i ) { 
     55        std::cout << std::setw( 7 ) << bucket_array[2][i]; 
     56    } 
     57    std::cout << "\n"; 
     58    return 0; 
    5959} 
Note: See TracChangeset for help on using the changeset viewer.