• R/O
  • HTTP
  • SSH
  • HTTPS

提交

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

C++11 Math Library


Commit MetaInfo

修订版2a71ce91845a28a68d44146f0beebfda9246fed8 (tree)
时间2013-07-05 17:38:22
作者Daisuke Yamashta <yamasdais@gmai...>
CommiterDaisuke Yamashta

Log Message

doxygen の調整・コメント追加

@JP, @EN, @ENDL, @BP{x} コマンドエイリアスを定義した。

更改概述

差异

--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
11 *~
22 *.o
33 *.s
4-docs/
\ No newline at end of file
4+docs/
5+docs.ja/
\ No newline at end of file
--- a/Makefile
+++ b/Makefile
@@ -5,11 +5,12 @@ SUBDIRS=tests
55 all : $(SUBDIRS) depend
66
77 docs :
8- doxygen Doxyfile
8+ doxygen doxyfile
9+ doxygen doxyfile.ja
910
1011 clean : $(SUBDIRS)
1112 find . -name '*.gch' -exec rm {} \;
12- rm -rf ./docs/*
13+ rm -rf ./docs/* ./docs.ja/*
1314
1415 depend : $(SUBDIRS)
1516
--- a/Doxyfile
+++ b/doxyfile
@@ -74,7 +74,7 @@ CREATE_SUBDIRS = NO
7474 # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
7575 # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
7676
77-OUTPUT_LANGUAGE = Japanese
77+OUTPUT_LANGUAGE = English
7878
7979 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
8080 # include brief member descriptions after the members that are listed in
@@ -205,7 +205,10 @@ TAB_SIZE = 4
205205 # will result in a user-defined paragraph with heading "Side Effects:".
206206 # You can put \n's in the value part of an alias to insert newlines.
207207
208-ALIASES =
208+ALIASES = "BP{1}=\htmlonly <b class=\"paramname\">\1</b> \endhtmlonly \latexonly {\em \1} \endlatexonly" \
209+ "JP=\if Japanese" \
210+ ENDL=\endif \
211+ EN=\else
209212
210213 # This tag can be used to specify a number of word-keyword mappings (TCL only).
211214 # A mapping has the form "name=value". For example adding
@@ -677,7 +680,7 @@ WARN_LOGFILE =
677680 # directories like "/usr/src/myproject". Separate the files or directories
678681 # with spaces.
679682
680-INPUT = ./include
683+INPUT = .
681684
682685 # This tag can be used to specify the character encoding of the source files
683686 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -742,7 +745,7 @@ RECURSIVE = YES
742745 # Note that relative paths are relative to the directory from which doxygen is
743746 # run.
744747
745-EXCLUDE =
748+EXCLUDE = */tests/*
746749
747750 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
748751 # directories that are symbolic links (a Unix file system feature) are excluded
--- /dev/null
+++ b/doxyfile.ja
@@ -0,0 +1,1905 @@
1+# Doxyfile 1.8.3.1
2+
3+# This file describes the settings to be used by the documentation system
4+# doxygen (www.doxygen.org) for a project
5+#
6+# All text after a hash (#) is considered a comment and will be ignored
7+# The format is:
8+# TAG = value [value, ...]
9+# For lists items can also be appended using:
10+# TAG += value [value, ...]
11+# Values that contain spaces should be placed between quotes (" ")
12+
13+#---------------------------------------------------------------------------
14+# Project related configuration options
15+#---------------------------------------------------------------------------
16+
17+# This tag specifies the encoding used for all characters in the config file
18+# that follow. The default is UTF-8 which is also the encoding used for all
19+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
20+# iconv built into libc) for the transcoding. See
21+# http://www.gnu.org/software/libiconv for the list of possible encodings.
22+
23+DOXYFILE_ENCODING = UTF-8
24+
25+# The PROJECT_NAME tag is a single word (or sequence of words) that should
26+# identify the project. Note that if you do not use Doxywizard you need
27+# to put quotes around the project name if it contains spaces.
28+
29+PROJECT_NAME = "DMath Library"
30+
31+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
32+# This could be handy for archiving the generated documentation or
33+# if some version control system is used.
34+
35+PROJECT_NUMBER = 0.0.1
36+
37+# Using the PROJECT_BRIEF tag one can provide an optional one line description
38+# for a project that appears at the top of each page and should give viewer
39+# a quick idea about the purpose of the project. Keep the description short.
40+
41+PROJECT_BRIEF = dmath
42+
43+# With the PROJECT_LOGO tag one can specify an logo or icon that is
44+# included in the documentation. The maximum height of the logo should not
45+# exceed 55 pixels and the maximum width should not exceed 200 pixels.
46+# Doxygen will copy the logo to the output directory.
47+
48+PROJECT_LOGO =
49+
50+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
51+# base path where the generated documentation will be put.
52+# If a relative path is entered, it will be relative to the location
53+# where doxygen was started. If left blank the current directory will be used.
54+
55+OUTPUT_DIRECTORY = ./docs.ja
56+
57+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
58+# 4096 sub-directories (in 2 levels) under the output directory of each output
59+# format and will distribute the generated files over these directories.
60+# Enabling this option can be useful when feeding doxygen a huge amount of
61+# source files, where putting all generated files in the same directory would
62+# otherwise cause performance problems for the file system.
63+
64+CREATE_SUBDIRS = NO
65+
66+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
67+# documentation generated by doxygen is written. Doxygen will use this
68+# information to generate all constant output in the proper language.
69+# The default language is English, other supported languages are:
70+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
71+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
72+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
73+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
74+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
75+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
76+
77+OUTPUT_LANGUAGE = Japanese
78+
79+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
80+# include brief member descriptions after the members that are listed in
81+# the file and class documentation (similar to JavaDoc).
82+# Set to NO to disable this.
83+
84+BRIEF_MEMBER_DESC = YES
85+
86+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
87+# the brief description of a member or function before the detailed description.
88+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
89+# brief descriptions will be completely suppressed.
90+
91+REPEAT_BRIEF = YES
92+
93+# This tag implements a quasi-intelligent brief description abbreviator
94+# that is used to form the text in various listings. Each string
95+# in this list, if found as the leading text of the brief description, will be
96+# stripped from the text and the result after processing the whole list, is
97+# used as the annotated text. Otherwise, the brief description is used as-is.
98+# If left blank, the following values are used ("$name" is automatically
99+# replaced with the name of the entity): "The $name class" "The $name widget"
100+# "The $name file" "is" "provides" "specifies" "contains"
101+# "represents" "a" "an" "the"
102+
103+ABBREVIATE_BRIEF = "The $name class" \
104+ "The $name widget" \
105+ "The $name file" \
106+ is \
107+ provides \
108+ specifies \
109+ contains \
110+ represents \
111+ a \
112+ an \
113+ the
114+
115+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
116+# Doxygen will generate a detailed section even if there is only a brief
117+# description.
118+
119+ALWAYS_DETAILED_SEC = NO
120+
121+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
122+# inherited members of a class in the documentation of that class as if those
123+# members were ordinary class members. Constructors, destructors and assignment
124+# operators of the base classes will not be shown.
125+
126+INLINE_INHERITED_MEMB = NO
127+
128+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
129+# path before files name in the file list and in the header files. If set
130+# to NO the shortest path that makes the file name unique will be used.
131+
132+FULL_PATH_NAMES = YES
133+
134+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
135+# can be used to strip a user-defined part of the path. Stripping is
136+# only done if one of the specified strings matches the left-hand part of
137+# the path. The tag can be used to show relative paths in the file list.
138+# If left blank the directory from which doxygen is run is used as the
139+# path to strip. Note that you specify absolute paths here, but also
140+# relative paths, which will be relative from the directory where doxygen is
141+# started.
142+
143+STRIP_FROM_PATH =
144+
145+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
146+# the path mentioned in the documentation of a class, which tells
147+# the reader which header file to include in order to use a class.
148+# If left blank only the name of the header file containing the class
149+# definition is used. Otherwise one should specify the include paths that
150+# are normally passed to the compiler using the -I flag.
151+
152+STRIP_FROM_INC_PATH =
153+
154+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
155+# (but less readable) file names. This can be useful if your file system
156+# doesn't support long names like on DOS, Mac, or CD-ROM.
157+
158+SHORT_NAMES = NO
159+
160+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
161+# will interpret the first line (until the first dot) of a JavaDoc-style
162+# comment as the brief description. If set to NO, the JavaDoc
163+# comments will behave just like regular Qt-style comments
164+# (thus requiring an explicit @brief command for a brief description.)
165+
166+JAVADOC_AUTOBRIEF = NO
167+
168+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
169+# interpret the first line (until the first dot) of a Qt-style
170+# comment as the brief description. If set to NO, the comments
171+# will behave just like regular Qt-style comments (thus requiring
172+# an explicit \brief command for a brief description.)
173+
174+QT_AUTOBRIEF = NO
175+
176+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
177+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
178+# comments) as a brief description. This used to be the default behaviour.
179+# The new default is to treat a multi-line C++ comment block as a detailed
180+# description. Set this tag to YES if you prefer the old behaviour instead.
181+
182+MULTILINE_CPP_IS_BRIEF = NO
183+
184+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
185+# member inherits the documentation from any documented member that it
186+# re-implements.
187+
188+INHERIT_DOCS = YES
189+
190+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
191+# a new page for each member. If set to NO, the documentation of a member will
192+# be part of the file/class/namespace that contains it.
193+
194+SEPARATE_MEMBER_PAGES = NO
195+
196+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
197+# Doxygen uses this value to replace tabs by spaces in code fragments.
198+
199+TAB_SIZE = 4
200+
201+# This tag can be used to specify a number of aliases that acts
202+# as commands in the documentation. An alias has the form "name=value".
203+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
204+# put the command \sideeffect (or @sideeffect) in the documentation, which
205+# will result in a user-defined paragraph with heading "Side Effects:".
206+# You can put \n's in the value part of an alias to insert newlines.
207+
208+ALIASES = "BP{1}=\htmlonly <b class=\"paramname\">\1</b> \endhtmlonly \latexonly {\em \1} \endlatexonly" \
209+ "JP=\if Japanese" \
210+ ENDL=\endif \
211+ EN=\else
212+
213+# This tag can be used to specify a number of word-keyword mappings (TCL only).
214+# A mapping has the form "name=value". For example adding
215+# "class=itcl::class" will allow you to use the command class in the
216+# itcl::class meaning.
217+
218+TCL_SUBST =
219+
220+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
221+# sources only. Doxygen will then generate output that is more tailored for C.
222+# For instance, some of the names that are used will be different. The list
223+# of all members will be omitted, etc.
224+
225+OPTIMIZE_OUTPUT_FOR_C = NO
226+
227+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
228+# sources only. Doxygen will then generate output that is more tailored for
229+# Java. For instance, namespaces will be presented as packages, qualified
230+# scopes will look different, etc.
231+
232+OPTIMIZE_OUTPUT_JAVA = NO
233+
234+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
235+# sources only. Doxygen will then generate output that is more tailored for
236+# Fortran.
237+
238+OPTIMIZE_FOR_FORTRAN = NO
239+
240+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
241+# sources. Doxygen will then generate output that is tailored for
242+# VHDL.
243+
244+OPTIMIZE_OUTPUT_VHDL = NO
245+
246+# Doxygen selects the parser to use depending on the extension of the files it
247+# parses. With this tag you can assign which parser to use for a given
248+# extension. Doxygen has a built-in mapping, but you can override or extend it
249+# using this tag. The format is ext=language, where ext is a file extension,
250+# and language is one of the parsers supported by doxygen: IDL, Java,
251+# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C,
252+# C++. For instance to make doxygen treat .inc files as Fortran files (default
253+# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note
254+# that for custom extensions you also need to set FILE_PATTERNS otherwise the
255+# files are not read by doxygen.
256+
257+EXTENSION_MAPPING =
258+
259+# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all
260+# comments according to the Markdown format, which allows for more readable
261+# documentation. See http://daringfireball.net/projects/markdown/ for details.
262+# The output of markdown processing is further processed by doxygen, so you
263+# can mix doxygen, HTML, and XML commands with Markdown formatting.
264+# Disable only in case of backward compatibilities issues.
265+
266+MARKDOWN_SUPPORT = YES
267+
268+# When enabled doxygen tries to link words that correspond to documented classes,
269+# or namespaces to their corresponding documentation. Such a link can be
270+# prevented in individual cases by by putting a % sign in front of the word or
271+# globally by setting AUTOLINK_SUPPORT to NO.
272+
273+AUTOLINK_SUPPORT = YES
274+
275+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
276+# to include (a tag file for) the STL sources as input, then you should
277+# set this tag to YES in order to let doxygen match functions declarations and
278+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
279+# func(std::string) {}). This also makes the inheritance and collaboration
280+# diagrams that involve STL classes more complete and accurate.
281+
282+BUILTIN_STL_SUPPORT = NO
283+
284+# If you use Microsoft's C++/CLI language, you should set this option to YES to
285+# enable parsing support.
286+
287+CPP_CLI_SUPPORT = NO
288+
289+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
290+# Doxygen will parse them like normal C++ but will assume all classes use public
291+# instead of private inheritance when no explicit protection keyword is present.
292+
293+SIP_SUPPORT = NO
294+
295+# For Microsoft's IDL there are propget and propput attributes to indicate
296+# getter and setter methods for a property. Setting this option to YES (the
297+# default) will make doxygen replace the get and set methods by a property in
298+# the documentation. This will only work if the methods are indeed getting or
299+# setting a simple type. If this is not the case, or you want to show the
300+# methods anyway, you should set this option to NO.
301+
302+IDL_PROPERTY_SUPPORT = YES
303+
304+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
305+# tag is set to YES, then doxygen will reuse the documentation of the first
306+# member in the group (if any) for the other members of the group. By default
307+# all members of a group must be documented explicitly.
308+
309+DISTRIBUTE_GROUP_DOC = NO
310+
311+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
312+# the same type (for instance a group of public functions) to be put as a
313+# subgroup of that type (e.g. under the Public Functions section). Set it to
314+# NO to prevent subgrouping. Alternatively, this can be done per class using
315+# the \nosubgrouping command.
316+
317+SUBGROUPING = YES
318+
319+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
320+# unions are shown inside the group in which they are included (e.g. using
321+# @ingroup) instead of on a separate page (for HTML and Man pages) or
322+# section (for LaTeX and RTF).
323+
324+INLINE_GROUPED_CLASSES = NO
325+
326+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
327+# unions with only public data fields will be shown inline in the documentation
328+# of the scope in which they are defined (i.e. file, namespace, or group
329+# documentation), provided this scope is documented. If set to NO (the default),
330+# structs, classes, and unions are shown on a separate page (for HTML and Man
331+# pages) or section (for LaTeX and RTF).
332+
333+INLINE_SIMPLE_STRUCTS = NO
334+
335+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
336+# is documented as struct, union, or enum with the name of the typedef. So
337+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
338+# with name TypeT. When disabled the typedef will appear as a member of a file,
339+# namespace, or class. And the struct will be named TypeS. This can typically
340+# be useful for C code in case the coding convention dictates that all compound
341+# types are typedef'ed and only the typedef is referenced, never the tag name.
342+
343+TYPEDEF_HIDES_STRUCT = NO
344+
345+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
346+# determine which symbols to keep in memory and which to flush to disk.
347+# When the cache is full, less often used symbols will be written to disk.
348+# For small to medium size projects (<1000 input files) the default value is
349+# probably good enough. For larger projects a too small cache size can cause
350+# doxygen to be busy swapping symbols to and from disk most of the time
351+# causing a significant performance penalty.
352+# If the system has enough physical memory increasing the cache will improve the
353+# performance by keeping more symbols in memory. Note that the value works on
354+# a logarithmic scale so increasing the size by one will roughly double the
355+# memory usage. The cache size is given by this formula:
356+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
357+# corresponding to a cache size of 2^16 = 65536 symbols.
358+
359+SYMBOL_CACHE_SIZE = 0
360+
361+# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
362+# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
363+# their name and scope. Since this can be an expensive process and often the
364+# same symbol appear multiple times in the code, doxygen keeps a cache of
365+# pre-resolved symbols. If the cache is too small doxygen will become slower.
366+# If the cache is too large, memory is wasted. The cache size is given by this
367+# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
368+# corresponding to a cache size of 2^16 = 65536 symbols.
369+
370+LOOKUP_CACHE_SIZE = 0
371+
372+#---------------------------------------------------------------------------
373+# Build related configuration options
374+#---------------------------------------------------------------------------
375+
376+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
377+# documentation are documented, even if no documentation was available.
378+# Private class members and static file members will be hidden unless
379+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
380+
381+EXTRACT_ALL = NO
382+
383+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
384+# will be included in the documentation.
385+
386+EXTRACT_PRIVATE = NO
387+
388+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
389+# scope will be included in the documentation.
390+
391+EXTRACT_PACKAGE = NO
392+
393+# If the EXTRACT_STATIC tag is set to YES all static members of a file
394+# will be included in the documentation.
395+
396+EXTRACT_STATIC = NO
397+
398+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
399+# defined locally in source files will be included in the documentation.
400+# If set to NO only classes defined in header files are included.
401+
402+EXTRACT_LOCAL_CLASSES = YES
403+
404+# This flag is only useful for Objective-C code. When set to YES local
405+# methods, which are defined in the implementation section but not in
406+# the interface are included in the documentation.
407+# If set to NO (the default) only methods in the interface are included.
408+
409+EXTRACT_LOCAL_METHODS = NO
410+
411+# If this flag is set to YES, the members of anonymous namespaces will be
412+# extracted and appear in the documentation as a namespace called
413+# 'anonymous_namespace{file}', where file will be replaced with the base
414+# name of the file that contains the anonymous namespace. By default
415+# anonymous namespaces are hidden.
416+
417+EXTRACT_ANON_NSPACES = NO
418+
419+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
420+# undocumented members of documented classes, files or namespaces.
421+# If set to NO (the default) these members will be included in the
422+# various overviews, but no documentation section is generated.
423+# This option has no effect if EXTRACT_ALL is enabled.
424+
425+HIDE_UNDOC_MEMBERS = NO
426+
427+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
428+# undocumented classes that are normally visible in the class hierarchy.
429+# If set to NO (the default) these classes will be included in the various
430+# overviews. This option has no effect if EXTRACT_ALL is enabled.
431+
432+HIDE_UNDOC_CLASSES = NO
433+
434+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
435+# friend (class|struct|union) declarations.
436+# If set to NO (the default) these declarations will be included in the
437+# documentation.
438+
439+HIDE_FRIEND_COMPOUNDS = NO
440+
441+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
442+# documentation blocks found inside the body of a function.
443+# If set to NO (the default) these blocks will be appended to the
444+# function's detailed documentation block.
445+
446+HIDE_IN_BODY_DOCS = NO
447+
448+# The INTERNAL_DOCS tag determines if documentation
449+# that is typed after a \internal command is included. If the tag is set
450+# to NO (the default) then the documentation will be excluded.
451+# Set it to YES to include the internal documentation.
452+
453+INTERNAL_DOCS = NO
454+
455+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
456+# file names in lower-case letters. If set to YES upper-case letters are also
457+# allowed. This is useful if you have classes or files whose names only differ
458+# in case and if your file system supports case sensitive file names. Windows
459+# and Mac users are advised to set this option to NO.
460+
461+CASE_SENSE_NAMES = NO
462+
463+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
464+# will show members with their full class and namespace scopes in the
465+# documentation. If set to YES the scope will be hidden.
466+
467+HIDE_SCOPE_NAMES = NO
468+
469+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
470+# will put a list of the files that are included by a file in the documentation
471+# of that file.
472+
473+SHOW_INCLUDE_FILES = YES
474+
475+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
476+# will list include files with double quotes in the documentation
477+# rather than with sharp brackets.
478+
479+FORCE_LOCAL_INCLUDES = NO
480+
481+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
482+# is inserted in the documentation for inline members.
483+
484+INLINE_INFO = YES
485+
486+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
487+# will sort the (detailed) documentation of file and class members
488+# alphabetically by member name. If set to NO the members will appear in
489+# declaration order.
490+
491+SORT_MEMBER_DOCS = YES
492+
493+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
494+# brief documentation of file, namespace and class members alphabetically
495+# by member name. If set to NO (the default) the members will appear in
496+# declaration order.
497+
498+SORT_BRIEF_DOCS = NO
499+
500+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
501+# will sort the (brief and detailed) documentation of class members so that
502+# constructors and destructors are listed first. If set to NO (the default)
503+# the constructors will appear in the respective orders defined by
504+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
505+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
506+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
507+
508+SORT_MEMBERS_CTORS_1ST = NO
509+
510+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
511+# hierarchy of group names into alphabetical order. If set to NO (the default)
512+# the group names will appear in their defined order.
513+
514+SORT_GROUP_NAMES = NO
515+
516+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
517+# sorted by fully-qualified names, including namespaces. If set to
518+# NO (the default), the class list will be sorted only by class name,
519+# not including the namespace part.
520+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
521+# Note: This option applies only to the class list, not to the
522+# alphabetical list.
523+
524+SORT_BY_SCOPE_NAME = NO
525+
526+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
527+# do proper type resolution of all parameters of a function it will reject a
528+# match between the prototype and the implementation of a member function even
529+# if there is only one candidate or it is obvious which candidate to choose
530+# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
531+# will still accept a match between prototype and implementation in such cases.
532+
533+STRICT_PROTO_MATCHING = NO
534+
535+# The GENERATE_TODOLIST tag can be used to enable (YES) or
536+# disable (NO) the todo list. This list is created by putting \todo
537+# commands in the documentation.
538+
539+GENERATE_TODOLIST = YES
540+
541+# The GENERATE_TESTLIST tag can be used to enable (YES) or
542+# disable (NO) the test list. This list is created by putting \test
543+# commands in the documentation.
544+
545+GENERATE_TESTLIST = YES
546+
547+# The GENERATE_BUGLIST tag can be used to enable (YES) or
548+# disable (NO) the bug list. This list is created by putting \bug
549+# commands in the documentation.
550+
551+GENERATE_BUGLIST = YES
552+
553+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
554+# disable (NO) the deprecated list. This list is created by putting
555+# \deprecated commands in the documentation.
556+
557+GENERATE_DEPRECATEDLIST= YES
558+
559+# The ENABLED_SECTIONS tag can be used to enable conditional
560+# documentation sections, marked by \if section-label ... \endif
561+# and \cond section-label ... \endcond blocks.
562+
563+ENABLED_SECTIONS = Japanese
564+
565+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
566+# the initial value of a variable or macro consists of for it to appear in
567+# the documentation. If the initializer consists of more lines than specified
568+# here it will be hidden. Use a value of 0 to hide initializers completely.
569+# The appearance of the initializer of individual variables and macros in the
570+# documentation can be controlled using \showinitializer or \hideinitializer
571+# command in the documentation regardless of this setting.
572+
573+MAX_INITIALIZER_LINES = 30
574+
575+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
576+# at the bottom of the documentation of classes and structs. If set to YES the
577+# list will mention the files that were used to generate the documentation.
578+
579+SHOW_USED_FILES = YES
580+
581+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
582+# This will remove the Files entry from the Quick Index and from the
583+# Folder Tree View (if specified). The default is YES.
584+
585+SHOW_FILES = YES
586+
587+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
588+# Namespaces page. This will remove the Namespaces entry from the Quick Index
589+# and from the Folder Tree View (if specified). The default is YES.
590+
591+SHOW_NAMESPACES = YES
592+
593+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
594+# doxygen should invoke to get the current version for each file (typically from
595+# the version control system). Doxygen will invoke the program by executing (via
596+# popen()) the command <command> <input-file>, where <command> is the value of
597+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
598+# provided by doxygen. Whatever the program writes to standard output
599+# is used as the file version. See the manual for examples.
600+
601+FILE_VERSION_FILTER =
602+
603+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
604+# by doxygen. The layout file controls the global structure of the generated
605+# output files in an output format independent way. To create the layout file
606+# that represents doxygen's defaults, run doxygen with the -l option.
607+# You can optionally specify a file name after the option, if omitted
608+# DoxygenLayout.xml will be used as the name of the layout file.
609+
610+LAYOUT_FILE =
611+
612+# The CITE_BIB_FILES tag can be used to specify one or more bib files
613+# containing the references data. This must be a list of .bib files. The
614+# .bib extension is automatically appended if omitted. Using this command
615+# requires the bibtex tool to be installed. See also
616+# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
617+# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
618+# feature you need bibtex and perl available in the search path. Do not use
619+# file names with spaces, bibtex cannot handle them.
620+
621+CITE_BIB_FILES =
622+
623+#---------------------------------------------------------------------------
624+# configuration options related to warning and progress messages
625+#---------------------------------------------------------------------------
626+
627+# The QUIET tag can be used to turn on/off the messages that are generated
628+# by doxygen. Possible values are YES and NO. If left blank NO is used.
629+
630+QUIET = NO
631+
632+# The WARNINGS tag can be used to turn on/off the warning messages that are
633+# generated by doxygen. Possible values are YES and NO. If left blank
634+# NO is used.
635+
636+WARNINGS = YES
637+
638+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
639+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
640+# automatically be disabled.
641+
642+WARN_IF_UNDOCUMENTED = YES
643+
644+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
645+# potential errors in the documentation, such as not documenting some
646+# parameters in a documented function, or documenting parameters that
647+# don't exist or using markup commands wrongly.
648+
649+WARN_IF_DOC_ERROR = YES
650+
651+# The WARN_NO_PARAMDOC option can be enabled to get warnings for
652+# functions that are documented, but have no documentation for their parameters
653+# or return value. If set to NO (the default) doxygen will only warn about
654+# wrong or incomplete parameter documentation, but not about the absence of
655+# documentation.
656+
657+WARN_NO_PARAMDOC = NO
658+
659+# The WARN_FORMAT tag determines the format of the warning messages that
660+# doxygen can produce. The string should contain the $file, $line, and $text
661+# tags, which will be replaced by the file and line number from which the
662+# warning originated and the warning text. Optionally the format may contain
663+# $version, which will be replaced by the version of the file (if it could
664+# be obtained via FILE_VERSION_FILTER)
665+
666+WARN_FORMAT = "$file:$line: $text"
667+
668+# The WARN_LOGFILE tag can be used to specify a file to which warning
669+# and error messages should be written. If left blank the output is written
670+# to stderr.
671+
672+WARN_LOGFILE =
673+
674+#---------------------------------------------------------------------------
675+# configuration options related to the input files
676+#---------------------------------------------------------------------------
677+
678+# The INPUT tag can be used to specify the files and/or directories that contain
679+# documented source files. You may enter file names like "myfile.cpp" or
680+# directories like "/usr/src/myproject". Separate the files or directories
681+# with spaces.
682+
683+INPUT = .
684+
685+# This tag can be used to specify the character encoding of the source files
686+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
687+# also the default input encoding. Doxygen uses libiconv (or the iconv built
688+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
689+# the list of possible encodings.
690+
691+INPUT_ENCODING = UTF-8
692+
693+# If the value of the INPUT tag contains directories, you can use the
694+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
695+# and *.h) to filter out the source-files in the directories. If left
696+# blank the following patterns are tested:
697+# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
698+# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
699+# *.f90 *.f *.for *.vhd *.vhdl
700+
701+FILE_PATTERNS = *.c \
702+ *.cc \
703+ *.cxx \
704+ *.cpp \
705+ *.c++ \
706+ *.d \
707+ *.java \
708+ *.ii \
709+ *.ixx \
710+ *.ipp \
711+ *.i++ \
712+ *.inl \
713+ *.h \
714+ *.hh \
715+ *.hxx \
716+ *.hpp \
717+ *.h++ \
718+ *.idl \
719+ *.odl \
720+ *.cs \
721+ *.php \
722+ *.php3 \
723+ *.inc \
724+ *.m \
725+ *.markdown \
726+ *.md \
727+ *.mm \
728+ *.dox \
729+ *.py \
730+ *.f90 \
731+ *.f \
732+ *.for \
733+ *.vhd \
734+ *.vhdl
735+
736+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
737+# should be searched for input files as well. Possible values are YES and NO.
738+# If left blank NO is used.
739+
740+RECURSIVE = YES
741+
742+# The EXCLUDE tag can be used to specify files and/or directories that should be
743+# excluded from the INPUT source files. This way you can easily exclude a
744+# subdirectory from a directory tree whose root is specified with the INPUT tag.
745+# Note that relative paths are relative to the directory from which doxygen is
746+# run.
747+
748+EXCLUDE = */tests/*
749+
750+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
751+# directories that are symbolic links (a Unix file system feature) are excluded
752+# from the input.
753+
754+EXCLUDE_SYMLINKS = NO
755+
756+# If the value of the INPUT tag contains directories, you can use the
757+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
758+# certain files from those directories. Note that the wildcards are matched
759+# against the file with absolute path, so to exclude all test directories
760+# for example use the pattern */test/*
761+
762+EXCLUDE_PATTERNS =
763+
764+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
765+# (namespaces, classes, functions, etc.) that should be excluded from the
766+# output. The symbol name can be a fully qualified name, a word, or if the
767+# wildcard * is used, a substring. Examples: ANamespace, AClass,
768+# AClass::ANamespace, ANamespace::*Test
769+
770+EXCLUDE_SYMBOLS =
771+
772+# The EXAMPLE_PATH tag can be used to specify one or more files or
773+# directories that contain example code fragments that are included (see
774+# the \include command).
775+
776+EXAMPLE_PATH =
777+
778+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
779+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
780+# and *.h) to filter out the source-files in the directories. If left
781+# blank all files are included.
782+
783+EXAMPLE_PATTERNS = *
784+
785+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
786+# searched for input files to be used with the \include or \dontinclude
787+# commands irrespective of the value of the RECURSIVE tag.
788+# Possible values are YES and NO. If left blank NO is used.
789+
790+EXAMPLE_RECURSIVE = NO
791+
792+# The IMAGE_PATH tag can be used to specify one or more files or
793+# directories that contain image that are included in the documentation (see
794+# the \image command).
795+
796+IMAGE_PATH =
797+
798+# The INPUT_FILTER tag can be used to specify a program that doxygen should
799+# invoke to filter for each input file. Doxygen will invoke the filter program
800+# by executing (via popen()) the command <filter> <input-file>, where <filter>
801+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
802+# input file. Doxygen will then use the output that the filter program writes
803+# to standard output. If FILTER_PATTERNS is specified, this tag will be
804+# ignored.
805+
806+INPUT_FILTER =
807+
808+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
809+# basis. Doxygen will compare the file name with each pattern and apply the
810+# filter if there is a match. The filters are a list of the form:
811+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
812+# info on how filters are used. If FILTER_PATTERNS is empty or if
813+# non of the patterns match the file name, INPUT_FILTER is applied.
814+
815+FILTER_PATTERNS =
816+
817+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
818+# INPUT_FILTER) will be used to filter the input files when producing source
819+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
820+
821+FILTER_SOURCE_FILES = NO
822+
823+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
824+# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
825+# and it is also possible to disable source filtering for a specific pattern
826+# using *.ext= (so without naming a filter). This option only has effect when
827+# FILTER_SOURCE_FILES is enabled.
828+
829+FILTER_SOURCE_PATTERNS =
830+
831+# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that
832+# is part of the input, its contents will be placed on the main page (index.html).
833+# This can be useful if you have a project on for instance GitHub and want reuse
834+# the introduction page also for the doxygen output.
835+
836+USE_MDFILE_AS_MAINPAGE =
837+
838+#---------------------------------------------------------------------------
839+# configuration options related to source browsing
840+#---------------------------------------------------------------------------
841+
842+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
843+# be generated. Documented entities will be cross-referenced with these sources.
844+# Note: To get rid of all source code in the generated output, make sure also
845+# VERBATIM_HEADERS is set to NO.
846+
847+SOURCE_BROWSER = NO
848+
849+# Setting the INLINE_SOURCES tag to YES will include the body
850+# of functions and classes directly in the documentation.
851+
852+INLINE_SOURCES = NO
853+
854+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
855+# doxygen to hide any special comment blocks from generated source code
856+# fragments. Normal C, C++ and Fortran comments will always remain visible.
857+
858+STRIP_CODE_COMMENTS = YES
859+
860+# If the REFERENCED_BY_RELATION tag is set to YES
861+# then for each documented function all documented
862+# functions referencing it will be listed.
863+
864+REFERENCED_BY_RELATION = NO
865+
866+# If the REFERENCES_RELATION tag is set to YES
867+# then for each documented function all documented entities
868+# called/used by that function will be listed.
869+
870+REFERENCES_RELATION = NO
871+
872+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
873+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
874+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
875+# link to the source code. Otherwise they will link to the documentation.
876+
877+REFERENCES_LINK_SOURCE = YES
878+
879+# If the USE_HTAGS tag is set to YES then the references to source code
880+# will point to the HTML generated by the htags(1) tool instead of doxygen
881+# built-in source browser. The htags tool is part of GNU's global source
882+# tagging system (see http://www.gnu.org/software/global/global.html). You
883+# will need version 4.8.6 or higher.
884+
885+USE_HTAGS = NO
886+
887+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
888+# will generate a verbatim copy of the header file for each class for
889+# which an include is specified. Set to NO to disable this.
890+
891+VERBATIM_HEADERS = YES
892+
893+#---------------------------------------------------------------------------
894+# configuration options related to the alphabetical class index
895+#---------------------------------------------------------------------------
896+
897+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
898+# of all compounds will be generated. Enable this if the project
899+# contains a lot of classes, structs, unions or interfaces.
900+
901+ALPHABETICAL_INDEX = YES
902+
903+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
904+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
905+# in which this list will be split (can be a number in the range [1..20])
906+
907+COLS_IN_ALPHA_INDEX = 5
908+
909+# In case all classes in a project start with a common prefix, all
910+# classes will be put under the same header in the alphabetical index.
911+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
912+# should be ignored while generating the index headers.
913+
914+IGNORE_PREFIX =
915+
916+#---------------------------------------------------------------------------
917+# configuration options related to the HTML output
918+#---------------------------------------------------------------------------
919+
920+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
921+# generate HTML output.
922+
923+GENERATE_HTML = YES
924+
925+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
926+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
927+# put in front of it. If left blank `html' will be used as the default path.
928+
929+HTML_OUTPUT = html
930+
931+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
932+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
933+# doxygen will generate files with .html extension.
934+
935+HTML_FILE_EXTENSION = .html
936+
937+# The HTML_HEADER tag can be used to specify a personal HTML header for
938+# each generated HTML page. If it is left blank doxygen will generate a
939+# standard header. Note that when using a custom header you are responsible
940+# for the proper inclusion of any scripts and style sheets that doxygen
941+# needs, which is dependent on the configuration options used.
942+# It is advised to generate a default header using "doxygen -w html
943+# header.html footer.html stylesheet.css YourConfigFile" and then modify
944+# that header. Note that the header is subject to change so you typically
945+# have to redo this when upgrading to a newer version of doxygen or when
946+# changing the value of configuration settings such as GENERATE_TREEVIEW!
947+
948+HTML_HEADER =
949+
950+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
951+# each generated HTML page. If it is left blank doxygen will generate a
952+# standard footer.
953+
954+HTML_FOOTER =
955+
956+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
957+# style sheet that is used by each HTML page. It can be used to
958+# fine-tune the look of the HTML output. If left blank doxygen will
959+# generate a default style sheet. Note that it is recommended to use
960+# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this
961+# tag will in the future become obsolete.
962+
963+HTML_STYLESHEET =
964+
965+# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional
966+# user-defined cascading style sheet that is included after the standard
967+# style sheets created by doxygen. Using this option one can overrule
968+# certain style aspects. This is preferred over using HTML_STYLESHEET
969+# since it does not replace the standard style sheet and is therefor more
970+# robust against future updates. Doxygen will copy the style sheet file to
971+# the output directory.
972+
973+HTML_EXTRA_STYLESHEET =
974+
975+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
976+# other source files which should be copied to the HTML output directory. Note
977+# that these files will be copied to the base HTML output directory. Use the
978+# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
979+# files. In the HTML_STYLESHEET file, use the file name only. Also note that
980+# the files will be copied as-is; there are no commands or markers available.
981+
982+HTML_EXTRA_FILES =
983+
984+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
985+# Doxygen will adjust the colors in the style sheet and background images
986+# according to this color. Hue is specified as an angle on a colorwheel,
987+# see http://en.wikipedia.org/wiki/Hue for more information.
988+# For instance the value 0 represents red, 60 is yellow, 120 is green,
989+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
990+# The allowed range is 0 to 359.
991+
992+HTML_COLORSTYLE_HUE = 220
993+
994+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
995+# the colors in the HTML output. For a value of 0 the output will use
996+# grayscales only. A value of 255 will produce the most vivid colors.
997+
998+HTML_COLORSTYLE_SAT = 100
999+
1000+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
1001+# the luminance component of the colors in the HTML output. Values below
1002+# 100 gradually make the output lighter, whereas values above 100 make
1003+# the output darker. The value divided by 100 is the actual gamma applied,
1004+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
1005+# and 100 does not change the gamma.
1006+
1007+HTML_COLORSTYLE_GAMMA = 80
1008+
1009+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
1010+# page will contain the date and time when the page was generated. Setting
1011+# this to NO can help when comparing the output of multiple runs.
1012+
1013+HTML_TIMESTAMP = YES
1014+
1015+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
1016+# documentation will contain sections that can be hidden and shown after the
1017+# page has loaded.
1018+
1019+HTML_DYNAMIC_SECTIONS = NO
1020+
1021+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
1022+# entries shown in the various tree structured indices initially; the user
1023+# can expand and collapse entries dynamically later on. Doxygen will expand
1024+# the tree to such a level that at most the specified number of entries are
1025+# visible (unless a fully collapsed tree already exceeds this amount).
1026+# So setting the number of entries 1 will produce a full collapsed tree by
1027+# default. 0 is a special value representing an infinite number of entries
1028+# and will result in a full expanded tree by default.
1029+
1030+HTML_INDEX_NUM_ENTRIES = 100
1031+
1032+# If the GENERATE_DOCSET tag is set to YES, additional index files
1033+# will be generated that can be used as input for Apple's Xcode 3
1034+# integrated development environment, introduced with OSX 10.5 (Leopard).
1035+# To create a documentation set, doxygen will generate a Makefile in the
1036+# HTML output directory. Running make will produce the docset in that
1037+# directory and running "make install" will install the docset in
1038+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
1039+# it at startup.
1040+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
1041+# for more information.
1042+
1043+GENERATE_DOCSET = NO
1044+
1045+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
1046+# feed. A documentation feed provides an umbrella under which multiple
1047+# documentation sets from a single provider (such as a company or product suite)
1048+# can be grouped.
1049+
1050+DOCSET_FEEDNAME = "Doxygen generated docs"
1051+
1052+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
1053+# should uniquely identify the documentation set bundle. This should be a
1054+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
1055+# will append .docset to the name.
1056+
1057+DOCSET_BUNDLE_ID = org.doxygen.Project
1058+
1059+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely
1060+# identify the documentation publisher. This should be a reverse domain-name
1061+# style string, e.g. com.mycompany.MyDocSet.documentation.
1062+
1063+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
1064+
1065+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
1066+
1067+DOCSET_PUBLISHER_NAME = Publisher
1068+
1069+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
1070+# will be generated that can be used as input for tools like the
1071+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
1072+# of the generated HTML documentation.
1073+
1074+GENERATE_HTMLHELP = NO
1075+
1076+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
1077+# be used to specify the file name of the resulting .chm file. You
1078+# can add a path in front of the file if the result should not be
1079+# written to the html output directory.
1080+
1081+CHM_FILE =
1082+
1083+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
1084+# be used to specify the location (absolute path including file name) of
1085+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
1086+# the HTML help compiler on the generated index.hhp.
1087+
1088+HHC_LOCATION =
1089+
1090+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
1091+# controls if a separate .chi index file is generated (YES) or that
1092+# it should be included in the master .chm file (NO).
1093+
1094+GENERATE_CHI = NO
1095+
1096+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
1097+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
1098+# content.
1099+
1100+CHM_INDEX_ENCODING =
1101+
1102+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
1103+# controls whether a binary table of contents is generated (YES) or a
1104+# normal table of contents (NO) in the .chm file.
1105+
1106+BINARY_TOC = NO
1107+
1108+# The TOC_EXPAND flag can be set to YES to add extra items for group members
1109+# to the contents of the HTML help documentation and to the tree view.
1110+
1111+TOC_EXPAND = NO
1112+
1113+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
1114+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
1115+# that can be used as input for Qt's qhelpgenerator to generate a
1116+# Qt Compressed Help (.qch) of the generated HTML documentation.
1117+
1118+GENERATE_QHP = NO
1119+
1120+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
1121+# be used to specify the file name of the resulting .qch file.
1122+# The path specified is relative to the HTML output folder.
1123+
1124+QCH_FILE =
1125+
1126+# The QHP_NAMESPACE tag specifies the namespace to use when generating
1127+# Qt Help Project output. For more information please see
1128+# http://doc.trolltech.com/qthelpproject.html#namespace
1129+
1130+QHP_NAMESPACE = org.doxygen.Project
1131+
1132+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
1133+# Qt Help Project output. For more information please see
1134+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
1135+
1136+QHP_VIRTUAL_FOLDER = doc
1137+
1138+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
1139+# add. For more information please see
1140+# http://doc.trolltech.com/qthelpproject.html#custom-filters
1141+
1142+QHP_CUST_FILTER_NAME =
1143+
1144+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
1145+# custom filter to add. For more information please see
1146+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
1147+# Qt Help Project / Custom Filters</a>.
1148+
1149+QHP_CUST_FILTER_ATTRS =
1150+
1151+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
1152+# project's
1153+# filter section matches.
1154+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
1155+# Qt Help Project / Filter Attributes</a>.
1156+
1157+QHP_SECT_FILTER_ATTRS =
1158+
1159+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
1160+# be used to specify the location of Qt's qhelpgenerator.
1161+# If non-empty doxygen will try to run qhelpgenerator on the generated
1162+# .qhp file.
1163+
1164+QHG_LOCATION =
1165+
1166+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
1167+# will be generated, which together with the HTML files, form an Eclipse help
1168+# plugin. To install this plugin and make it available under the help contents
1169+# menu in Eclipse, the contents of the directory containing the HTML and XML
1170+# files needs to be copied into the plugins directory of eclipse. The name of
1171+# the directory within the plugins directory should be the same as
1172+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
1173+# the help appears.
1174+
1175+GENERATE_ECLIPSEHELP = NO
1176+
1177+# A unique identifier for the eclipse help plugin. When installing the plugin
1178+# the directory name containing the HTML and XML files should also have
1179+# this name.
1180+
1181+ECLIPSE_DOC_ID = org.doxygen.Project
1182+
1183+# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
1184+# at top of each HTML page. The value NO (the default) enables the index and
1185+# the value YES disables it. Since the tabs have the same information as the
1186+# navigation tree you can set this option to NO if you already set
1187+# GENERATE_TREEVIEW to YES.
1188+
1189+DISABLE_INDEX = NO
1190+
1191+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
1192+# structure should be generated to display hierarchical information.
1193+# If the tag value is set to YES, a side panel will be generated
1194+# containing a tree-like index structure (just like the one that
1195+# is generated for HTML Help). For this to work a browser that supports
1196+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
1197+# Windows users are probably better off using the HTML help feature.
1198+# Since the tree basically has the same information as the tab index you
1199+# could consider to set DISABLE_INDEX to NO when enabling this option.
1200+
1201+GENERATE_TREEVIEW = NO
1202+
1203+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
1204+# (range [0,1..20]) that doxygen will group on one line in the generated HTML
1205+# documentation. Note that a value of 0 will completely suppress the enum
1206+# values from appearing in the overview section.
1207+
1208+ENUM_VALUES_PER_LINE = 4
1209+
1210+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
1211+# used to set the initial width (in pixels) of the frame in which the tree
1212+# is shown.
1213+
1214+TREEVIEW_WIDTH = 250
1215+
1216+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
1217+# links to external symbols imported via tag files in a separate window.
1218+
1219+EXT_LINKS_IN_WINDOW = NO
1220+
1221+# Use this tag to change the font size of Latex formulas included
1222+# as images in the HTML documentation. The default is 10. Note that
1223+# when you change the font size after a successful doxygen run you need
1224+# to manually remove any form_*.png images from the HTML output directory
1225+# to force them to be regenerated.
1226+
1227+FORMULA_FONTSIZE = 10
1228+
1229+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
1230+# generated for formulas are transparent PNGs. Transparent PNGs are
1231+# not supported properly for IE 6.0, but are supported on all modern browsers.
1232+# Note that when changing this option you need to delete any form_*.png files
1233+# in the HTML output before the changes have effect.
1234+
1235+FORMULA_TRANSPARENT = YES
1236+
1237+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
1238+# (see http://www.mathjax.org) which uses client side Javascript for the
1239+# rendering instead of using prerendered bitmaps. Use this if you do not
1240+# have LaTeX installed or if you want to formulas look prettier in the HTML
1241+# output. When enabled you may also need to install MathJax separately and
1242+# configure the path to it using the MATHJAX_RELPATH option.
1243+
1244+USE_MATHJAX = NO
1245+
1246+# When MathJax is enabled you can set the default output format to be used for
1247+# thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and
1248+# SVG. The default value is HTML-CSS, which is slower, but has the best
1249+# compatibility.
1250+
1251+MATHJAX_FORMAT = HTML-CSS
1252+
1253+# When MathJax is enabled you need to specify the location relative to the
1254+# HTML output directory using the MATHJAX_RELPATH option. The destination
1255+# directory should contain the MathJax.js script. For instance, if the mathjax
1256+# directory is located at the same level as the HTML output directory, then
1257+# MATHJAX_RELPATH should be ../mathjax. The default value points to
1258+# the MathJax Content Delivery Network so you can quickly see the result without
1259+# installing MathJax. However, it is strongly recommended to install a local
1260+# copy of MathJax from http://www.mathjax.org before deployment.
1261+
1262+MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
1263+
1264+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
1265+# names that should be enabled during MathJax rendering.
1266+
1267+MATHJAX_EXTENSIONS =
1268+
1269+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
1270+# for the HTML output. The underlying search engine uses javascript
1271+# and DHTML and should work on any modern browser. Note that when using
1272+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
1273+# (GENERATE_DOCSET) there is already a search function so this one should
1274+# typically be disabled. For large projects the javascript based search engine
1275+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
1276+
1277+SEARCHENGINE = YES
1278+
1279+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
1280+# implemented using a web server instead of a web client using Javascript.
1281+# There are two flavours of web server based search depending on the
1282+# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
1283+# searching and an index file used by the script. When EXTERNAL_SEARCH is
1284+# enabled the indexing and searching needs to be provided by external tools.
1285+# See the manual for details.
1286+
1287+SERVER_BASED_SEARCH = NO
1288+
1289+# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP
1290+# script for searching. Instead the search results are written to an XML file
1291+# which needs to be processed by an external indexer. Doxygen will invoke an
1292+# external search engine pointed to by the SEARCHENGINE_URL option to obtain
1293+# the search results. Doxygen ships with an example indexer (doxyindexer) and
1294+# search engine (doxysearch.cgi) which are based on the open source search engine
1295+# library Xapian. See the manual for configuration details.
1296+
1297+EXTERNAL_SEARCH = NO
1298+
1299+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
1300+# which will returned the search results when EXTERNAL_SEARCH is enabled.
1301+# Doxygen ships with an example search engine (doxysearch) which is based on
1302+# the open source search engine library Xapian. See the manual for configuration
1303+# details.
1304+
1305+SEARCHENGINE_URL =
1306+
1307+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
1308+# search data is written to a file for indexing by an external tool. With the
1309+# SEARCHDATA_FILE tag the name of this file can be specified.
1310+
1311+SEARCHDATA_FILE = searchdata.xml
1312+
1313+# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the
1314+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
1315+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
1316+# projects and redirect the results back to the right project.
1317+
1318+EXTERNAL_SEARCH_ID =
1319+
1320+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
1321+# projects other than the one defined by this configuration file, but that are
1322+# all added to the same external search index. Each project needs to have a
1323+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id
1324+# of to a relative location where the documentation can be found.
1325+# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ...
1326+
1327+EXTRA_SEARCH_MAPPINGS =
1328+
1329+#---------------------------------------------------------------------------
1330+# configuration options related to the LaTeX output
1331+#---------------------------------------------------------------------------
1332+
1333+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
1334+# generate Latex output.
1335+
1336+GENERATE_LATEX = YES
1337+
1338+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
1339+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1340+# put in front of it. If left blank `latex' will be used as the default path.
1341+
1342+LATEX_OUTPUT = latex
1343+
1344+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
1345+# invoked. If left blank `latex' will be used as the default command name.
1346+# Note that when enabling USE_PDFLATEX this option is only used for
1347+# generating bitmaps for formulas in the HTML output, but not in the
1348+# Makefile that is written to the output directory.
1349+
1350+LATEX_CMD_NAME = latex
1351+
1352+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
1353+# generate index for LaTeX. If left blank `makeindex' will be used as the
1354+# default command name.
1355+
1356+MAKEINDEX_CMD_NAME = makeindex
1357+
1358+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
1359+# LaTeX documents. This may be useful for small projects and may help to
1360+# save some trees in general.
1361+
1362+COMPACT_LATEX = NO
1363+
1364+# The PAPER_TYPE tag can be used to set the paper type that is used
1365+# by the printer. Possible values are: a4, letter, legal and
1366+# executive. If left blank a4wide will be used.
1367+
1368+PAPER_TYPE = a4
1369+
1370+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
1371+# packages that should be included in the LaTeX output.
1372+
1373+EXTRA_PACKAGES =
1374+
1375+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
1376+# the generated latex document. The header should contain everything until
1377+# the first chapter. If it is left blank doxygen will generate a
1378+# standard header. Notice: only use this tag if you know what you are doing!
1379+
1380+LATEX_HEADER =
1381+
1382+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
1383+# the generated latex document. The footer should contain everything after
1384+# the last chapter. If it is left blank doxygen will generate a
1385+# standard footer. Notice: only use this tag if you know what you are doing!
1386+
1387+LATEX_FOOTER =
1388+
1389+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
1390+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
1391+# contain links (just like the HTML output) instead of page references
1392+# This makes the output suitable for online browsing using a pdf viewer.
1393+
1394+PDF_HYPERLINKS = YES
1395+
1396+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
1397+# plain latex in the generated Makefile. Set this option to YES to get a
1398+# higher quality PDF documentation.
1399+
1400+USE_PDFLATEX = YES
1401+
1402+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
1403+# command to the generated LaTeX files. This will instruct LaTeX to keep
1404+# running if errors occur, instead of asking the user for help.
1405+# This option is also used when generating formulas in HTML.
1406+
1407+LATEX_BATCHMODE = NO
1408+
1409+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
1410+# include the index chapters (such as File Index, Compound Index, etc.)
1411+# in the output.
1412+
1413+LATEX_HIDE_INDICES = NO
1414+
1415+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
1416+# source code with syntax highlighting in the LaTeX output.
1417+# Note that which sources are shown also depends on other settings
1418+# such as SOURCE_BROWSER.
1419+
1420+LATEX_SOURCE_CODE = NO
1421+
1422+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
1423+# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
1424+# http://en.wikipedia.org/wiki/BibTeX for more info.
1425+
1426+LATEX_BIB_STYLE = plain
1427+
1428+#---------------------------------------------------------------------------
1429+# configuration options related to the RTF output
1430+#---------------------------------------------------------------------------
1431+
1432+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
1433+# The RTF output is optimized for Word 97 and may not look very pretty with
1434+# other RTF readers or editors.
1435+
1436+GENERATE_RTF = NO
1437+
1438+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
1439+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1440+# put in front of it. If left blank `rtf' will be used as the default path.
1441+
1442+RTF_OUTPUT = rtf
1443+
1444+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
1445+# RTF documents. This may be useful for small projects and may help to
1446+# save some trees in general.
1447+
1448+COMPACT_RTF = NO
1449+
1450+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
1451+# will contain hyperlink fields. The RTF file will
1452+# contain links (just like the HTML output) instead of page references.
1453+# This makes the output suitable for online browsing using WORD or other
1454+# programs which support those fields.
1455+# Note: wordpad (write) and others do not support links.
1456+
1457+RTF_HYPERLINKS = NO
1458+
1459+# Load style sheet definitions from file. Syntax is similar to doxygen's
1460+# config file, i.e. a series of assignments. You only have to provide
1461+# replacements, missing definitions are set to their default value.
1462+
1463+RTF_STYLESHEET_FILE =
1464+
1465+# Set optional variables used in the generation of an rtf document.
1466+# Syntax is similar to doxygen's config file.
1467+
1468+RTF_EXTENSIONS_FILE =
1469+
1470+#---------------------------------------------------------------------------
1471+# configuration options related to the man page output
1472+#---------------------------------------------------------------------------
1473+
1474+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
1475+# generate man pages
1476+
1477+GENERATE_MAN = NO
1478+
1479+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
1480+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1481+# put in front of it. If left blank `man' will be used as the default path.
1482+
1483+MAN_OUTPUT = man
1484+
1485+# The MAN_EXTENSION tag determines the extension that is added to
1486+# the generated man pages (default is the subroutine's section .3)
1487+
1488+MAN_EXTENSION = .3
1489+
1490+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
1491+# then it will generate one additional man file for each entity
1492+# documented in the real man page(s). These additional files
1493+# only source the real man page, but without them the man command
1494+# would be unable to find the correct page. The default is NO.
1495+
1496+MAN_LINKS = NO
1497+
1498+#---------------------------------------------------------------------------
1499+# configuration options related to the XML output
1500+#---------------------------------------------------------------------------
1501+
1502+# If the GENERATE_XML tag is set to YES Doxygen will
1503+# generate an XML file that captures the structure of
1504+# the code including all documentation.
1505+
1506+GENERATE_XML = NO
1507+
1508+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
1509+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1510+# put in front of it. If left blank `xml' will be used as the default path.
1511+
1512+XML_OUTPUT = xml
1513+
1514+# The XML_SCHEMA tag can be used to specify an XML schema,
1515+# which can be used by a validating XML parser to check the
1516+# syntax of the XML files.
1517+
1518+XML_SCHEMA =
1519+
1520+# The XML_DTD tag can be used to specify an XML DTD,
1521+# which can be used by a validating XML parser to check the
1522+# syntax of the XML files.
1523+
1524+XML_DTD =
1525+
1526+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
1527+# dump the program listings (including syntax highlighting
1528+# and cross-referencing information) to the XML output. Note that
1529+# enabling this will significantly increase the size of the XML output.
1530+
1531+XML_PROGRAMLISTING = YES
1532+
1533+#---------------------------------------------------------------------------
1534+# configuration options for the AutoGen Definitions output
1535+#---------------------------------------------------------------------------
1536+
1537+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
1538+# generate an AutoGen Definitions (see autogen.sf.net) file
1539+# that captures the structure of the code including all
1540+# documentation. Note that this feature is still experimental
1541+# and incomplete at the moment.
1542+
1543+GENERATE_AUTOGEN_DEF = NO
1544+
1545+#---------------------------------------------------------------------------
1546+# configuration options related to the Perl module output
1547+#---------------------------------------------------------------------------
1548+
1549+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
1550+# generate a Perl module file that captures the structure of
1551+# the code including all documentation. Note that this
1552+# feature is still experimental and incomplete at the
1553+# moment.
1554+
1555+GENERATE_PERLMOD = NO
1556+
1557+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
1558+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
1559+# to generate PDF and DVI output from the Perl module output.
1560+
1561+PERLMOD_LATEX = NO
1562+
1563+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
1564+# nicely formatted so it can be parsed by a human reader. This is useful
1565+# if you want to understand what is going on. On the other hand, if this
1566+# tag is set to NO the size of the Perl module output will be much smaller
1567+# and Perl will parse it just the same.
1568+
1569+PERLMOD_PRETTY = YES
1570+
1571+# The names of the make variables in the generated doxyrules.make file
1572+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
1573+# This is useful so different doxyrules.make files included by the same
1574+# Makefile don't overwrite each other's variables.
1575+
1576+PERLMOD_MAKEVAR_PREFIX =
1577+
1578+#---------------------------------------------------------------------------
1579+# Configuration options related to the preprocessor
1580+#---------------------------------------------------------------------------
1581+
1582+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
1583+# evaluate all C-preprocessor directives found in the sources and include
1584+# files.
1585+
1586+ENABLE_PREPROCESSING = YES
1587+
1588+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
1589+# names in the source code. If set to NO (the default) only conditional
1590+# compilation will be performed. Macro expansion can be done in a controlled
1591+# way by setting EXPAND_ONLY_PREDEF to YES.
1592+
1593+MACRO_EXPANSION = NO
1594+
1595+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
1596+# then the macro expansion is limited to the macros specified with the
1597+# PREDEFINED and EXPAND_AS_DEFINED tags.
1598+
1599+EXPAND_ONLY_PREDEF = NO
1600+
1601+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
1602+# pointed to by INCLUDE_PATH will be searched when a #include is found.
1603+
1604+SEARCH_INCLUDES = YES
1605+
1606+# The INCLUDE_PATH tag can be used to specify one or more directories that
1607+# contain include files that are not input files but should be processed by
1608+# the preprocessor.
1609+
1610+INCLUDE_PATH =
1611+
1612+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
1613+# patterns (like *.h and *.hpp) to filter out the header-files in the
1614+# directories. If left blank, the patterns specified with FILE_PATTERNS will
1615+# be used.
1616+
1617+INCLUDE_FILE_PATTERNS =
1618+
1619+# The PREDEFINED tag can be used to specify one or more macro names that
1620+# are defined before the preprocessor is started (similar to the -D option of
1621+# gcc). The argument of the tag is a list of macros of the form: name
1622+# or name=definition (no spaces). If the definition and the = are
1623+# omitted =1 is assumed. To prevent a macro definition from being
1624+# undefined via #undef or recursively expanded use the := operator
1625+# instead of the = operator.
1626+
1627+PREDEFINED =
1628+
1629+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
1630+# this tag can be used to specify a list of macro names that should be expanded.
1631+# The macro definition that is found in the sources will be used.
1632+# Use the PREDEFINED tag if you want to use a different macro definition that
1633+# overrules the definition found in the source code.
1634+
1635+EXPAND_AS_DEFINED =
1636+
1637+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
1638+# doxygen's preprocessor will remove all references to function-like macros
1639+# that are alone on a line, have an all uppercase name, and do not end with a
1640+# semicolon, because these will confuse the parser if not removed.
1641+
1642+SKIP_FUNCTION_MACROS = YES
1643+
1644+#---------------------------------------------------------------------------
1645+# Configuration::additions related to external references
1646+#---------------------------------------------------------------------------
1647+
1648+# The TAGFILES option can be used to specify one or more tagfiles. For each
1649+# tag file the location of the external documentation should be added. The
1650+# format of a tag file without this location is as follows:
1651+# TAGFILES = file1 file2 ...
1652+# Adding location for the tag files is done as follows:
1653+# TAGFILES = file1=loc1 "file2 = loc2" ...
1654+# where "loc1" and "loc2" can be relative or absolute paths
1655+# or URLs. Note that each tag file must have a unique name (where the name does
1656+# NOT include the path). If a tag file is not located in the directory in which
1657+# doxygen is run, you must also specify the path to the tagfile here.
1658+
1659+TAGFILES =
1660+
1661+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
1662+# a tag file that is based on the input files it reads.
1663+
1664+GENERATE_TAGFILE =
1665+
1666+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
1667+# in the class index. If set to NO only the inherited external classes
1668+# will be listed.
1669+
1670+ALLEXTERNALS = NO
1671+
1672+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
1673+# in the modules index. If set to NO, only the current project's groups will
1674+# be listed.
1675+
1676+EXTERNAL_GROUPS = YES
1677+
1678+# The PERL_PATH should be the absolute path and name of the perl script
1679+# interpreter (i.e. the result of `which perl').
1680+
1681+PERL_PATH = /usr/bin/perl
1682+
1683+#---------------------------------------------------------------------------
1684+# Configuration options related to the dot tool
1685+#---------------------------------------------------------------------------
1686+
1687+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
1688+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
1689+# or super classes. Setting the tag to NO turns the diagrams off. Note that
1690+# this option also works with HAVE_DOT disabled, but it is recommended to
1691+# install and use dot, since it yields more powerful graphs.
1692+
1693+CLASS_DIAGRAMS = YES
1694+
1695+# You can define message sequence charts within doxygen comments using the \msc
1696+# command. Doxygen will then run the mscgen tool (see
1697+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
1698+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
1699+# the mscgen tool resides. If left empty the tool is assumed to be found in the
1700+# default search path.
1701+
1702+MSCGEN_PATH =
1703+
1704+# If set to YES, the inheritance and collaboration graphs will hide
1705+# inheritance and usage relations if the target is undocumented
1706+# or is not a class.
1707+
1708+HIDE_UNDOC_RELATIONS = YES
1709+
1710+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
1711+# available from the path. This tool is part of Graphviz, a graph visualization
1712+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
1713+# have no effect if this option is set to NO (the default)
1714+
1715+HAVE_DOT = YES
1716+
1717+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
1718+# allowed to run in parallel. When set to 0 (the default) doxygen will
1719+# base this on the number of processors available in the system. You can set it
1720+# explicitly to a value larger than 0 to get control over the balance
1721+# between CPU load and processing speed.
1722+
1723+DOT_NUM_THREADS = 0
1724+
1725+# By default doxygen will use the Helvetica font for all dot files that
1726+# doxygen generates. When you want a differently looking font you can specify
1727+# the font name using DOT_FONTNAME. You need to make sure dot is able to find
1728+# the font, which can be done by putting it in a standard location or by setting
1729+# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
1730+# directory containing the font.
1731+
1732+DOT_FONTNAME = Helvetica
1733+
1734+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
1735+# The default size is 10pt.
1736+
1737+DOT_FONTSIZE = 10
1738+
1739+# By default doxygen will tell dot to use the Helvetica font.
1740+# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
1741+# set the path where dot can find it.
1742+
1743+DOT_FONTPATH =
1744+
1745+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
1746+# will generate a graph for each documented class showing the direct and
1747+# indirect inheritance relations. Setting this tag to YES will force the
1748+# CLASS_DIAGRAMS tag to NO.
1749+
1750+CLASS_GRAPH = YES
1751+
1752+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
1753+# will generate a graph for each documented class showing the direct and
1754+# indirect implementation dependencies (inheritance, containment, and
1755+# class references variables) of the class with other documented classes.
1756+
1757+COLLABORATION_GRAPH = YES
1758+
1759+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
1760+# will generate a graph for groups, showing the direct groups dependencies
1761+
1762+GROUP_GRAPHS = YES
1763+
1764+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
1765+# collaboration diagrams in a style similar to the OMG's Unified Modeling
1766+# Language.
1767+
1768+UML_LOOK = NO
1769+
1770+# If the UML_LOOK tag is enabled, the fields and methods are shown inside
1771+# the class node. If there are many fields or methods and many nodes the
1772+# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
1773+# threshold limits the number of items for each type to make the size more
1774+# managable. Set this to 0 for no limit. Note that the threshold may be
1775+# exceeded by 50% before the limit is enforced.
1776+
1777+UML_LIMIT_NUM_FIELDS = 10
1778+
1779+# If set to YES, the inheritance and collaboration graphs will show the
1780+# relations between templates and their instances.
1781+
1782+TEMPLATE_RELATIONS = NO
1783+
1784+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
1785+# tags are set to YES then doxygen will generate a graph for each documented
1786+# file showing the direct and indirect include dependencies of the file with
1787+# other documented files.
1788+
1789+INCLUDE_GRAPH = YES
1790+
1791+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
1792+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
1793+# documented header file showing the documented files that directly or
1794+# indirectly include this file.
1795+
1796+INCLUDED_BY_GRAPH = YES
1797+
1798+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
1799+# doxygen will generate a call dependency graph for every global function
1800+# or class method. Note that enabling this option will significantly increase
1801+# the time of a run. So in most cases it will be better to enable call graphs
1802+# for selected functions only using the \callgraph command.
1803+
1804+CALL_GRAPH = NO
1805+
1806+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
1807+# doxygen will generate a caller dependency graph for every global function
1808+# or class method. Note that enabling this option will significantly increase
1809+# the time of a run. So in most cases it will be better to enable caller
1810+# graphs for selected functions only using the \callergraph command.
1811+
1812+CALLER_GRAPH = NO
1813+
1814+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
1815+# will generate a graphical hierarchy of all classes instead of a textual one.
1816+
1817+GRAPHICAL_HIERARCHY = YES
1818+
1819+# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
1820+# then doxygen will show the dependencies a directory has on other directories
1821+# in a graphical way. The dependency relations are determined by the #include
1822+# relations between the files in the directories.
1823+
1824+DIRECTORY_GRAPH = YES
1825+
1826+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
1827+# generated by dot. Possible values are svg, png, jpg, or gif.
1828+# If left blank png will be used. If you choose svg you need to set
1829+# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
1830+# visible in IE 9+ (other browsers do not have this requirement).
1831+
1832+DOT_IMAGE_FORMAT = png
1833+
1834+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
1835+# enable generation of interactive SVG images that allow zooming and panning.
1836+# Note that this requires a modern browser other than Internet Explorer.
1837+# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
1838+# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
1839+# visible. Older versions of IE do not have SVG support.
1840+
1841+INTERACTIVE_SVG = NO
1842+
1843+# The tag DOT_PATH can be used to specify the path where the dot tool can be
1844+# found. If left blank, it is assumed the dot tool can be found in the path.
1845+
1846+DOT_PATH =
1847+
1848+# The DOTFILE_DIRS tag can be used to specify one or more directories that
1849+# contain dot files that are included in the documentation (see the
1850+# \dotfile command).
1851+
1852+DOTFILE_DIRS =
1853+
1854+# The MSCFILE_DIRS tag can be used to specify one or more directories that
1855+# contain msc files that are included in the documentation (see the
1856+# \mscfile command).
1857+
1858+MSCFILE_DIRS =
1859+
1860+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
1861+# nodes that will be shown in the graph. If the number of nodes in a graph
1862+# becomes larger than this value, doxygen will truncate the graph, which is
1863+# visualized by representing a node as a red box. Note that doxygen if the
1864+# number of direct children of the root node in a graph is already larger than
1865+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
1866+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
1867+
1868+DOT_GRAPH_MAX_NODES = 50
1869+
1870+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
1871+# graphs generated by dot. A depth value of 3 means that only nodes reachable
1872+# from the root by following a path via at most 3 edges will be shown. Nodes
1873+# that lay further from the root node will be omitted. Note that setting this
1874+# option to 1 or 2 may greatly reduce the computation time needed for large
1875+# code bases. Also note that the size of a graph can be further restricted by
1876+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
1877+
1878+MAX_DOT_GRAPH_DEPTH = 0
1879+
1880+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
1881+# background. This is disabled by default, because dot on Windows does not
1882+# seem to support this out of the box. Warning: Depending on the platform used,
1883+# enabling this option may lead to badly anti-aliased labels on the edges of
1884+# a graph (i.e. they become hard to read).
1885+
1886+DOT_TRANSPARENT = NO
1887+
1888+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
1889+# files in one run (i.e. multiple -o and -T options on the command line). This
1890+# makes dot run faster, but since only newer versions of dot (>1.8.10)
1891+# support this, this feature is disabled by default.
1892+
1893+DOT_MULTI_TARGETS = NO
1894+
1895+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
1896+# generate a legend page explaining the meaning of the various boxes and
1897+# arrows in the dot generated graphs.
1898+
1899+GENERATE_LEGEND = YES
1900+
1901+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
1902+# remove the intermediate dot files that are used to generate
1903+# the various graphs.
1904+
1905+DOT_CLEANUP = YES
--- a/include/dmath.hh
+++ b/include/dmath.hh
@@ -14,38 +14,76 @@
1414
1515 namespace dmath {
1616
17+/**
18+ *
19+ * @brief Base class of Vector.
20+ *
21+ * @tparam N_TYPE Type of the nodes.
22+ * @tparam LEN Length of the vector.
23+ * @tparam DAT_TYPE Type of the container.
24+ * @tparam ALLOC allocator.
25+ *
26+ * This Vector class
27+ */
1728 template <typename N_TYPE,
1829 size_type LEN = 0,
1930 class DAT_TYPE = typename std::array<N_TYPE, LEN>,
20- class ALLOC = std::allocator<N_TYPE>>
31+ class ALLOC = std::allocator<N_TYPE>
32+ >
2133 class Vector {
2234 public:
2335 enum Size : size_type {
24- length = LEN,
36+ length = LEN, //!< Value of template parameter
2537 };
26- typedef N_TYPE value_type;
27- typedef DAT_TYPE node_type;
28- typedef ALLOC allocator_type;
29- typedef typename node_type::reference reference;
30- typedef typename node_type::const_reference const_reference;
31- typedef typename node_type::iterator iterator;
32- typedef typename node_type::const_iterator const_iterator;
38+ typedef N_TYPE value_type; //!< Type of the nodes
39+ typedef DAT_TYPE node_type; //!< Type of container of the node
40+ typedef ALLOC allocator_type; //!< Type of allocator
41+ typedef typename node_type::reference reference; //!< Type of reference of node
42+ typedef typename node_type::const_reference const_reference; //!< Type of const reference of the node
43+ typedef typename node_type::iterator iterator; //!< Type of iterator
44+ typedef typename node_type::const_iterator const_iterator; //!< Type of const iterator
3345
3446 private:
35- node_type nodes;
36-
47+ node_type nodes; // container entity
3748 public:
38- explicit Vector()
49+ /**
50+ * @brief Default consructor.
51+ *
52+ * Constructs a container by the default constructor of the node_type.
53+ */
54+ Vector()
3955 : nodes()
4056 {
4157 }
4258
43- Vector(const node_type& ary)
59+ /**
60+ * @brief Conversion consturctor from node_type.
61+ *
62+ * Constructs a container by copy constructor of the node_type.
63+ * @param[in] ary source of data container.
64+ */
65+ explicit Vector(const node_type& ary)
4466 : nodes(ary)
4567 {
4668 }
4769
48- Vector(const std::initializer_list<N_TYPE>& arg,
70+ /**
71+ * @brief Initializer_list constructor.
72+ *
73+ * @JP
74+ * 日本語で説明
75+ * @EN
76+ * Constructs a container with a copy of each elements in @BP{arg},
77+ * in the same order. If length of @BP{arg} is shorter than node container,
78+ * trailing elements are filled by @BP{val}.
79+ * If length of @BP{arg} is longer than the node container, extra values
80+ * of @BP{arg} are discarded.
81+ * @ENDL
82+ * @param[in] arg Source of data container
83+ * @param[in] val A value which fills trailing elements if @BP{arg} is
84+ * shorter than node container.
85+ */
86+ explicit Vector(const std::initializer_list<N_TYPE>& arg,
4987 const_reference val = value_type())
5088 : nodes()
5189 {
@@ -140,9 +178,13 @@ class Vector {
140178 template <typename N_TYPE>
141179 class Vector<N_TYPE, 0ul, std::array<N_TYPE, 0ul>>
142180 : public Vector<N_TYPE, 0ul, std::vector<N_TYPE>> {
181+ //! type of parent of this class
143182 using ParentType = Vector<N_TYPE, 0ul, std::vector<N_TYPE>>;
144183
145184 public:
185+ enum Size : size_type {
186+ length = 0ul, //!< constexpr'ish symbol for size.
187+ };
146188 typedef N_TYPE value_type;
147189 typedef typename ParentType::node_type node_type;
148190 typedef typename ParentType::allocator_type allocator_type;
--- a/tests/utest_vector0.cc
+++ b/tests/utest_vector0.cc
@@ -25,13 +25,13 @@ TEST(VectorTest, Base_Ctor) {
2525 // default
2626 VecType v0;
2727 for_each(begin(v0), end(v0), [](int v) {
28- EXPECT_EQ(0, v);
28+ EXPECT_EQ(0, v) << "values with Default C'tor(init'd:0)";
2929 });
3030 // from std::array;
3131 VecType v1(typename VecType::node_type{ { 0, 1, 2, 3, 4, 5, 6, 7 } });
3232 int i = 0;
3333 for_each(begin(v1), end(v1), [&i](int v) {
34- EXPECT_EQ(i++, v);
34+ EXPECT_EQ(i++, v) << "values with C'tor from std::array";
3535 });
3636
3737 // initializer_list