Wed, 17 Jul 2013 11:47:02 +0200
added doxyfile and documentation for ucx.h
.hgignore | file | annotate | diff | comparison | revisions | |
Doxyfile | file | annotate | diff | comparison | revisions | |
uaplogo.png | file | annotate | diff | comparison | revisions | |
ucx/map.h | file | annotate | diff | comparison | revisions | |
ucx/ucx.c | file | annotate | diff | comparison | revisions | |
ucx/ucx.h | file | annotate | diff | comparison | revisions |
1.1 --- a/.hgignore Mon Jul 15 16:59:52 2013 +0200 1.2 +++ b/.hgignore Wed Jul 17 11:47:02 2013 +0200 1.3 @@ -3,5 +3,6 @@ 1.4 ^build/.*$ 1.5 core$ 1.6 DS_Store$ 1.7 +^doc/.*$ 1.8 ^.c?project$ 1.9 ^.settings/.*$
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/Doxyfile Wed Jul 17 11:47:02 2013 +0200 2.3 @@ -0,0 +1,1791 @@ 2.4 +# Doxyfile 1.8.1.2 2.5 +# 2.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 2.7 +# 2.8 +# Copyright 2013 Olaf Wintermann. All rights reserved. 2.9 +# 2.10 +# Redistribution and use in source and binary forms, with or without 2.11 +# modification, are permitted provided that the following conditions are met: 2.12 +# 2.13 +# 1. Redistributions of source code must retain the above copyright 2.14 +# notice, this list of conditions and the following disclaimer. 2.15 +# 2.16 +# 2. Redistributions in binary form must reproduce the above copyright 2.17 +# notice, this list of conditions and the following disclaimer in the 2.18 +# documentation and/or other materials provided with the distribution. 2.19 +# 2.20 +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 2.21 +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2.22 +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2.23 +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 2.24 +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2.25 +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2.26 +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2.27 +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2.28 +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2.29 +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2.30 +# POSSIBILITY OF SUCH DAMAGE. 2.31 +# 2.32 +# This file describes the settings to be used by the documentation system 2.33 +# doxygen (www.doxygen.org) for a project. 2.34 +# 2.35 +# All text after a hash (#) is considered a comment and will be ignored. 2.36 +# The format is: 2.37 +# TAG = value [value, ...] 2.38 +# For lists items can also be appended using: 2.39 +# TAG += value [value, ...] 2.40 +# Values that contain spaces should be placed between quotes (" "). 2.41 + 2.42 +#--------------------------------------------------------------------------- 2.43 +# Project related configuration options 2.44 +#--------------------------------------------------------------------------- 2.45 + 2.46 +# This tag specifies the encoding used for all characters in the config file 2.47 +# that follow. The default is UTF-8 which is also the encoding used for all 2.48 +# text before the first occurrence of this tag. Doxygen uses libiconv (or the 2.49 +# iconv built into libc) for the transcoding. See 2.50 +# http://www.gnu.org/software/libiconv for the list of possible encodings. 2.51 + 2.52 +DOXYFILE_ENCODING = UTF-8 2.53 + 2.54 +# The PROJECT_NAME tag is a single word (or sequence of words) that should 2.55 +# identify the project. Note that if you do not use Doxywizard you need 2.56 +# to put quotes around the project name if it contains spaces. 2.57 + 2.58 +PROJECT_NAME = "ucx" 2.59 + 2.60 +# The PROJECT_NUMBER tag can be used to enter a project or revision number. 2.61 +# This could be handy for archiving the generated documentation or 2.62 +# if some version control system is used. 2.63 + 2.64 +PROJECT_NUMBER = 2.65 + 2.66 +# Using the PROJECT_BRIEF tag one can provide an optional one line description 2.67 +# for a project that appears at the top of each page and should give viewer 2.68 +# a quick idea about the purpose of the project. Keep the description short. 2.69 + 2.70 +PROJECT_BRIEF = "UAP Common Extensions" 2.71 + 2.72 +# With the PROJECT_LOGO tag one can specify an logo or icon that is 2.73 +# included in the documentation. The maximum height of the logo should not 2.74 +# exceed 55 pixels and the maximum width should not exceed 200 pixels. 2.75 +# Doxygen will copy the logo to the output directory. 2.76 + 2.77 +PROJECT_LOGO = ./uaplogo.png 2.78 + 2.79 +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 2.80 +# base path where the generated documentation will be put. 2.81 +# If a relative path is entered, it will be relative to the location 2.82 +# where doxygen was started. If left blank the current directory will be used. 2.83 + 2.84 +OUTPUT_DIRECTORY = doc 2.85 + 2.86 +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 2.87 +# 4096 sub-directories (in 2 levels) under the output directory of each output 2.88 +# format and will distribute the generated files over these directories. 2.89 +# Enabling this option can be useful when feeding doxygen a huge amount of 2.90 +# source files, where putting all generated files in the same directory would 2.91 +# otherwise cause performance problems for the file system. 2.92 + 2.93 +CREATE_SUBDIRS = NO 2.94 + 2.95 +# The OUTPUT_LANGUAGE tag is used to specify the language in which all 2.96 +# documentation generated by doxygen is written. Doxygen will use this 2.97 +# information to generate all constant output in the proper language. 2.98 +# The default language is English, other supported languages are: 2.99 +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 2.100 +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 2.101 +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 2.102 +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, 2.103 +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, 2.104 +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. 2.105 + 2.106 +OUTPUT_LANGUAGE = English 2.107 + 2.108 +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 2.109 +# include brief member descriptions after the members that are listed in 2.110 +# the file and class documentation (similar to JavaDoc). 2.111 +# Set to NO to disable this. 2.112 + 2.113 +BRIEF_MEMBER_DESC = YES 2.114 + 2.115 +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 2.116 +# the brief description of a member or function before the detailed description. 2.117 +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 2.118 +# brief descriptions will be completely suppressed. 2.119 + 2.120 +REPEAT_BRIEF = YES 2.121 + 2.122 +# This tag implements a quasi-intelligent brief description abbreviator 2.123 +# that is used to form the text in various listings. Each string 2.124 +# in this list, if found as the leading text of the brief description, will be 2.125 +# stripped from the text and the result after processing the whole list, is 2.126 +# used as the annotated text. Otherwise, the brief description is used as-is. 2.127 +# If left blank, the following values are used ("$name" is automatically 2.128 +# replaced with the name of the entity): "The $name class" "The $name widget" 2.129 +# "The $name file" "is" "provides" "specifies" "contains" 2.130 +# "represents" "a" "an" "the" 2.131 + 2.132 +ABBREVIATE_BRIEF = 2.133 + 2.134 +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 2.135 +# Doxygen will generate a detailed section even if there is only a brief 2.136 +# description. 2.137 + 2.138 +ALWAYS_DETAILED_SEC = NO 2.139 + 2.140 +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 2.141 +# inherited members of a class in the documentation of that class as if those 2.142 +# members were ordinary class members. Constructors, destructors and assignment 2.143 +# operators of the base classes will not be shown. 2.144 + 2.145 +INLINE_INHERITED_MEMB = NO 2.146 + 2.147 +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 2.148 +# path before files name in the file list and in the header files. If set 2.149 +# to NO the shortest path that makes the file name unique will be used. 2.150 + 2.151 +FULL_PATH_NAMES = YES 2.152 + 2.153 +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 2.154 +# can be used to strip a user-defined part of the path. Stripping is 2.155 +# only done if one of the specified strings matches the left-hand part of 2.156 +# the path. The tag can be used to show relative paths in the file list. 2.157 +# If left blank the directory from which doxygen is run is used as the 2.158 +# path to strip. 2.159 + 2.160 +STRIP_FROM_PATH = 2.161 + 2.162 +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 2.163 +# the path mentioned in the documentation of a class, which tells 2.164 +# the reader which header file to include in order to use a class. 2.165 +# If left blank only the name of the header file containing the class 2.166 +# definition is used. Otherwise one should specify the include paths that 2.167 +# are normally passed to the compiler using the -I flag. 2.168 + 2.169 +STRIP_FROM_INC_PATH = 2.170 + 2.171 +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 2.172 +# (but less readable) file names. This can be useful if your file system 2.173 +# doesn't support long names like on DOS, Mac, or CD-ROM. 2.174 + 2.175 +SHORT_NAMES = NO 2.176 + 2.177 +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 2.178 +# will interpret the first line (until the first dot) of a JavaDoc-style 2.179 +# comment as the brief description. If set to NO, the JavaDoc 2.180 +# comments will behave just like regular Qt-style comments 2.181 +# (thus requiring an explicit @brief command for a brief description.) 2.182 + 2.183 +JAVADOC_AUTOBRIEF = YES 2.184 + 2.185 +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 2.186 +# interpret the first line (until the first dot) of a Qt-style 2.187 +# comment as the brief description. If set to NO, the comments 2.188 +# will behave just like regular Qt-style comments (thus requiring 2.189 +# an explicit \brief command for a brief description.) 2.190 + 2.191 +QT_AUTOBRIEF = NO 2.192 + 2.193 +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 2.194 +# treat a multi-line C++ special comment block (i.e. a block of //! or /// 2.195 +# comments) as a brief description. This used to be the default behaviour. 2.196 +# The new default is to treat a multi-line C++ comment block as a detailed 2.197 +# description. Set this tag to YES if you prefer the old behaviour instead. 2.198 + 2.199 +MULTILINE_CPP_IS_BRIEF = NO 2.200 + 2.201 +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 2.202 +# member inherits the documentation from any documented member that it 2.203 +# re-implements. 2.204 + 2.205 +INHERIT_DOCS = YES 2.206 + 2.207 +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 2.208 +# a new page for each member. If set to NO, the documentation of a member will 2.209 +# be part of the file/class/namespace that contains it. 2.210 + 2.211 +SEPARATE_MEMBER_PAGES = NO 2.212 + 2.213 +# The TAB_SIZE tag can be used to set the number of spaces in a tab. 2.214 +# Doxygen uses this value to replace tabs by spaces in code fragments. 2.215 + 2.216 +TAB_SIZE = 4 2.217 + 2.218 +# This tag can be used to specify a number of aliases that acts 2.219 +# as commands in the documentation. An alias has the form "name=value". 2.220 +# For example adding "sideeffect=\par Side Effects:\n" will allow you to 2.221 +# put the command \sideeffect (or @sideeffect) in the documentation, which 2.222 +# will result in a user-defined paragraph with heading "Side Effects:". 2.223 +# You can put \n's in the value part of an alias to insert newlines. 2.224 + 2.225 +ALIASES = 2.226 + 2.227 +# This tag can be used to specify a number of word-keyword mappings (TCL only). 2.228 +# A mapping has the form "name=value". For example adding 2.229 +# "class=itcl::class" will allow you to use the command class in the 2.230 +# itcl::class meaning. 2.231 + 2.232 +TCL_SUBST = 2.233 + 2.234 +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 2.235 +# sources only. Doxygen will then generate output that is more tailored for C. 2.236 +# For instance, some of the names that are used will be different. The list 2.237 +# of all members will be omitted, etc. 2.238 + 2.239 +OPTIMIZE_OUTPUT_FOR_C = YES 2.240 + 2.241 +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 2.242 +# sources only. Doxygen will then generate output that is more tailored for 2.243 +# Java. For instance, namespaces will be presented as packages, qualified 2.244 +# scopes will look different, etc. 2.245 + 2.246 +OPTIMIZE_OUTPUT_JAVA = NO 2.247 + 2.248 +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 2.249 +# sources only. Doxygen will then generate output that is more tailored for 2.250 +# Fortran. 2.251 + 2.252 +OPTIMIZE_FOR_FORTRAN = NO 2.253 + 2.254 +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 2.255 +# sources. Doxygen will then generate output that is tailored for 2.256 +# VHDL. 2.257 + 2.258 +OPTIMIZE_OUTPUT_VHDL = NO 2.259 + 2.260 +# Doxygen selects the parser to use depending on the extension of the files it 2.261 +# parses. With this tag you can assign which parser to use for a given extension. 2.262 +# Doxygen has a built-in mapping, but you can override or extend it using this 2.263 +# tag. The format is ext=language, where ext is a file extension, and language 2.264 +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, 2.265 +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make 2.266 +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C 2.267 +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions 2.268 +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. 2.269 + 2.270 +EXTENSION_MAPPING = 2.271 + 2.272 +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 2.273 +# to include (a tag file for) the STL sources as input, then you should 2.274 +# set this tag to YES in order to let doxygen match functions declarations and 2.275 +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 2.276 +# func(std::string) {}). This also makes the inheritance and collaboration 2.277 +# diagrams that involve STL classes more complete and accurate. 2.278 + 2.279 +BUILTIN_STL_SUPPORT = NO 2.280 + 2.281 +# If you use Microsoft's C++/CLI language, you should set this option to YES to 2.282 +# enable parsing support. 2.283 + 2.284 +CPP_CLI_SUPPORT = NO 2.285 + 2.286 +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 2.287 +# Doxygen will parse them like normal C++ but will assume all classes use public 2.288 +# instead of private inheritance when no explicit protection keyword is present. 2.289 + 2.290 +SIP_SUPPORT = NO 2.291 + 2.292 +# For Microsoft's IDL there are propget and propput attributes to indicate getter 2.293 +# and setter methods for a property. Setting this option to YES (the default) 2.294 +# will make doxygen replace the get and set methods by a property in the 2.295 +# documentation. This will only work if the methods are indeed getting or 2.296 +# setting a simple type. If this is not the case, or you want to show the 2.297 +# methods anyway, you should set this option to NO. 2.298 + 2.299 +IDL_PROPERTY_SUPPORT = YES 2.300 + 2.301 +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 2.302 +# tag is set to YES, then doxygen will reuse the documentation of the first 2.303 +# member in the group (if any) for the other members of the group. By default 2.304 +# all members of a group must be documented explicitly. 2.305 + 2.306 +DISTRIBUTE_GROUP_DOC = NO 2.307 + 2.308 +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 2.309 +# the same type (for instance a group of public functions) to be put as a 2.310 +# subgroup of that type (e.g. under the Public Functions section). Set it to 2.311 +# NO to prevent subgrouping. Alternatively, this can be done per class using 2.312 +# the \nosubgrouping command. 2.313 + 2.314 +SUBGROUPING = YES 2.315 + 2.316 +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and 2.317 +# unions are shown inside the group in which they are included (e.g. using 2.318 +# @ingroup) instead of on a separate page (for HTML and Man pages) or 2.319 +# section (for LaTeX and RTF). 2.320 + 2.321 +INLINE_GROUPED_CLASSES = NO 2.322 + 2.323 +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and 2.324 +# unions with only public data fields will be shown inline in the documentation 2.325 +# of the scope in which they are defined (i.e. file, namespace, or group 2.326 +# documentation), provided this scope is documented. If set to NO (the default), 2.327 +# structs, classes, and unions are shown on a separate page (for HTML and Man 2.328 +# pages) or section (for LaTeX and RTF). 2.329 + 2.330 +INLINE_SIMPLE_STRUCTS = NO 2.331 + 2.332 +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 2.333 +# is documented as struct, union, or enum with the name of the typedef. So 2.334 +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 2.335 +# with name TypeT. When disabled the typedef will appear as a member of a file, 2.336 +# namespace, or class. And the struct will be named TypeS. This can typically 2.337 +# be useful for C code in case the coding convention dictates that all compound 2.338 +# types are typedef'ed and only the typedef is referenced, never the tag name. 2.339 + 2.340 +TYPEDEF_HIDES_STRUCT = NO 2.341 + 2.342 +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 2.343 +# determine which symbols to keep in memory and which to flush to disk. 2.344 +# When the cache is full, less often used symbols will be written to disk. 2.345 +# For small to medium size projects (<1000 input files) the default value is 2.346 +# probably good enough. For larger projects a too small cache size can cause 2.347 +# doxygen to be busy swapping symbols to and from disk most of the time 2.348 +# causing a significant performance penalty. 2.349 +# If the system has enough physical memory increasing the cache will improve the 2.350 +# performance by keeping more symbols in memory. Note that the value works on 2.351 +# a logarithmic scale so increasing the size by one will roughly double the 2.352 +# memory usage. The cache size is given by this formula: 2.353 +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 2.354 +# corresponding to a cache size of 2^16 = 65536 symbols. 2.355 + 2.356 +SYMBOL_CACHE_SIZE = 0 2.357 + 2.358 +# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be 2.359 +# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given 2.360 +# their name and scope. Since this can be an expensive process and often the 2.361 +# same symbol appear multiple times in the code, doxygen keeps a cache of 2.362 +# pre-resolved symbols. If the cache is too small doxygen will become slower. 2.363 +# If the cache is too large, memory is wasted. The cache size is given by this 2.364 +# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, 2.365 +# corresponding to a cache size of 2^16 = 65536 symbols. 2.366 + 2.367 +LOOKUP_CACHE_SIZE = 0 2.368 + 2.369 +#--------------------------------------------------------------------------- 2.370 +# Build related configuration options 2.371 +#--------------------------------------------------------------------------- 2.372 + 2.373 +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 2.374 +# documentation are documented, even if no documentation was available. 2.375 +# Private class members and static file members will be hidden unless 2.376 +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES 2.377 + 2.378 +EXTRACT_ALL = NO 2.379 + 2.380 +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 2.381 +# will be included in the documentation. 2.382 + 2.383 +EXTRACT_PRIVATE = NO 2.384 + 2.385 +# If the EXTRACT_STATIC tag is set to YES all static members of a file 2.386 +# will be included in the documentation. 2.387 + 2.388 +EXTRACT_STATIC = NO 2.389 + 2.390 +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 2.391 +# defined locally in source files will be included in the documentation. 2.392 +# If set to NO only classes defined in header files are included. 2.393 + 2.394 +EXTRACT_LOCAL_CLASSES = YES 2.395 + 2.396 +# This flag is only useful for Objective-C code. When set to YES local 2.397 +# methods, which are defined in the implementation section but not in 2.398 +# the interface are included in the documentation. 2.399 +# If set to NO (the default) only methods in the interface are included. 2.400 + 2.401 +EXTRACT_LOCAL_METHODS = NO 2.402 + 2.403 +# If this flag is set to YES, the members of anonymous namespaces will be 2.404 +# extracted and appear in the documentation as a namespace called 2.405 +# 'anonymous_namespace{file}', where file will be replaced with the base 2.406 +# name of the file that contains the anonymous namespace. By default 2.407 +# anonymous namespaces are hidden. 2.408 + 2.409 +EXTRACT_ANON_NSPACES = NO 2.410 + 2.411 +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 2.412 +# undocumented members of documented classes, files or namespaces. 2.413 +# If set to NO (the default) these members will be included in the 2.414 +# various overviews, but no documentation section is generated. 2.415 +# This option has no effect if EXTRACT_ALL is enabled. 2.416 + 2.417 +HIDE_UNDOC_MEMBERS = NO 2.418 + 2.419 +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 2.420 +# undocumented classes that are normally visible in the class hierarchy. 2.421 +# If set to NO (the default) these classes will be included in the various 2.422 +# overviews. This option has no effect if EXTRACT_ALL is enabled. 2.423 + 2.424 +HIDE_UNDOC_CLASSES = NO 2.425 + 2.426 +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 2.427 +# friend (class|struct|union) declarations. 2.428 +# If set to NO (the default) these declarations will be included in the 2.429 +# documentation. 2.430 + 2.431 +HIDE_FRIEND_COMPOUNDS = NO 2.432 + 2.433 +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 2.434 +# documentation blocks found inside the body of a function. 2.435 +# If set to NO (the default) these blocks will be appended to the 2.436 +# function's detailed documentation block. 2.437 + 2.438 +HIDE_IN_BODY_DOCS = NO 2.439 + 2.440 +# The INTERNAL_DOCS tag determines if documentation 2.441 +# that is typed after a \internal command is included. If the tag is set 2.442 +# to NO (the default) then the documentation will be excluded. 2.443 +# Set it to YES to include the internal documentation. 2.444 + 2.445 +INTERNAL_DOCS = NO 2.446 + 2.447 +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 2.448 +# file names in lower-case letters. If set to YES upper-case letters are also 2.449 +# allowed. This is useful if you have classes or files whose names only differ 2.450 +# in case and if your file system supports case sensitive file names. Windows 2.451 +# and Mac users are advised to set this option to NO. 2.452 + 2.453 +CASE_SENSE_NAMES = YES 2.454 + 2.455 +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 2.456 +# will show members with their full class and namespace scopes in the 2.457 +# documentation. If set to YES the scope will be hidden. 2.458 + 2.459 +HIDE_SCOPE_NAMES = NO 2.460 + 2.461 +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 2.462 +# will put a list of the files that are included by a file in the documentation 2.463 +# of that file. 2.464 + 2.465 +SHOW_INCLUDE_FILES = YES 2.466 + 2.467 +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen 2.468 +# will list include files with double quotes in the documentation 2.469 +# rather than with sharp brackets. 2.470 + 2.471 +FORCE_LOCAL_INCLUDES = NO 2.472 + 2.473 +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 2.474 +# is inserted in the documentation for inline members. 2.475 + 2.476 +INLINE_INFO = YES 2.477 + 2.478 +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 2.479 +# will sort the (detailed) documentation of file and class members 2.480 +# alphabetically by member name. If set to NO the members will appear in 2.481 +# declaration order. 2.482 + 2.483 +SORT_MEMBER_DOCS = YES 2.484 + 2.485 +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 2.486 +# brief documentation of file, namespace and class members alphabetically 2.487 +# by member name. If set to NO (the default) the members will appear in 2.488 +# declaration order. 2.489 + 2.490 +SORT_BRIEF_DOCS = NO 2.491 + 2.492 +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 2.493 +# will sort the (brief and detailed) documentation of class members so that 2.494 +# constructors and destructors are listed first. If set to NO (the default) 2.495 +# the constructors will appear in the respective orders defined by 2.496 +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. 2.497 +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO 2.498 +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. 2.499 + 2.500 +SORT_MEMBERS_CTORS_1ST = NO 2.501 + 2.502 +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 2.503 +# hierarchy of group names into alphabetical order. If set to NO (the default) 2.504 +# the group names will appear in their defined order. 2.505 + 2.506 +SORT_GROUP_NAMES = NO 2.507 + 2.508 +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 2.509 +# sorted by fully-qualified names, including namespaces. If set to 2.510 +# NO (the default), the class list will be sorted only by class name, 2.511 +# not including the namespace part. 2.512 +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 2.513 +# Note: This option applies only to the class list, not to the 2.514 +# alphabetical list. 2.515 + 2.516 +SORT_BY_SCOPE_NAME = NO 2.517 + 2.518 +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to 2.519 +# do proper type resolution of all parameters of a function it will reject a 2.520 +# match between the prototype and the implementation of a member function even 2.521 +# if there is only one candidate or it is obvious which candidate to choose 2.522 +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen 2.523 +# will still accept a match between prototype and implementation in such cases. 2.524 + 2.525 +STRICT_PROTO_MATCHING = NO 2.526 + 2.527 +# The GENERATE_TODOLIST tag can be used to enable (YES) or 2.528 +# disable (NO) the todo list. This list is created by putting \todo 2.529 +# commands in the documentation. 2.530 + 2.531 +GENERATE_TODOLIST = YES 2.532 + 2.533 +# The GENERATE_TESTLIST tag can be used to enable (YES) or 2.534 +# disable (NO) the test list. This list is created by putting \test 2.535 +# commands in the documentation. 2.536 + 2.537 +GENERATE_TESTLIST = YES 2.538 + 2.539 +# The GENERATE_BUGLIST tag can be used to enable (YES) or 2.540 +# disable (NO) the bug list. This list is created by putting \bug 2.541 +# commands in the documentation. 2.542 + 2.543 +GENERATE_BUGLIST = YES 2.544 + 2.545 +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 2.546 +# disable (NO) the deprecated list. This list is created by putting 2.547 +# \deprecated commands in the documentation. 2.548 + 2.549 +GENERATE_DEPRECATEDLIST= YES 2.550 + 2.551 +# The ENABLED_SECTIONS tag can be used to enable conditional 2.552 +# documentation sections, marked by \if sectionname ... \endif. 2.553 + 2.554 +ENABLED_SECTIONS = 2.555 + 2.556 +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 2.557 +# the initial value of a variable or macro consists of for it to appear in 2.558 +# the documentation. If the initializer consists of more lines than specified 2.559 +# here it will be hidden. Use a value of 0 to hide initializers completely. 2.560 +# The appearance of the initializer of individual variables and macros in the 2.561 +# documentation can be controlled using \showinitializer or \hideinitializer 2.562 +# command in the documentation regardless of this setting. 2.563 + 2.564 +MAX_INITIALIZER_LINES = 30 2.565 + 2.566 +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 2.567 +# at the bottom of the documentation of classes and structs. If set to YES the 2.568 +# list will mention the files that were used to generate the documentation. 2.569 + 2.570 +SHOW_USED_FILES = YES 2.571 + 2.572 +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. 2.573 +# This will remove the Files entry from the Quick Index and from the 2.574 +# Folder Tree View (if specified). The default is YES. 2.575 + 2.576 +SHOW_FILES = YES 2.577 + 2.578 +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 2.579 +# Namespaces page. 2.580 +# This will remove the Namespaces entry from the Quick Index 2.581 +# and from the Folder Tree View (if specified). The default is YES. 2.582 + 2.583 +SHOW_NAMESPACES = YES 2.584 + 2.585 +# The FILE_VERSION_FILTER tag can be used to specify a program or script that 2.586 +# doxygen should invoke to get the current version for each file (typically from 2.587 +# the version control system). Doxygen will invoke the program by executing (via 2.588 +# popen()) the command <command> <input-file>, where <command> is the value of 2.589 +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 2.590 +# provided by doxygen. Whatever the program writes to standard output 2.591 +# is used as the file version. See the manual for examples. 2.592 + 2.593 +FILE_VERSION_FILTER = 2.594 + 2.595 +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 2.596 +# by doxygen. The layout file controls the global structure of the generated 2.597 +# output files in an output format independent way. The create the layout file 2.598 +# that represents doxygen's defaults, run doxygen with the -l option. 2.599 +# You can optionally specify a file name after the option, if omitted 2.600 +# DoxygenLayout.xml will be used as the name of the layout file. 2.601 + 2.602 +LAYOUT_FILE = 2.603 + 2.604 +# The CITE_BIB_FILES tag can be used to specify one or more bib files 2.605 +# containing the references data. This must be a list of .bib files. The 2.606 +# .bib extension is automatically appended if omitted. Using this command 2.607 +# requires the bibtex tool to be installed. See also 2.608 +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style 2.609 +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this 2.610 +# feature you need bibtex and perl available in the search path. 2.611 + 2.612 +CITE_BIB_FILES = 2.613 + 2.614 +#--------------------------------------------------------------------------- 2.615 +# configuration options related to warning and progress messages 2.616 +#--------------------------------------------------------------------------- 2.617 + 2.618 +# The QUIET tag can be used to turn on/off the messages that are generated 2.619 +# by doxygen. Possible values are YES and NO. If left blank NO is used. 2.620 + 2.621 +QUIET = NO 2.622 + 2.623 +# The WARNINGS tag can be used to turn on/off the warning messages that are 2.624 +# generated by doxygen. Possible values are YES and NO. If left blank 2.625 +# NO is used. 2.626 + 2.627 +WARNINGS = YES 2.628 + 2.629 +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 2.630 +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 2.631 +# automatically be disabled. 2.632 + 2.633 +WARN_IF_UNDOCUMENTED = YES 2.634 + 2.635 +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 2.636 +# potential errors in the documentation, such as not documenting some 2.637 +# parameters in a documented function, or documenting parameters that 2.638 +# don't exist or using markup commands wrongly. 2.639 + 2.640 +WARN_IF_DOC_ERROR = YES 2.641 + 2.642 +# The WARN_NO_PARAMDOC option can be enabled to get warnings for 2.643 +# functions that are documented, but have no documentation for their parameters 2.644 +# or return value. If set to NO (the default) doxygen will only warn about 2.645 +# wrong or incomplete parameter documentation, but not about the absence of 2.646 +# documentation. 2.647 + 2.648 +WARN_NO_PARAMDOC = NO 2.649 + 2.650 +# The WARN_FORMAT tag determines the format of the warning messages that 2.651 +# doxygen can produce. The string should contain the $file, $line, and $text 2.652 +# tags, which will be replaced by the file and line number from which the 2.653 +# warning originated and the warning text. Optionally the format may contain 2.654 +# $version, which will be replaced by the version of the file (if it could 2.655 +# be obtained via FILE_VERSION_FILTER) 2.656 + 2.657 +WARN_FORMAT = "$file:$line: $text" 2.658 + 2.659 +# The WARN_LOGFILE tag can be used to specify a file to which warning 2.660 +# and error messages should be written. If left blank the output is written 2.661 +# to stderr. 2.662 + 2.663 +WARN_LOGFILE = 2.664 + 2.665 +#--------------------------------------------------------------------------- 2.666 +# configuration options related to the input files 2.667 +#--------------------------------------------------------------------------- 2.668 + 2.669 +# The INPUT tag can be used to specify the files and/or directories that contain 2.670 +# documented source files. You may enter file names like "myfile.cpp" or 2.671 +# directories like "/usr/src/myproject". Separate the files or directories 2.672 +# with spaces. 2.673 + 2.674 +INPUT = ./ucx 2.675 + 2.676 +# This tag can be used to specify the character encoding of the source files 2.677 +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 2.678 +# also the default input encoding. Doxygen uses libiconv (or the iconv built 2.679 +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 2.680 +# the list of possible encodings. 2.681 + 2.682 +INPUT_ENCODING = UTF-8 2.683 + 2.684 +# If the value of the INPUT tag contains directories, you can use the 2.685 +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 2.686 +# and *.h) to filter out the source-files in the directories. If left 2.687 +# blank the following patterns are tested: 2.688 +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh 2.689 +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py 2.690 +# *.f90 *.f *.for *.vhd *.vhdl 2.691 + 2.692 +FILE_PATTERNS = 2.693 + 2.694 +# The RECURSIVE tag can be used to turn specify whether or not subdirectories 2.695 +# should be searched for input files as well. Possible values are YES and NO. 2.696 +# If left blank NO is used. 2.697 + 2.698 +RECURSIVE = YES 2.699 + 2.700 +# The EXCLUDE tag can be used to specify files and/or directories that should be 2.701 +# excluded from the INPUT source files. This way you can easily exclude a 2.702 +# subdirectory from a directory tree whose root is specified with the INPUT tag. 2.703 +# Note that relative paths are relative to the directory from which doxygen is 2.704 +# run. 2.705 + 2.706 +EXCLUDE = 2.707 + 2.708 +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 2.709 +# directories that are symbolic links (a Unix file system feature) are excluded 2.710 +# from the input. 2.711 + 2.712 +EXCLUDE_SYMLINKS = NO 2.713 + 2.714 +# If the value of the INPUT tag contains directories, you can use the 2.715 +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 2.716 +# certain files from those directories. Note that the wildcards are matched 2.717 +# against the file with absolute path, so to exclude all test directories 2.718 +# for example use the pattern */test/* 2.719 + 2.720 +EXCLUDE_PATTERNS = 2.721 + 2.722 +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 2.723 +# (namespaces, classes, functions, etc.) that should be excluded from the 2.724 +# output. The symbol name can be a fully qualified name, a word, or if the 2.725 +# wildcard * is used, a substring. Examples: ANamespace, AClass, 2.726 +# AClass::ANamespace, ANamespace::*Test 2.727 + 2.728 +EXCLUDE_SYMBOLS = 2.729 + 2.730 +# The EXAMPLE_PATH tag can be used to specify one or more files or 2.731 +# directories that contain example code fragments that are included (see 2.732 +# the \include command). 2.733 + 2.734 +EXAMPLE_PATH = 2.735 + 2.736 +# If the value of the EXAMPLE_PATH tag contains directories, you can use the 2.737 +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 2.738 +# and *.h) to filter out the source-files in the directories. If left 2.739 +# blank all files are included. 2.740 + 2.741 +EXAMPLE_PATTERNS = 2.742 + 2.743 +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 2.744 +# searched for input files to be used with the \include or \dontinclude 2.745 +# commands irrespective of the value of the RECURSIVE tag. 2.746 +# Possible values are YES and NO. If left blank NO is used. 2.747 + 2.748 +EXAMPLE_RECURSIVE = NO 2.749 + 2.750 +# The IMAGE_PATH tag can be used to specify one or more files or 2.751 +# directories that contain image that are included in the documentation (see 2.752 +# the \image command). 2.753 + 2.754 +IMAGE_PATH = 2.755 + 2.756 +# The INPUT_FILTER tag can be used to specify a program that doxygen should 2.757 +# invoke to filter for each input file. Doxygen will invoke the filter program 2.758 +# by executing (via popen()) the command <filter> <input-file>, where <filter> 2.759 +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 2.760 +# input file. Doxygen will then use the output that the filter program writes 2.761 +# to standard output. 2.762 +# If FILTER_PATTERNS is specified, this tag will be 2.763 +# ignored. 2.764 + 2.765 +INPUT_FILTER = 2.766 + 2.767 +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 2.768 +# basis. 2.769 +# Doxygen will compare the file name with each pattern and apply the 2.770 +# filter if there is a match. 2.771 +# The filters are a list of the form: 2.772 +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 2.773 +# info on how filters are used. If FILTER_PATTERNS is empty or if 2.774 +# non of the patterns match the file name, INPUT_FILTER is applied. 2.775 + 2.776 +FILTER_PATTERNS = 2.777 + 2.778 +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 2.779 +# INPUT_FILTER) will be used to filter the input files when producing source 2.780 +# files to browse (i.e. when SOURCE_BROWSER is set to YES). 2.781 + 2.782 +FILTER_SOURCE_FILES = NO 2.783 + 2.784 +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file 2.785 +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) 2.786 +# and it is also possible to disable source filtering for a specific pattern 2.787 +# using *.ext= (so without naming a filter). This option only has effect when 2.788 +# FILTER_SOURCE_FILES is enabled. 2.789 + 2.790 +FILTER_SOURCE_PATTERNS = 2.791 + 2.792 +#--------------------------------------------------------------------------- 2.793 +# configuration options related to source browsing 2.794 +#--------------------------------------------------------------------------- 2.795 + 2.796 +# If the SOURCE_BROWSER tag is set to YES then a list of source files will 2.797 +# be generated. Documented entities will be cross-referenced with these sources. 2.798 +# Note: To get rid of all source code in the generated output, make sure also 2.799 +# VERBATIM_HEADERS is set to NO. 2.800 + 2.801 +SOURCE_BROWSER = NO 2.802 + 2.803 +# Setting the INLINE_SOURCES tag to YES will include the body 2.804 +# of functions and classes directly in the documentation. 2.805 + 2.806 +INLINE_SOURCES = NO 2.807 + 2.808 +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 2.809 +# doxygen to hide any special comment blocks from generated source code 2.810 +# fragments. Normal C and C++ comments will always remain visible. 2.811 + 2.812 +STRIP_CODE_COMMENTS = YES 2.813 + 2.814 +# If the REFERENCED_BY_RELATION tag is set to YES 2.815 +# then for each documented function all documented 2.816 +# functions referencing it will be listed. 2.817 + 2.818 +REFERENCED_BY_RELATION = NO 2.819 + 2.820 +# If the REFERENCES_RELATION tag is set to YES 2.821 +# then for each documented function all documented entities 2.822 +# called/used by that function will be listed. 2.823 + 2.824 +REFERENCES_RELATION = NO 2.825 + 2.826 +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 2.827 +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 2.828 +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 2.829 +# link to the source code. 2.830 +# Otherwise they will link to the documentation. 2.831 + 2.832 +REFERENCES_LINK_SOURCE = YES 2.833 + 2.834 +# If the USE_HTAGS tag is set to YES then the references to source code 2.835 +# will point to the HTML generated by the htags(1) tool instead of doxygen 2.836 +# built-in source browser. The htags tool is part of GNU's global source 2.837 +# tagging system (see http://www.gnu.org/software/global/global.html). You 2.838 +# will need version 4.8.6 or higher. 2.839 + 2.840 +USE_HTAGS = NO 2.841 + 2.842 +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 2.843 +# will generate a verbatim copy of the header file for each class for 2.844 +# which an include is specified. Set to NO to disable this. 2.845 + 2.846 +VERBATIM_HEADERS = YES 2.847 + 2.848 +#--------------------------------------------------------------------------- 2.849 +# configuration options related to the alphabetical class index 2.850 +#--------------------------------------------------------------------------- 2.851 + 2.852 +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 2.853 +# of all compounds will be generated. Enable this if the project 2.854 +# contains a lot of classes, structs, unions or interfaces. 2.855 + 2.856 +ALPHABETICAL_INDEX = YES 2.857 + 2.858 +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 2.859 +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 2.860 +# in which this list will be split (can be a number in the range [1..20]) 2.861 + 2.862 +COLS_IN_ALPHA_INDEX = 5 2.863 + 2.864 +# In case all classes in a project start with a common prefix, all 2.865 +# classes will be put under the same header in the alphabetical index. 2.866 +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 2.867 +# should be ignored while generating the index headers. 2.868 + 2.869 +IGNORE_PREFIX = 2.870 + 2.871 +#--------------------------------------------------------------------------- 2.872 +# configuration options related to the HTML output 2.873 +#--------------------------------------------------------------------------- 2.874 + 2.875 +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 2.876 +# generate HTML output. 2.877 + 2.878 +GENERATE_HTML = YES 2.879 + 2.880 +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 2.881 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 2.882 +# put in front of it. If left blank `html' will be used as the default path. 2.883 + 2.884 +HTML_OUTPUT = html 2.885 + 2.886 +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 2.887 +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 2.888 +# doxygen will generate files with .html extension. 2.889 + 2.890 +HTML_FILE_EXTENSION = .html 2.891 + 2.892 +# The HTML_HEADER tag can be used to specify a personal HTML header for 2.893 +# each generated HTML page. If it is left blank doxygen will generate a 2.894 +# standard header. Note that when using a custom header you are responsible 2.895 +# for the proper inclusion of any scripts and style sheets that doxygen 2.896 +# needs, which is dependent on the configuration options used. 2.897 +# It is advised to generate a default header using "doxygen -w html 2.898 +# header.html footer.html stylesheet.css YourConfigFile" and then modify 2.899 +# that header. Note that the header is subject to change so you typically 2.900 +# have to redo this when upgrading to a newer version of doxygen or when 2.901 +# changing the value of configuration settings such as GENERATE_TREEVIEW! 2.902 + 2.903 +HTML_HEADER = 2.904 + 2.905 +# The HTML_FOOTER tag can be used to specify a personal HTML footer for 2.906 +# each generated HTML page. If it is left blank doxygen will generate a 2.907 +# standard footer. 2.908 + 2.909 +HTML_FOOTER = 2.910 + 2.911 +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 2.912 +# style sheet that is used by each HTML page. It can be used to 2.913 +# fine-tune the look of the HTML output. If the tag is left blank doxygen 2.914 +# will generate a default style sheet. Note that doxygen will try to copy 2.915 +# the style sheet file to the HTML output directory, so don't put your own 2.916 +# style sheet in the HTML output directory as well, or it will be erased! 2.917 + 2.918 +HTML_STYLESHEET = 2.919 + 2.920 +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or 2.921 +# other source files which should be copied to the HTML output directory. Note 2.922 +# that these files will be copied to the base HTML output directory. Use the 2.923 +# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these 2.924 +# files. In the HTML_STYLESHEET file, use the file name only. Also note that 2.925 +# the files will be copied as-is; there are no commands or markers available. 2.926 + 2.927 +HTML_EXTRA_FILES = 2.928 + 2.929 +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 2.930 +# Doxygen will adjust the colors in the style sheet and background images 2.931 +# according to this color. Hue is specified as an angle on a colorwheel, 2.932 +# see http://en.wikipedia.org/wiki/Hue for more information. 2.933 +# For instance the value 0 represents red, 60 is yellow, 120 is green, 2.934 +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. 2.935 +# The allowed range is 0 to 359. 2.936 + 2.937 +HTML_COLORSTYLE_HUE = 220 2.938 + 2.939 +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of 2.940 +# the colors in the HTML output. For a value of 0 the output will use 2.941 +# grayscales only. A value of 255 will produce the most vivid colors. 2.942 + 2.943 +HTML_COLORSTYLE_SAT = 100 2.944 + 2.945 +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 2.946 +# the luminance component of the colors in the HTML output. Values below 2.947 +# 100 gradually make the output lighter, whereas values above 100 make 2.948 +# the output darker. The value divided by 100 is the actual gamma applied, 2.949 +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, 2.950 +# and 100 does not change the gamma. 2.951 + 2.952 +HTML_COLORSTYLE_GAMMA = 80 2.953 + 2.954 +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML 2.955 +# page will contain the date and time when the page was generated. Setting 2.956 +# this to NO can help when comparing the output of multiple runs. 2.957 + 2.958 +HTML_TIMESTAMP = YES 2.959 + 2.960 +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 2.961 +# documentation will contain sections that can be hidden and shown after the 2.962 +# page has loaded. For this to work a browser that supports 2.963 +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 2.964 +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). 2.965 + 2.966 +HTML_DYNAMIC_SECTIONS = NO 2.967 + 2.968 +# If the GENERATE_DOCSET tag is set to YES, additional index files 2.969 +# will be generated that can be used as input for Apple's Xcode 3 2.970 +# integrated development environment, introduced with OSX 10.5 (Leopard). 2.971 +# To create a documentation set, doxygen will generate a Makefile in the 2.972 +# HTML output directory. Running make will produce the docset in that 2.973 +# directory and running "make install" will install the docset in 2.974 +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 2.975 +# it at startup. 2.976 +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 2.977 +# for more information. 2.978 + 2.979 +GENERATE_DOCSET = NO 2.980 + 2.981 +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 2.982 +# feed. A documentation feed provides an umbrella under which multiple 2.983 +# documentation sets from a single provider (such as a company or product suite) 2.984 +# can be grouped. 2.985 + 2.986 +DOCSET_FEEDNAME = "Doxygen generated docs" 2.987 + 2.988 +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 2.989 +# should uniquely identify the documentation set bundle. This should be a 2.990 +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 2.991 +# will append .docset to the name. 2.992 + 2.993 +DOCSET_BUNDLE_ID = org.doxygen.Project 2.994 + 2.995 +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify 2.996 +# the documentation publisher. This should be a reverse domain-name style 2.997 +# string, e.g. com.mycompany.MyDocSet.documentation. 2.998 + 2.999 +DOCSET_PUBLISHER_ID = org.doxygen.Publisher 2.1000 + 2.1001 +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. 2.1002 + 2.1003 +DOCSET_PUBLISHER_NAME = Publisher 2.1004 + 2.1005 +# If the GENERATE_HTMLHELP tag is set to YES, additional index files 2.1006 +# will be generated that can be used as input for tools like the 2.1007 +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 2.1008 +# of the generated HTML documentation. 2.1009 + 2.1010 +GENERATE_HTMLHELP = NO 2.1011 + 2.1012 +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 2.1013 +# be used to specify the file name of the resulting .chm file. You 2.1014 +# can add a path in front of the file if the result should not be 2.1015 +# written to the html output directory. 2.1016 + 2.1017 +CHM_FILE = 2.1018 + 2.1019 +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 2.1020 +# be used to specify the location (absolute path including file name) of 2.1021 +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 2.1022 +# the HTML help compiler on the generated index.hhp. 2.1023 + 2.1024 +HHC_LOCATION = 2.1025 + 2.1026 +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 2.1027 +# controls if a separate .chi index file is generated (YES) or that 2.1028 +# it should be included in the master .chm file (NO). 2.1029 + 2.1030 +GENERATE_CHI = NO 2.1031 + 2.1032 +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 2.1033 +# is used to encode HtmlHelp index (hhk), content (hhc) and project file 2.1034 +# content. 2.1035 + 2.1036 +CHM_INDEX_ENCODING = 2.1037 + 2.1038 +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 2.1039 +# controls whether a binary table of contents is generated (YES) or a 2.1040 +# normal table of contents (NO) in the .chm file. 2.1041 + 2.1042 +BINARY_TOC = NO 2.1043 + 2.1044 +# The TOC_EXPAND flag can be set to YES to add extra items for group members 2.1045 +# to the contents of the HTML help documentation and to the tree view. 2.1046 + 2.1047 +TOC_EXPAND = NO 2.1048 + 2.1049 +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 2.1050 +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated 2.1051 +# that can be used as input for Qt's qhelpgenerator to generate a 2.1052 +# Qt Compressed Help (.qch) of the generated HTML documentation. 2.1053 + 2.1054 +GENERATE_QHP = NO 2.1055 + 2.1056 +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 2.1057 +# be used to specify the file name of the resulting .qch file. 2.1058 +# The path specified is relative to the HTML output folder. 2.1059 + 2.1060 +QCH_FILE = 2.1061 + 2.1062 +# The QHP_NAMESPACE tag specifies the namespace to use when generating 2.1063 +# Qt Help Project output. For more information please see 2.1064 +# http://doc.trolltech.com/qthelpproject.html#namespace 2.1065 + 2.1066 +QHP_NAMESPACE = org.doxygen.Project 2.1067 + 2.1068 +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 2.1069 +# Qt Help Project output. For more information please see 2.1070 +# http://doc.trolltech.com/qthelpproject.html#virtual-folders 2.1071 + 2.1072 +QHP_VIRTUAL_FOLDER = doc 2.1073 + 2.1074 +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to 2.1075 +# add. For more information please see 2.1076 +# http://doc.trolltech.com/qthelpproject.html#custom-filters 2.1077 + 2.1078 +QHP_CUST_FILTER_NAME = 2.1079 + 2.1080 +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 2.1081 +# custom filter to add. For more information please see 2.1082 +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> 2.1083 +# Qt Help Project / Custom Filters</a>. 2.1084 + 2.1085 +QHP_CUST_FILTER_ATTRS = 2.1086 + 2.1087 +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 2.1088 +# project's 2.1089 +# filter section matches. 2.1090 +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 2.1091 +# Qt Help Project / Filter Attributes</a>. 2.1092 + 2.1093 +QHP_SECT_FILTER_ATTRS = 2.1094 + 2.1095 +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 2.1096 +# be used to specify the location of Qt's qhelpgenerator. 2.1097 +# If non-empty doxygen will try to run qhelpgenerator on the generated 2.1098 +# .qhp file. 2.1099 + 2.1100 +QHG_LOCATION = 2.1101 + 2.1102 +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files 2.1103 +# will be generated, which together with the HTML files, form an Eclipse help 2.1104 +# plugin. To install this plugin and make it available under the help contents 2.1105 +# menu in Eclipse, the contents of the directory containing the HTML and XML 2.1106 +# files needs to be copied into the plugins directory of eclipse. The name of 2.1107 +# the directory within the plugins directory should be the same as 2.1108 +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before 2.1109 +# the help appears. 2.1110 + 2.1111 +GENERATE_ECLIPSEHELP = NO 2.1112 + 2.1113 +# A unique identifier for the eclipse help plugin. When installing the plugin 2.1114 +# the directory name containing the HTML and XML files should also have 2.1115 +# this name. 2.1116 + 2.1117 +ECLIPSE_DOC_ID = org.doxygen.Project 2.1118 + 2.1119 +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) 2.1120 +# at top of each HTML page. The value NO (the default) enables the index and 2.1121 +# the value YES disables it. Since the tabs have the same information as the 2.1122 +# navigation tree you can set this option to NO if you already set 2.1123 +# GENERATE_TREEVIEW to YES. 2.1124 + 2.1125 +DISABLE_INDEX = NO 2.1126 + 2.1127 +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 2.1128 +# structure should be generated to display hierarchical information. 2.1129 +# If the tag value is set to YES, a side panel will be generated 2.1130 +# containing a tree-like index structure (just like the one that 2.1131 +# is generated for HTML Help). For this to work a browser that supports 2.1132 +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 2.1133 +# Windows users are probably better off using the HTML help feature. 2.1134 +# Since the tree basically has the same information as the tab index you 2.1135 +# could consider to set DISABLE_INDEX to NO when enabling this option. 2.1136 + 2.1137 +GENERATE_TREEVIEW = NO 2.1138 + 2.1139 +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values 2.1140 +# (range [0,1..20]) that doxygen will group on one line in the generated HTML 2.1141 +# documentation. Note that a value of 0 will completely suppress the enum 2.1142 +# values from appearing in the overview section. 2.1143 + 2.1144 +ENUM_VALUES_PER_LINE = 4 2.1145 + 2.1146 + 2.1147 +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 2.1148 +# used to set the initial width (in pixels) of the frame in which the tree 2.1149 +# is shown. 2.1150 + 2.1151 +TREEVIEW_WIDTH = 250 2.1152 + 2.1153 +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open 2.1154 +# links to external symbols imported via tag files in a separate window. 2.1155 + 2.1156 +EXT_LINKS_IN_WINDOW = NO 2.1157 + 2.1158 +# Use this tag to change the font size of Latex formulas included 2.1159 +# as images in the HTML documentation. The default is 10. Note that 2.1160 +# when you change the font size after a successful doxygen run you need 2.1161 +# to manually remove any form_*.png images from the HTML output directory 2.1162 +# to force them to be regenerated. 2.1163 + 2.1164 +FORMULA_FONTSIZE = 10 2.1165 + 2.1166 +# Use the FORMULA_TRANPARENT tag to determine whether or not the images 2.1167 +# generated for formulas are transparent PNGs. Transparent PNGs are 2.1168 +# not supported properly for IE 6.0, but are supported on all modern browsers. 2.1169 +# Note that when changing this option you need to delete any form_*.png files 2.1170 +# in the HTML output before the changes have effect. 2.1171 + 2.1172 +FORMULA_TRANSPARENT = YES 2.1173 + 2.1174 +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax 2.1175 +# (see http://www.mathjax.org) which uses client side Javascript for the 2.1176 +# rendering instead of using prerendered bitmaps. Use this if you do not 2.1177 +# have LaTeX installed or if you want to formulas look prettier in the HTML 2.1178 +# output. When enabled you also need to install MathJax separately and 2.1179 +# configure the path to it using the MATHJAX_RELPATH option. 2.1180 + 2.1181 +USE_MATHJAX = NO 2.1182 + 2.1183 +# When MathJax is enabled you need to specify the location relative to the 2.1184 +# HTML output directory using the MATHJAX_RELPATH option. The destination 2.1185 +# directory should contain the MathJax.js script. For instance, if the mathjax 2.1186 +# directory is located at the same level as the HTML output directory, then 2.1187 +# MATHJAX_RELPATH should be ../mathjax. The default value points to the 2.1188 +# mathjax.org site, so you can quickly see the result without installing 2.1189 +# MathJax, but it is strongly recommended to install a local copy of MathJax 2.1190 +# before deployment. 2.1191 + 2.1192 +MATHJAX_RELPATH = http://www.mathjax.org/mathjax 2.1193 + 2.1194 +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension 2.1195 +# names that should be enabled during MathJax rendering. 2.1196 + 2.1197 +MATHJAX_EXTENSIONS = 2.1198 + 2.1199 +# When the SEARCHENGINE tag is enabled doxygen will generate a search box 2.1200 +# for the HTML output. The underlying search engine uses javascript 2.1201 +# and DHTML and should work on any modern browser. Note that when using 2.1202 +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 2.1203 +# (GENERATE_DOCSET) there is already a search function so this one should 2.1204 +# typically be disabled. For large projects the javascript based search engine 2.1205 +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. 2.1206 + 2.1207 +SEARCHENGINE = YES 2.1208 + 2.1209 +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be 2.1210 +# implemented using a PHP enabled web server instead of at the web client 2.1211 +# using Javascript. Doxygen will generate the search PHP script and index 2.1212 +# file to put on the web server. The advantage of the server 2.1213 +# based approach is that it scales better to large projects and allows 2.1214 +# full text search. The disadvantages are that it is more difficult to setup 2.1215 +# and does not have live searching capabilities. 2.1216 + 2.1217 +SERVER_BASED_SEARCH = NO 2.1218 + 2.1219 +#--------------------------------------------------------------------------- 2.1220 +# configuration options related to the LaTeX output 2.1221 +#--------------------------------------------------------------------------- 2.1222 + 2.1223 +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 2.1224 +# generate Latex output. 2.1225 + 2.1226 +GENERATE_LATEX = NO 2.1227 + 2.1228 +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 2.1229 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 2.1230 +# put in front of it. If left blank `latex' will be used as the default path. 2.1231 + 2.1232 +LATEX_OUTPUT = latex 2.1233 + 2.1234 +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 2.1235 +# invoked. If left blank `latex' will be used as the default command name. 2.1236 +# Note that when enabling USE_PDFLATEX this option is only used for 2.1237 +# generating bitmaps for formulas in the HTML output, but not in the 2.1238 +# Makefile that is written to the output directory. 2.1239 + 2.1240 +LATEX_CMD_NAME = latex 2.1241 + 2.1242 +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 2.1243 +# generate index for LaTeX. If left blank `makeindex' will be used as the 2.1244 +# default command name. 2.1245 + 2.1246 +MAKEINDEX_CMD_NAME = makeindex 2.1247 + 2.1248 +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 2.1249 +# LaTeX documents. This may be useful for small projects and may help to 2.1250 +# save some trees in general. 2.1251 + 2.1252 +COMPACT_LATEX = NO 2.1253 + 2.1254 +# The PAPER_TYPE tag can be used to set the paper type that is used 2.1255 +# by the printer. Possible values are: a4, letter, legal and 2.1256 +# executive. If left blank a4wide will be used. 2.1257 + 2.1258 +PAPER_TYPE = a4 2.1259 + 2.1260 +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 2.1261 +# packages that should be included in the LaTeX output. 2.1262 + 2.1263 +EXTRA_PACKAGES = 2.1264 + 2.1265 +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 2.1266 +# the generated latex document. The header should contain everything until 2.1267 +# the first chapter. If it is left blank doxygen will generate a 2.1268 +# standard header. Notice: only use this tag if you know what you are doing! 2.1269 + 2.1270 +LATEX_HEADER = 2.1271 + 2.1272 +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for 2.1273 +# the generated latex document. The footer should contain everything after 2.1274 +# the last chapter. If it is left blank doxygen will generate a 2.1275 +# standard footer. Notice: only use this tag if you know what you are doing! 2.1276 + 2.1277 +LATEX_FOOTER = 2.1278 + 2.1279 +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 2.1280 +# is prepared for conversion to pdf (using ps2pdf). The pdf file will 2.1281 +# contain links (just like the HTML output) instead of page references 2.1282 +# This makes the output suitable for online browsing using a pdf viewer. 2.1283 + 2.1284 +PDF_HYPERLINKS = YES 2.1285 + 2.1286 +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 2.1287 +# plain latex in the generated Makefile. Set this option to YES to get a 2.1288 +# higher quality PDF documentation. 2.1289 + 2.1290 +USE_PDFLATEX = YES 2.1291 + 2.1292 +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 2.1293 +# command to the generated LaTeX files. This will instruct LaTeX to keep 2.1294 +# running if errors occur, instead of asking the user for help. 2.1295 +# This option is also used when generating formulas in HTML. 2.1296 + 2.1297 +LATEX_BATCHMODE = NO 2.1298 + 2.1299 +# If LATEX_HIDE_INDICES is set to YES then doxygen will not 2.1300 +# include the index chapters (such as File Index, Compound Index, etc.) 2.1301 +# in the output. 2.1302 + 2.1303 +LATEX_HIDE_INDICES = NO 2.1304 + 2.1305 +# If LATEX_SOURCE_CODE is set to YES then doxygen will include 2.1306 +# source code with syntax highlighting in the LaTeX output. 2.1307 +# Note that which sources are shown also depends on other settings 2.1308 +# such as SOURCE_BROWSER. 2.1309 + 2.1310 +LATEX_SOURCE_CODE = NO 2.1311 + 2.1312 +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the 2.1313 +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See 2.1314 +# http://en.wikipedia.org/wiki/BibTeX for more info. 2.1315 + 2.1316 +LATEX_BIB_STYLE = plain 2.1317 + 2.1318 +#--------------------------------------------------------------------------- 2.1319 +# configuration options related to the RTF output 2.1320 +#--------------------------------------------------------------------------- 2.1321 + 2.1322 +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 2.1323 +# The RTF output is optimized for Word 97 and may not look very pretty with 2.1324 +# other RTF readers or editors. 2.1325 + 2.1326 +GENERATE_RTF = NO 2.1327 + 2.1328 +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 2.1329 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 2.1330 +# put in front of it. If left blank `rtf' will be used as the default path. 2.1331 + 2.1332 +RTF_OUTPUT = rtf 2.1333 + 2.1334 +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 2.1335 +# RTF documents. This may be useful for small projects and may help to 2.1336 +# save some trees in general. 2.1337 + 2.1338 +COMPACT_RTF = NO 2.1339 + 2.1340 +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 2.1341 +# will contain hyperlink fields. The RTF file will 2.1342 +# contain links (just like the HTML output) instead of page references. 2.1343 +# This makes the output suitable for online browsing using WORD or other 2.1344 +# programs which support those fields. 2.1345 +# Note: wordpad (write) and others do not support links. 2.1346 + 2.1347 +RTF_HYPERLINKS = NO 2.1348 + 2.1349 +# Load style sheet definitions from file. Syntax is similar to doxygen's 2.1350 +# config file, i.e. a series of assignments. You only have to provide 2.1351 +# replacements, missing definitions are set to their default value. 2.1352 + 2.1353 +RTF_STYLESHEET_FILE = 2.1354 + 2.1355 +# Set optional variables used in the generation of an rtf document. 2.1356 +# Syntax is similar to doxygen's config file. 2.1357 + 2.1358 +RTF_EXTENSIONS_FILE = 2.1359 + 2.1360 +#--------------------------------------------------------------------------- 2.1361 +# configuration options related to the man page output 2.1362 +#--------------------------------------------------------------------------- 2.1363 + 2.1364 +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 2.1365 +# generate man pages 2.1366 + 2.1367 +GENERATE_MAN = NO 2.1368 + 2.1369 +# The MAN_OUTPUT tag is used to specify where the man pages will be put. 2.1370 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 2.1371 +# put in front of it. If left blank `man' will be used as the default path. 2.1372 + 2.1373 +MAN_OUTPUT = man 2.1374 + 2.1375 +# The MAN_EXTENSION tag determines the extension that is added to 2.1376 +# the generated man pages (default is the subroutine's section .3) 2.1377 + 2.1378 +MAN_EXTENSION = .3 2.1379 + 2.1380 +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 2.1381 +# then it will generate one additional man file for each entity 2.1382 +# documented in the real man page(s). These additional files 2.1383 +# only source the real man page, but without them the man command 2.1384 +# would be unable to find the correct page. The default is NO. 2.1385 + 2.1386 +MAN_LINKS = NO 2.1387 + 2.1388 +#--------------------------------------------------------------------------- 2.1389 +# configuration options related to the XML output 2.1390 +#--------------------------------------------------------------------------- 2.1391 + 2.1392 +# If the GENERATE_XML tag is set to YES Doxygen will 2.1393 +# generate an XML file that captures the structure of 2.1394 +# the code including all documentation. 2.1395 + 2.1396 +GENERATE_XML = NO 2.1397 + 2.1398 +# The XML_OUTPUT tag is used to specify where the XML pages will be put. 2.1399 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be 2.1400 +# put in front of it. If left blank `xml' will be used as the default path. 2.1401 + 2.1402 +XML_OUTPUT = xml 2.1403 + 2.1404 +# The XML_SCHEMA tag can be used to specify an XML schema, 2.1405 +# which can be used by a validating XML parser to check the 2.1406 +# syntax of the XML files. 2.1407 + 2.1408 +XML_SCHEMA = 2.1409 + 2.1410 +# The XML_DTD tag can be used to specify an XML DTD, 2.1411 +# which can be used by a validating XML parser to check the 2.1412 +# syntax of the XML files. 2.1413 + 2.1414 +XML_DTD = 2.1415 + 2.1416 +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 2.1417 +# dump the program listings (including syntax highlighting 2.1418 +# and cross-referencing information) to the XML output. Note that 2.1419 +# enabling this will significantly increase the size of the XML output. 2.1420 + 2.1421 +XML_PROGRAMLISTING = YES 2.1422 + 2.1423 +#--------------------------------------------------------------------------- 2.1424 +# configuration options for the AutoGen Definitions output 2.1425 +#--------------------------------------------------------------------------- 2.1426 + 2.1427 +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 2.1428 +# generate an AutoGen Definitions (see autogen.sf.net) file 2.1429 +# that captures the structure of the code including all 2.1430 +# documentation. Note that this feature is still experimental 2.1431 +# and incomplete at the moment. 2.1432 + 2.1433 +GENERATE_AUTOGEN_DEF = NO 2.1434 + 2.1435 +#--------------------------------------------------------------------------- 2.1436 +# configuration options related to the Perl module output 2.1437 +#--------------------------------------------------------------------------- 2.1438 + 2.1439 +# If the GENERATE_PERLMOD tag is set to YES Doxygen will 2.1440 +# generate a Perl module file that captures the structure of 2.1441 +# the code including all documentation. Note that this 2.1442 +# feature is still experimental and incomplete at the 2.1443 +# moment. 2.1444 + 2.1445 +GENERATE_PERLMOD = NO 2.1446 + 2.1447 +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 2.1448 +# the necessary Makefile rules, Perl scripts and LaTeX code to be able 2.1449 +# to generate PDF and DVI output from the Perl module output. 2.1450 + 2.1451 +PERLMOD_LATEX = NO 2.1452 + 2.1453 +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 2.1454 +# nicely formatted so it can be parsed by a human reader. 2.1455 +# This is useful 2.1456 +# if you want to understand what is going on. 2.1457 +# On the other hand, if this 2.1458 +# tag is set to NO the size of the Perl module output will be much smaller 2.1459 +# and Perl will parse it just the same. 2.1460 + 2.1461 +PERLMOD_PRETTY = YES 2.1462 + 2.1463 +# The names of the make variables in the generated doxyrules.make file 2.1464 +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 2.1465 +# This is useful so different doxyrules.make files included by the same 2.1466 +# Makefile don't overwrite each other's variables. 2.1467 + 2.1468 +PERLMOD_MAKEVAR_PREFIX = 2.1469 + 2.1470 +#--------------------------------------------------------------------------- 2.1471 +# Configuration options related to the preprocessor 2.1472 +#--------------------------------------------------------------------------- 2.1473 + 2.1474 +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 2.1475 +# evaluate all C-preprocessor directives found in the sources and include 2.1476 +# files. 2.1477 + 2.1478 +ENABLE_PREPROCESSING = YES 2.1479 + 2.1480 +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 2.1481 +# names in the source code. If set to NO (the default) only conditional 2.1482 +# compilation will be performed. Macro expansion can be done in a controlled 2.1483 +# way by setting EXPAND_ONLY_PREDEF to YES. 2.1484 + 2.1485 +MACRO_EXPANSION = NO 2.1486 + 2.1487 +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 2.1488 +# then the macro expansion is limited to the macros specified with the 2.1489 +# PREDEFINED and EXPAND_AS_DEFINED tags. 2.1490 + 2.1491 +EXPAND_ONLY_PREDEF = NO 2.1492 + 2.1493 +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 2.1494 +# pointed to by INCLUDE_PATH will be searched when a #include is found. 2.1495 + 2.1496 +SEARCH_INCLUDES = YES 2.1497 + 2.1498 +# The INCLUDE_PATH tag can be used to specify one or more directories that 2.1499 +# contain include files that are not input files but should be processed by 2.1500 +# the preprocessor. 2.1501 + 2.1502 +INCLUDE_PATH = 2.1503 + 2.1504 +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 2.1505 +# patterns (like *.h and *.hpp) to filter out the header-files in the 2.1506 +# directories. If left blank, the patterns specified with FILE_PATTERNS will 2.1507 +# be used. 2.1508 + 2.1509 +INCLUDE_FILE_PATTERNS = 2.1510 + 2.1511 +# The PREDEFINED tag can be used to specify one or more macro names that 2.1512 +# are defined before the preprocessor is started (similar to the -D option of 2.1513 +# gcc). The argument of the tag is a list of macros of the form: name 2.1514 +# or name=definition (no spaces). If the definition and the = are 2.1515 +# omitted =1 is assumed. To prevent a macro definition from being 2.1516 +# undefined via #undef or recursively expanded use the := operator 2.1517 +# instead of the = operator. 2.1518 + 2.1519 +PREDEFINED = 2.1520 + 2.1521 +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 2.1522 +# this tag can be used to specify a list of macro names that should be expanded. 2.1523 +# The macro definition that is found in the sources will be used. 2.1524 +# Use the PREDEFINED tag if you want to use a different macro definition that 2.1525 +# overrules the definition found in the source code. 2.1526 + 2.1527 +EXPAND_AS_DEFINED = 2.1528 + 2.1529 +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 2.1530 +# doxygen's preprocessor will remove all references to function-like macros 2.1531 +# that are alone on a line, have an all uppercase name, and do not end with a 2.1532 +# semicolon, because these will confuse the parser if not removed. 2.1533 + 2.1534 +SKIP_FUNCTION_MACROS = YES 2.1535 + 2.1536 +#--------------------------------------------------------------------------- 2.1537 +# Configuration::additions related to external references 2.1538 +#--------------------------------------------------------------------------- 2.1539 + 2.1540 +# The TAGFILES option can be used to specify one or more tagfiles. 2.1541 +# Optionally an initial location of the external documentation 2.1542 +# can be added for each tagfile. The format of a tag file without 2.1543 +# this location is as follows: 2.1544 +# 2.1545 +# TAGFILES = file1 file2 ... 2.1546 +# Adding location for the tag files is done as follows: 2.1547 +# 2.1548 +# TAGFILES = file1=loc1 "file2 = loc2" ... 2.1549 +# where "loc1" and "loc2" can be relative or absolute paths or 2.1550 +# URLs. If a location is present for each tag, the installdox tool 2.1551 +# does not have to be run to correct the links. 2.1552 +# Note that each tag file must have a unique name 2.1553 +# (where the name does NOT include the path) 2.1554 +# If a tag file is not located in the directory in which doxygen 2.1555 +# is run, you must also specify the path to the tagfile here. 2.1556 + 2.1557 +TAGFILES = 2.1558 + 2.1559 +# When a file name is specified after GENERATE_TAGFILE, doxygen will create 2.1560 +# a tag file that is based on the input files it reads. 2.1561 + 2.1562 +GENERATE_TAGFILE = 2.1563 + 2.1564 +# If the ALLEXTERNALS tag is set to YES all external classes will be listed 2.1565 +# in the class index. If set to NO only the inherited external classes 2.1566 +# will be listed. 2.1567 + 2.1568 +ALLEXTERNALS = NO 2.1569 + 2.1570 +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 2.1571 +# in the modules index. If set to NO, only the current project's groups will 2.1572 +# be listed. 2.1573 + 2.1574 +EXTERNAL_GROUPS = YES 2.1575 + 2.1576 +# The PERL_PATH should be the absolute path and name of the perl script 2.1577 +# interpreter (i.e. the result of `which perl'). 2.1578 + 2.1579 +PERL_PATH = /usr/bin/perl 2.1580 + 2.1581 +#--------------------------------------------------------------------------- 2.1582 +# Configuration options related to the dot tool 2.1583 +#--------------------------------------------------------------------------- 2.1584 + 2.1585 +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 2.1586 +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 2.1587 +# or super classes. Setting the tag to NO turns the diagrams off. Note that 2.1588 +# this option also works with HAVE_DOT disabled, but it is recommended to 2.1589 +# install and use dot, since it yields more powerful graphs. 2.1590 + 2.1591 +CLASS_DIAGRAMS = YES 2.1592 + 2.1593 +# You can define message sequence charts within doxygen comments using the \msc 2.1594 +# command. Doxygen will then run the mscgen tool (see 2.1595 +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 2.1596 +# documentation. The MSCGEN_PATH tag allows you to specify the directory where 2.1597 +# the mscgen tool resides. If left empty the tool is assumed to be found in the 2.1598 +# default search path. 2.1599 + 2.1600 +MSCGEN_PATH = 2.1601 + 2.1602 +# If set to YES, the inheritance and collaboration graphs will hide 2.1603 +# inheritance and usage relations if the target is undocumented 2.1604 +# or is not a class. 2.1605 + 2.1606 +HIDE_UNDOC_RELATIONS = YES 2.1607 + 2.1608 +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 2.1609 +# available from the path. This tool is part of Graphviz, a graph visualization 2.1610 +# toolkit from AT&T and Lucent Bell Labs. The other options in this section 2.1611 +# have no effect if this option is set to NO (the default) 2.1612 + 2.1613 +HAVE_DOT = NO 2.1614 + 2.1615 +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is 2.1616 +# allowed to run in parallel. When set to 0 (the default) doxygen will 2.1617 +# base this on the number of processors available in the system. You can set it 2.1618 +# explicitly to a value larger than 0 to get control over the balance 2.1619 +# between CPU load and processing speed. 2.1620 + 2.1621 +DOT_NUM_THREADS = 0 2.1622 + 2.1623 +# By default doxygen will use the Helvetica font for all dot files that 2.1624 +# doxygen generates. When you want a differently looking font you can specify 2.1625 +# the font name using DOT_FONTNAME. You need to make sure dot is able to find 2.1626 +# the font, which can be done by putting it in a standard location or by setting 2.1627 +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the 2.1628 +# directory containing the font. 2.1629 + 2.1630 +DOT_FONTNAME = Helvetica 2.1631 + 2.1632 +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 2.1633 +# The default size is 10pt. 2.1634 + 2.1635 +DOT_FONTSIZE = 10 2.1636 + 2.1637 +# By default doxygen will tell dot to use the Helvetica font. 2.1638 +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to 2.1639 +# set the path where dot can find it. 2.1640 + 2.1641 +DOT_FONTPATH = 2.1642 + 2.1643 +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 2.1644 +# will generate a graph for each documented class showing the direct and 2.1645 +# indirect inheritance relations. Setting this tag to YES will force the 2.1646 +# CLASS_DIAGRAMS tag to NO. 2.1647 + 2.1648 +CLASS_GRAPH = YES 2.1649 + 2.1650 +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 2.1651 +# will generate a graph for each documented class showing the direct and 2.1652 +# indirect implementation dependencies (inheritance, containment, and 2.1653 +# class references variables) of the class with other documented classes. 2.1654 + 2.1655 +COLLABORATION_GRAPH = YES 2.1656 + 2.1657 +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 2.1658 +# will generate a graph for groups, showing the direct groups dependencies 2.1659 + 2.1660 +GROUP_GRAPHS = YES 2.1661 + 2.1662 +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 2.1663 +# collaboration diagrams in a style similar to the OMG's Unified Modeling 2.1664 +# Language. 2.1665 + 2.1666 +UML_LOOK = NO 2.1667 + 2.1668 +# If set to YES, the inheritance and collaboration graphs will show the 2.1669 +# relations between templates and their instances. 2.1670 + 2.1671 +TEMPLATE_RELATIONS = NO 2.1672 + 2.1673 +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 2.1674 +# tags are set to YES then doxygen will generate a graph for each documented 2.1675 +# file showing the direct and indirect include dependencies of the file with 2.1676 +# other documented files. 2.1677 + 2.1678 +INCLUDE_GRAPH = YES 2.1679 + 2.1680 +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 2.1681 +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 2.1682 +# documented header file showing the documented files that directly or 2.1683 +# indirectly include this file. 2.1684 + 2.1685 +INCLUDED_BY_GRAPH = YES 2.1686 + 2.1687 +# If the CALL_GRAPH and HAVE_DOT options are set to YES then 2.1688 +# doxygen will generate a call dependency graph for every global function 2.1689 +# or class method. Note that enabling this option will significantly increase 2.1690 +# the time of a run. So in most cases it will be better to enable call graphs 2.1691 +# for selected functions only using the \callgraph command. 2.1692 + 2.1693 +CALL_GRAPH = NO 2.1694 + 2.1695 +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 2.1696 +# doxygen will generate a caller dependency graph for every global function 2.1697 +# or class method. Note that enabling this option will significantly increase 2.1698 +# the time of a run. So in most cases it will be better to enable caller 2.1699 +# graphs for selected functions only using the \callergraph command. 2.1700 + 2.1701 +CALLER_GRAPH = NO 2.1702 + 2.1703 +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 2.1704 +# will generate a graphical hierarchy of all classes instead of a textual one. 2.1705 + 2.1706 +GRAPHICAL_HIERARCHY = YES 2.1707 + 2.1708 +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 2.1709 +# then doxygen will show the dependencies a directory has on other directories 2.1710 +# in a graphical way. The dependency relations are determined by the #include 2.1711 +# relations between the files in the directories. 2.1712 + 2.1713 +DIRECTORY_GRAPH = YES 2.1714 + 2.1715 +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 2.1716 +# generated by dot. Possible values are svg, png, jpg, or gif. 2.1717 +# If left blank png will be used. If you choose svg you need to set 2.1718 +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files 2.1719 +# visible in IE 9+ (other browsers do not have this requirement). 2.1720 + 2.1721 +DOT_IMAGE_FORMAT = png 2.1722 + 2.1723 +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to 2.1724 +# enable generation of interactive SVG images that allow zooming and panning. 2.1725 +# Note that this requires a modern browser other than Internet Explorer. 2.1726 +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you 2.1727 +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files 2.1728 +# visible. Older versions of IE do not have SVG support. 2.1729 + 2.1730 +INTERACTIVE_SVG = NO 2.1731 + 2.1732 +# The tag DOT_PATH can be used to specify the path where the dot tool can be 2.1733 +# found. If left blank, it is assumed the dot tool can be found in the path. 2.1734 + 2.1735 +DOT_PATH = 2.1736 + 2.1737 +# The DOTFILE_DIRS tag can be used to specify one or more directories that 2.1738 +# contain dot files that are included in the documentation (see the 2.1739 +# \dotfile command). 2.1740 + 2.1741 +DOTFILE_DIRS = 2.1742 + 2.1743 +# The MSCFILE_DIRS tag can be used to specify one or more directories that 2.1744 +# contain msc files that are included in the documentation (see the 2.1745 +# \mscfile command). 2.1746 + 2.1747 +MSCFILE_DIRS = 2.1748 + 2.1749 +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 2.1750 +# nodes that will be shown in the graph. If the number of nodes in a graph 2.1751 +# becomes larger than this value, doxygen will truncate the graph, which is 2.1752 +# visualized by representing a node as a red box. Note that doxygen if the 2.1753 +# number of direct children of the root node in a graph is already larger than 2.1754 +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 2.1755 +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. 2.1756 + 2.1757 +DOT_GRAPH_MAX_NODES = 50 2.1758 + 2.1759 +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 2.1760 +# graphs generated by dot. A depth value of 3 means that only nodes reachable 2.1761 +# from the root by following a path via at most 3 edges will be shown. Nodes 2.1762 +# that lay further from the root node will be omitted. Note that setting this 2.1763 +# option to 1 or 2 may greatly reduce the computation time needed for large 2.1764 +# code bases. Also note that the size of a graph can be further restricted by 2.1765 +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. 2.1766 + 2.1767 +MAX_DOT_GRAPH_DEPTH = 0 2.1768 + 2.1769 +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 2.1770 +# background. This is disabled by default, because dot on Windows does not 2.1771 +# seem to support this out of the box. Warning: Depending on the platform used, 2.1772 +# enabling this option may lead to badly anti-aliased labels on the edges of 2.1773 +# a graph (i.e. they become hard to read). 2.1774 + 2.1775 +DOT_TRANSPARENT = NO 2.1776 + 2.1777 +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 2.1778 +# files in one run (i.e. multiple -o and -T options on the command line). This 2.1779 +# makes dot run faster, but since only newer versions of dot (>1.8.10) 2.1780 +# support this, this feature is disabled by default. 2.1781 + 2.1782 +DOT_MULTI_TARGETS = YES 2.1783 + 2.1784 +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 2.1785 +# generate a legend page explaining the meaning of the various boxes and 2.1786 +# arrows in the dot generated graphs. 2.1787 + 2.1788 +GENERATE_LEGEND = YES 2.1789 + 2.1790 +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 2.1791 +# remove the intermediate dot files that are used to generate 2.1792 +# the various graphs. 2.1793 + 2.1794 +DOT_CLEANUP = YES
3.1 Binary file uaplogo.png has changed
4.1 --- a/ucx/map.h Mon Jul 15 16:59:52 2013 +0200 4.2 +++ b/ucx/map.h Wed Jul 17 11:47:02 2013 +0200 4.3 @@ -31,7 +31,7 @@ 4.4 4.5 #include "ucx.h" 4.6 #include "string.h" 4.7 -#include "mempool.h" 4.8 +#include "allocator.h" 4.9 #include <stdio.h> 4.10 4.11 #ifdef __cplusplus
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/ucx/ucx.c Wed Jul 17 11:47:02 2013 +0200 5.3 @@ -0,0 +1,37 @@ 5.4 +/** 5.5 + * @mainpage UAP Common Extensions 5.6 + * Library with common and useful functions, macros and data structures. 5.7 + * <p> 5.8 + * Latest available source:<br/> 5.9 + * <a href="https://develop.uap-core.de/hg/ucx"> 5.10 + * https://develop.uap-core.de/hg/ucx</a> 5.11 + * </p> 5.12 + * 5.13 + * <h2>LICENCE</h2> 5.14 + * 5.15 + * Copyright 2013 Olaf Wintermann. All rights reserved. 5.16 + * 5.17 + * Redistribution and use in source and binary forms, with or without 5.18 + * modification, are permitted provided that the following conditions are met: 5.19 + * 5.20 + * 1. Redistributions of source code must retain the above copyright 5.21 + * notice, this list of conditions and the following disclaimer. 5.22 + * 5.23 + * 2. Redistributions in binary form must reproduce the above copyright 5.24 + * notice, this list of conditions and the following disclaimer in the 5.25 + * documentation and/or other materials provided with the distribution. 5.26 + * 5.27 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 5.28 + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 5.29 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 5.30 + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 5.31 + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 5.32 + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 5.33 + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 5.34 + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 5.35 + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 5.36 + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 5.37 + * POSSIBILITY OF SUCH DAMAGE. 5.38 + */ 5.39 + 5.40 +#include "ucx.h"
6.1 --- a/ucx/ucx.h Mon Jul 15 16:59:52 2013 +0200 6.2 +++ b/ucx/ucx.h Wed Jul 17 11:47:02 2013 +0200 6.3 @@ -25,6 +25,12 @@ 6.4 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 6.5 * POSSIBILITY OF SUCH DAMAGE. 6.6 */ 6.7 +/** 6.8 + * Main UCX Header providing most common definitions. 6.9 + * 6.10 + * @file ucx.h 6.11 + * @author Olaf Wintermann 6.12 + */ 6.13 6.14 #ifndef UCX_H 6.15 #define UCX_H 6.16 @@ -39,19 +45,81 @@ 6.17 extern "C" { 6.18 #endif 6.19 6.20 +/** 6.21 + * Generic loop statement for lists. 6.22 + * 6.23 + * The first argument is the type of the list and its elements (e.g. UcxList). 6.24 + * The structure invariant of the list must be as follows: 6.25 + * <ul> 6.26 + * <li>a first (non-<code>NULL</code>) element</li> 6.27 + * <li>for each element a reference to the <code>next</code> element (the 6.28 + * variable name of the pointer MUST be <code>next</code>)</li> 6.29 + * <li>the last element of the list MUST have the <code>next</code> pointer 6.30 + * set to <code>NULL</code></li> 6.31 + * </ul> 6.32 + * 6.33 + * The second argument is a pointer to the list. In most cases this will be the 6.34 + * pointer to the first element of the list, but it may also be an arbitrary 6.35 + * element of the list. The iteration will then start with that element. 6.36 + * 6.37 + * The third argument is the name of the iteration variable. The scope of 6.38 + * this variable is limited to the <code>UCX_FOREACH</code> statement. 6.39 + * 6.40 + * @param type The type of <b>both</b> the list and the element 6.41 + * @param list The first element of the list 6.42 + * @param elem The variable name of the element 6.43 + */ 6.44 #define UCX_FOREACH(type,list,elem) \ 6.45 for (type elem = list ; elem != NULL ; elem = elem->next) 6.46 6.47 -/* element1,element2,custom data -> {-1,0,1} */ 6.48 +/** 6.49 + * Function pointer to a compare function. 6.50 + * 6.51 + * The compare function shall take three arguments: the two values that shall be 6.52 + * compared and optional additional data. 6.53 + * The function shall then return -1 if the first argument is less than the 6.54 + * second argument, 1 if the first argument is greater than the second argument 6.55 + * and 0 if both arguments are equal. If the third argument is 6.56 + * <code>NULL</code>, it shall be ignored. 6.57 + */ 6.58 typedef int(*cmp_func)(void*,void*,void*); 6.59 6.60 -/* element,custom data -> copy of element */ 6.61 +/** 6.62 + * Function pointer to a copy function. 6.63 + * 6.64 + * The copy function shall create a copy of the first argument and may use 6.65 + * additional data provided by the second argument. If the second argument is 6.66 + * <code>NULL</code>, it shall be ignored. 6.67 + 6.68 + * <b>Attention:</b> if pointers returned by functions of this type may be 6.69 + * passed to <code>free()</code> depends on the implementation of the 6.70 + * respective <code>copy_func</code>. 6.71 + */ 6.72 typedef void*(*copy_func)(void*,void*); 6.73 6.74 -/* buffer, element size, element count, stream */ 6.75 +/** 6.76 + * Function pointer to a write function. 6.77 + * 6.78 + * The signature of the write function shall be compatible to the signature 6.79 + * of standard <code>fwrite</code>, though it may use arbitrary data types for 6.80 + * source and destination. 6.81 + * 6.82 + * The arguments shall contain (in ascending order): a pointer to the source, 6.83 + * the length of one element, the element count, a pointer to the destination. 6.84 + */ 6.85 typedef size_t(*write_func)(const void*, size_t, size_t, void*); 6.86 6.87 -/* buffer, element size, element count, stream */ 6.88 +/** 6.89 + * Function pointer to a read function. 6.90 + * 6.91 + * The signature of the read function shall be compatible to the signature 6.92 + * of standard <code>fread</code>, though it may use arbitrary data types for 6.93 + * source and destination. 6.94 + * 6.95 + * The arguments shall contain (in ascending order): a pointer to the 6.96 + * destination, the length of one element, the element count, a pointer to the 6.97 + * source. 6.98 + */ 6.99 typedef size_t(*read_func)(void*, size_t, size_t, void*); 6.100 6.101 #ifdef __cplusplus