summaryrefslogtreecommitdiffstats
path: root/src/boost/tools/docca/example
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/tools/docca/example
parentInitial commit. (diff)
downloadceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz
ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/tools/docca/example')
-rw-r--r--src/boost/tools/docca/example/Jamfile65
-rw-r--r--src/boost/tools/docca/example/boostbook.dtd439
-rw-r--r--src/boost/tools/docca/example/include/docca/example.hpp857
-rw-r--r--src/boost/tools/docca/example/index.xml14
-rw-r--r--src/boost/tools/docca/example/main.qbk28
-rw-r--r--src/boost/tools/docca/example/makeqbk.sh13
-rw-r--r--src/boost/tools/docca/example/reference.xsl14
-rw-r--r--src/boost/tools/docca/example/source.dox333
8 files changed, 1763 insertions, 0 deletions
diff --git a/src/boost/tools/docca/example/Jamfile b/src/boost/tools/docca/example/Jamfile
new file mode 100644
index 000000000..61d564f07
--- /dev/null
+++ b/src/boost/tools/docca/example/Jamfile
@@ -0,0 +1,65 @@
+#
+# Copyright (c) 2013-2016 Vinnie Falco (vinnie dot falco at gmail dot com)
+#
+# Distributed under the Boost Software License, Version 1.0. (See accompanying
+# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+#
+
+import os ;
+
+local broot = [ os.environ BOOST_ROOT ] ;
+
+project docca/doc ;
+
+using boostbook ;
+using quickbook ;
+using doxygen ;
+
+xml docca_bb : main.qbk ;
+
+path-constant out : . ;
+
+install stylesheets
+ :
+ $(broot)/doc/src/boostbook.css
+ :
+ <location>$(out)/html
+ ;
+
+explicit stylesheets ;
+
+install images
+ :
+ [ glob $(broot)/doc/src/images/*.png ]
+ :
+ <location>$(out)/html/images
+ ;
+
+explicit images ;
+
+install callouts
+ :
+ [ glob $(broot)/doc/src/images/callouts/*.png ]
+ :
+ <location>$(out)/html/images/callouts
+ ;
+
+explicit callout ;
+
+boostbook doc
+ :
+ docca_bb
+ :
+ <xsl:param>chapter.autolabel=0
+ <xsl:param>boost.root=$(broot)
+ <xsl:param>chapter.autolabel=0
+ <xsl:param>chunk.first.sections=1 # Chunk the first top-level section?
+ <xsl:param>chunk.section.depth=8 # Depth to which sections should be chunked
+ <xsl:param>generate.section.toc.level=1 # Control depth of TOC generation in sections
+ <xsl:param>toc.max.depth=2 # How many levels should be created for each TOC?
+ <xsl:param>toc.section.depth=2 # How deep should recursive sections appear in the TOC?
+ :
+ <location>temp
+ <dependency>stylesheets
+ <dependency>images
+ ;
diff --git a/src/boost/tools/docca/example/boostbook.dtd b/src/boost/tools/docca/example/boostbook.dtd
new file mode 100644
index 000000000..bd4c3f871
--- /dev/null
+++ b/src/boost/tools/docca/example/boostbook.dtd
@@ -0,0 +1,439 @@
+<!--
+ BoostBook DTD - development version
+
+ For further information, see: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost_Documentation_Format
+
+ Copyright (c) 2002 by Peter Simons <simons@cryp.to>
+ Copyright (c) 2003-2004 by Douglas Gregor <doug.gregor -at- gmail.com>
+ Copyright (c) 2007 by Frank Mori Hess <fmhess@users.sourceforge.net>
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+
+ The latest stable DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//Boost//DTD BoostBook XML V1.1//EN"
+ SYSTEM "http://www.boost.org/tools/boostbook/dtd/1.1/boostbook.dtd"
+
+ $Revision$
+ $Date$
+-->
+
+<!--========== Define XInclude features. ==========-->
+<!-- This is not really integrated into the DTD yet. Needs more
+ research. -->
+<!--
+<!ELEMENT xi:include (xi:fallback)?>
+<!ATTLIST xi:include
+ xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"
+ href CDATA #REQUIRED
+ parse (xml|text) "xml"
+ encoding CDATA #IMPLIED>
+
+<!ELEMENT xi:fallback ANY>
+<!ATTLIST xi:fallback
+ xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude">
+ -->
+
+<!ENTITY % local.common.attrib "last-revision CDATA #IMPLIED">
+
+<!--========== Define the BoostBook extensions ==========-->
+<!ENTITY % boost.common.attrib "%local.common.attrib;
+ id CDATA #IMPLIED">
+
+<!ENTITY % boost.namespace.mix
+ "class|class-specialization|struct|struct-specialization|
+ union|union-specialization|typedef|enum|
+ free-function-group|function|overloaded-function|
+ namespace">
+
+<!ENTITY % boost.template.mix
+ "template-type-parameter|template-nontype-parameter|template-varargs">
+
+<!ENTITY % boost.class.members
+ "static-constant|typedef|enum|
+ copy-assignment|constructor|destructor|method-group|
+ method|overloaded-method|data-member|class|class-specialization|struct|
+ struct-specialization|union|union-specialization">
+
+<!ENTITY % boost.class.mix
+ "%boost.class.members;|free-function-group|function|overloaded-function">
+
+<!ENTITY % boost.class.content
+ "template?, inherit*, purpose?, description?,
+ (%boost.class.mix;|access)*">
+
+<!ENTITY % boost.class-specialization.content
+ "template?, specialization?, inherit?, purpose?, description?,
+ (%boost.class.mix;|access)*">
+
+<!ENTITY % boost.function.semantics
+ "purpose?, description?, requires?, effects?, postconditions?,
+ returns?, throws?, complexity?, notes?, rationale?">
+
+<!ENTITY % library.content
+ "libraryinfo, (title, ((section|library-reference|testsuite))+)?">
+
+<!ELEMENT library (%library.content;)>
+<!ATTLIST library
+ name CDATA #REQUIRED
+ dirname CDATA #REQUIRED
+ html-only CDATA #IMPLIED
+ url CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT boostbook (title, (chapter|library)*)>
+<!ATTLIST boostbook %boost.common.attrib;>
+
+<!ELEMENT libraryinfo (author+, copyright*, legalnotice*, librarypurpose, librarycategory*)>
+<!ATTLIST libraryinfo %boost.common.attrib;>
+
+<!ELEMENT librarypurpose (#PCDATA|code|ulink|functionname|methodname|classname|macroname|headername|enumname|globalname)*>
+<!ATTLIST librarypurpose %boost.common.attrib;>
+
+<!ELEMENT librarycategory (#PCDATA)>
+<!ATTLIST librarycategory
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT libraryname (#PCDATA)>
+<!ATTLIST libraryname %boost.common.attrib;>
+
+<!ELEMENT library-reference ANY>
+<!ATTLIST library-reference
+ %boost.common.attrib;>
+
+<!ELEMENT librarylist EMPTY>
+<!ATTLIST librarylist %boost.common.attrib;>
+
+<!ELEMENT librarycategorylist (librarycategorydef)*>
+<!ATTLIST librarycategorylist %boost.common.attrib;>
+
+<!ELEMENT librarycategorydef (#PCDATA)>
+<!ATTLIST librarycategorydef
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT header ANY>
+<!ATTLIST header
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT namespace (%boost.namespace.mix;)*>
+<!ATTLIST namespace
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT class (%boost.class.content;)>
+<!ATTLIST class
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT struct (%boost.class.content;)>
+<!ATTLIST struct
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT union (%boost.class.content;)>
+<!ATTLIST union
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT class-specialization (%boost.class-specialization.content;)>
+<!ATTLIST class-specialization
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT struct-specialization (%boost.class-specialization.content;)>
+<!ATTLIST struct-specialization
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT union-specialization (%boost.class-specialization.content;)>
+<!ATTLIST union-specialization
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT access (%boost.class.members;)+>
+<!ATTLIST access
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!--========= C++ Templates =========-->
+<!ELEMENT template (%boost.template.mix;)*>
+<!ATTLIST template %boost.common.attrib;>
+
+<!ELEMENT template-type-parameter (default?, purpose?)>
+<!ATTLIST template-type-parameter
+ name CDATA #REQUIRED
+ pack CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT template-nontype-parameter (type, default?, purpose?)>
+<!ATTLIST template-nontype-parameter
+ name CDATA #REQUIRED
+ pack CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT template-varargs EMPTY>
+<!ATTLIST template-varargs %boost.common.attrib;>
+
+<!ELEMENT specialization (template-arg)*>
+<!ATTLIST specialization %boost.common.attrib;>
+
+<!ELEMENT template-arg ANY>
+<!ATTLIST template-arg
+ pack CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT default ANY>
+<!ATTLIST default %boost.common.attrib;>
+
+<!ELEMENT inherit (type, purpose?)>
+<!ATTLIST inherit
+ access CDATA #IMPLIED
+ pack CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT purpose ANY>
+<!ATTLIST purpose %boost.common.attrib;>
+
+<!ELEMENT description ANY>
+<!ATTLIST description %boost.common.attrib;>
+
+<!ELEMENT type ANY>
+<!ATTLIST type %boost.common.attrib;>
+
+<!ELEMENT typedef (type, purpose?, description?)>
+<!ATTLIST typedef
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT enum (enumvalue*, purpose?, description?)>
+<!ATTLIST enum
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT enumvalue (default?, purpose?, description?)>
+<!ATTLIST enumvalue
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT static-constant (type, default, purpose?, description?)>
+<!ATTLIST static-constant
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT data-member (type, purpose?, description?)>
+<!ATTLIST data-member
+ name CDATA #REQUIRED
+ specifiers CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT paramtype ANY>
+<!ATTLIST paramtype %boost.common.attrib;>
+
+<!ELEMENT effects ANY>
+<!ATTLIST effects %boost.common.attrib;>
+
+<!ELEMENT postconditions ANY>
+<!ATTLIST postconditions %boost.common.attrib;>
+
+<!ELEMENT method-group (method|overloaded-method)*>
+<!ATTLIST method-group
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT constructor (template?, parameter*, %boost.function.semantics;)>
+<!ATTLIST constructor
+ specifiers CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT destructor (%boost.function.semantics;)>
+<!ATTLIST destructor
+ specifiers CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT method (template?, type, parameter*, %boost.function.semantics;)>
+<!ATTLIST method
+ name CDATA #REQUIRED
+ cv CDATA #IMPLIED
+ specifiers CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT function (template?, type, parameter*, %boost.function.semantics;)>
+<!ATTLIST function
+ name CDATA #REQUIRED
+ specifiers CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT overloaded-method (signature*, %boost.function.semantics;)>
+<!ATTLIST overloaded-method
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT overloaded-function (signature*, %boost.function.semantics;)>
+<!ATTLIST overloaded-function
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT signature (template?, type, parameter*)>
+<!ATTLIST signature
+ cv CDATA #IMPLIED
+ specifiers CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT requires ANY>
+<!ATTLIST requires %boost.common.attrib;>
+
+<!ELEMENT returns ANY>
+<!ATTLIST returns %boost.common.attrib;>
+
+<!ELEMENT throws ANY>
+<!ATTLIST throws %boost.common.attrib;>
+
+<!ELEMENT complexity ANY>
+<!ATTLIST complexity %boost.common.attrib;>
+
+<!ELEMENT notes ANY>
+<!ATTLIST notes %boost.common.attrib;>
+
+<!ELEMENT rationale ANY>
+<!ATTLIST rationale %boost.common.attrib;>
+
+<!ELEMENT functionname (#PCDATA)>
+<!ATTLIST functionname
+ alt CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT enumname (#PCDATA)>
+<!ATTLIST enumname
+ alt CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT macroname (#PCDATA)>
+<!ATTLIST macroname
+ alt CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT headername (#PCDATA)>
+<!ATTLIST headername
+ alt CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT globalname (#PCDATA)>
+<!ATTLIST globalname
+ alt CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT copy-assignment
+ (template?, type?, parameter*, %boost.function.semantics;)>
+<!ATTLIST copy-assignment
+ cv CDATA #IMPLIED
+ specifiers CDATA #IMPLIED
+ %boost.common.attrib;>
+
+<!ELEMENT free-function-group (function|overloaded-function)*>
+<!ATTLIST free-function-group
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT precondition ANY>
+<!ATTLIST precondition %boost.common.attrib;>
+
+<!ELEMENT code ANY>
+<!ATTLIST code %boost.common.attrib;>
+
+<!ELEMENT using-namespace EMPTY>
+<!ATTLIST using-namespace
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!ELEMENT using-class EMPTY>
+<!ATTLIST using-class
+ name CDATA #REQUIRED
+ %boost.common.attrib;>
+
+<!--========== Boost Testsuite Extensions ==========-->
+<!ENTITY % boost.testsuite.tests
+ "compile-test|link-test|run-test|
+ compile-fail-test|link-fail-test|run-fail-test">
+<!ENTITY % boost.testsuite.test.content
+ "source*, lib*, requirement*, purpose, if-fails?">
+
+<!ELEMENT testsuite ((%boost.testsuite.tests;)+)>
+<!ATTLIST testsuite %boost.common.attrib;>
+
+<!ELEMENT compile-test (%boost.testsuite.test.content;)>
+<!ATTLIST compile-test
+ filename CDATA #REQUIRED
+ name CDATA #IMPLIED>
+
+<!ELEMENT link-test (%boost.testsuite.test.content;)>
+<!ATTLIST link-test
+ filename CDATA #REQUIRED
+ name CDATA #IMPLIED>
+
+<!ELEMENT run-test (%boost.testsuite.test.content;)>
+<!ATTLIST run-test
+ filename CDATA #REQUIRED
+ name CDATA #IMPLIED>
+
+<!ELEMENT compile-fail-test (%boost.testsuite.test.content;)>
+<!ATTLIST compile-fail-test
+ filename CDATA #REQUIRED
+ name CDATA #IMPLIED>
+
+<!ELEMENT link-fail-test (%boost.testsuite.test.content;)>
+<!ATTLIST link-fail-test
+ filename CDATA #REQUIRED
+ name CDATA #IMPLIED>
+
+<!ELEMENT run-fail-test (%boost.testsuite.test.content;)>
+<!ATTLIST run-fail-test
+ filename CDATA #REQUIRED
+ name CDATA #IMPLIED>
+
+<!ELEMENT source (#PCDATA|snippet)*>
+
+<!ELEMENT snippet EMPTY>
+<!ATTLIST snippet
+ name CDATA #REQUIRED>
+
+<!ELEMENT lib (#PCDATA)>
+
+<!ELEMENT requirement (#PCDATA)>
+<!ATTLIST requirement
+ name CDATA #REQUIRED>
+
+<!ELEMENT if-fails ANY>
+
+<!ELEMENT parameter (paramtype, default?, description?)>
+<!ATTLIST parameter
+ name CDATA #IMPLIED
+ pack CDATA #IMPLIED>
+
+<!ELEMENT programlisting ANY>
+<!ATTLIST programlisting
+ name CDATA #IMPLIED>
+
+<!--========== Customize the DocBook DTD ==========-->
+<!ENTITY % local.tech.char.class "|functionname|libraryname|enumname|headername|macroname|code">
+<!ENTITY % local.para.class
+ "|using-namespace|using-class|librarylist|librarycategorylist">
+<!ENTITY % local.descobj.class "|libraryinfo">
+<!ENTITY % local.classname.attrib "alt CDATA #IMPLIED">
+<!ENTITY % local.methodname.attrib "alt CDATA #IMPLIED">
+<!ENTITY % local.refentry.class "|library-reference|testsuite">
+<!ENTITY % local.title.char.mix "">
+<!ENTITY % programlisting.module "IGNORE">
+<!ENTITY % parameter.module "IGNORE">
+<!ENTITY % function.module "IGNORE">
+<!ENTITY % type.module "IGNORE">
+
+<!--========== Import DocBook DTD ==========-->
+<!ENTITY % DocBook PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+%DocBook;
diff --git a/src/boost/tools/docca/example/include/docca/example.hpp b/src/boost/tools/docca/example/include/docca/example.hpp
new file mode 100644
index 000000000..f15913573
--- /dev/null
+++ b/src/boost/tools/docca/example/include/docca/example.hpp
@@ -0,0 +1,857 @@
+//
+// Copyright (c) 2015-2016 Vinnie Falco (vinnie dot falco at gmail dot com)
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#ifndef EXAMPLE_HPP
+#define EXAMPLE_HPP
+
+#include <cstddef>
+#include <string>
+
+// This is a sample header file to show docca XLST results
+//
+// namespace, enum, type alias, global, static global,
+// function, static function, struct/class
+
+namespace example {
+
+/** Enum
+
+ Description
+*/
+enum enum_t
+{
+ /// 0
+ zero,
+
+ /// 1
+ one,
+
+ /// 2
+ two
+};
+
+/** Enum class
+
+ Description
+*/
+enum class enum_c
+{
+ /// aaa
+ aaa,
+
+ /// bbb
+ bbb,
+
+ /// ccc
+ ccc
+};
+
+/** Type alias
+
+ Description
+*/
+using type = std::string;
+
+/** Template type alias
+
+ Description
+*/
+template<class T>
+using t_type = std::vector<T>;
+
+/** Void or deduced
+
+ Description
+*/
+using vod = __deduced__;
+
+/** See below
+
+ Description
+*/
+using sb = __see_below__;
+
+/** Implementation-defined
+
+ Description
+*/
+using impdef = __implementation_defined__;
+
+/** Variable
+
+ Description
+*/
+extern std::size_t var;
+
+/** Static variable
+
+ Description
+*/
+static std::size_t s_var = 0;
+
+/** Brief with @b bold text.
+
+ Function returning @ref type.
+
+ @return The type
+
+ @see t_func.
+
+ @throw std::exception on error
+ @throw std::domain_error on bad parameters
+
+ @par Thread Safety
+
+ Cannot be called concurrently.
+
+ @note Additional notes.
+
+ @param arg1 Function parameter 1
+ @param arg2 Function parameter 2
+*/
+type
+func(int arg1, std::string arg2);
+
+/** Brief for function starting with _
+
+ @return @ref type
+
+ @see func
+*/
+type
+_func(float arg1, std::size arg2);
+
+/** Brief.
+
+ Function description.
+
+ See @ref func.
+
+ @tparam T Template parameter 1
+ @tparam U Template parameter 2
+ @tparam V Template parameter 3
+
+ @param t Function parameter 1
+ @param u Function parameter 2
+ @param v Function parameter 3
+
+ @return nothing
+*/
+template<class T, class U>
+void
+t_func(T t, U const& u, V&& v);
+
+/** Overloaded function 1
+
+ Description
+
+ @param arg1 Parameter 1
+*/
+void
+overload(int arg1);
+
+/** Overloaded function 2
+
+ Description
+
+ @param arg1 Parameter 1
+ @param arg2 Parameter 2
+*/
+void
+overload(int arg1, int arg2);
+
+/** Overloaded function 3
+
+ Description
+
+ @param arg1 Parameter 1
+ @param arg2 Parameter 2
+ @param arg3 Parameter 3
+*/
+void
+overload(int arg1, int arg2, int arg3);
+
+/** Markdown examples
+
+ @par List
+
+ 1. Lists with extra long lines that can *span* multiple lines
+ and overflow even the longest of buffers.
+ 2. With Numbers
+ + Or not
+ + Nesting
+ 1. Deeply
+ + And returning `here`.
+
+ Another list I enjoy:
+
+ -# 1
+ - 1.a
+ -# 1.a.1
+ -# 1.a.2
+ - 1.b
+ -# 2
+ - 2.a
+ - 2.b
+ -# 2.b.1
+ -# 2.b.2
+ - 2.b.2.a
+ - 2.b.2.b
+
+ @par Table
+
+ First Header | Second Header
+ ------------- | -------------
+ Content Cell | Content Cell
+ Content Cell | Content Cell
+*/
+void markdown();
+
+//------------------------------------------------------------------------------
+
+namespace detail {
+
+/** Detail class
+
+ Description
+*/
+struct detail_type
+{
+};
+
+/** Detail function
+
+ Description
+*/
+void
+detail_function();
+
+} // detail
+
+//------------------------------------------------------------------------------
+
+/// Nested namespace
+namespace nested {
+
+/** Enum
+
+ Description
+*/
+enum enum_t
+{
+ /// 0
+ zero,
+
+ /// 1
+ one,
+
+ /// 2
+ two
+};
+
+/** Enum class
+
+ Description
+*/
+enum class enum_c
+{
+ /// aaa
+ aaa,
+
+ /// bbb
+ bbb,
+
+ /// ccc
+ ccc
+};
+
+/** Type alias
+
+ Description
+*/
+using type = std::string;
+
+/** Template type alias
+
+ Description
+*/
+template<class T>
+using t_type = std::vector<T>;
+
+/** Variable
+
+ Description
+*/
+extern std::size_t var;
+
+/** Static variable
+
+ Description
+*/
+static std::size_t s_var = 0;
+
+/** Brief with @b bold text.
+
+ Function returning @ref type.
+
+ @return The type
+
+ @see t_func.
+
+ @throw std::exception on error
+ @throw std::domain_error on bad parameters
+
+ @par Thread Safety
+
+ Cannot be called concurrently.
+
+ @note Additional notes.
+
+ @param arg1 Function parameter 1
+ @param arg2 Function parameter 2
+*/
+type
+func(int arg1, std::string arg2);
+
+/** Brief for function starting with _
+
+@return @ref type
+
+@see func
+*/
+type
+_func(float arg1, std::size arg2);
+
+/** Brief.
+
+ Function description.
+
+ See @ref func.
+
+ @tparam T Template parameter 1
+ @tparam U Template parameter 2
+ @tparam V Template parameter 3
+
+ @param t Function parameter 1
+ @param u Function parameter 2
+ @param v Function parameter 3
+
+ @return nothing
+*/
+template<class T, class U>
+void
+t_func(T t, U const& u, V&& v);
+
+/** Overloaded function 1
+
+ Description
+
+ @param arg1 Parameter 1
+*/
+void
+overload(int arg1);
+
+/** Overloaded function 2
+
+ Description
+
+ @param arg1 Parameter 1
+ @param arg2 Parameter 2
+*/
+void
+overload(int arg1, int arg2);
+
+/** Overloaded function 3
+
+ Description
+
+ @param arg1 Parameter 1
+ @param arg2 Parameter 2
+ @param arg3 Parameter 3
+*/
+void
+overload(int arg1, int arg2, int arg3);
+
+} // nested
+
+/// Overloads operators
+struct Num
+{
+
+ /// Addition
+ friend
+ Num
+ operator +(Num, Num);
+
+ /// Subtraction
+ friend
+ Num
+ operator -(Num, Num);
+
+ /// Multiplication
+ friend
+ Num
+ operator *(Num, Num);
+
+ /// Division
+ friend
+ Num
+ operator /(Num, Num);
+
+};
+
+/// @ref Num addition
+Num
+operator +(Num, Num);
+
+/// @ref Num subtraction
+Num
+operator -(Num, Num);
+
+/// @ref Num multiplication
+Num
+operator *(Num, Num);
+
+/// @ref Num division
+Num
+operator /(Num, Num);
+
+/** Template class type.
+
+ Description.
+
+ @tparam T Template parameter 1
+ @tparam U Template parameter 2
+*/
+template<class T, class U>
+class class_type
+{
+public:
+ /** Enum
+
+ Description
+ */
+ enum enum_t
+ {
+ /// 0
+ zero,
+
+ /// 1
+ one,
+
+ /// 2
+ two,
+
+ /// _3
+ _three
+ };
+
+ /** Enum class
+
+ Description
+ */
+ enum class enum_c
+ {
+ /// aaa
+ aaa,
+
+ /// bbb
+ bbb,
+
+ /// ccc
+ ccc,
+
+ /// _ddd
+ _ddd
+ };
+
+ /** Type alias
+
+ Description
+ */
+ using type = std::string;
+
+ /** Template type alias
+
+ Description
+ */
+ template<class T>
+ using t_type = std::vector<T>;
+
+ /** Variable
+
+ Description
+ */
+ extern std::size_t var;
+
+ /** Static variable
+
+ Description
+ */
+ static std::size_t s_var = 0;
+
+ /** Default Ctor
+
+ Description
+ */
+ class_type();
+
+ /** Dtor
+
+ Description
+ */
+ ~class_type();
+
+ /** Brief with @b bold text.
+
+ Function returning @ref type.
+
+ @return The type
+
+ @see t_func.
+
+ @throw std::exception on error
+ @throw std::domain_error on bad parameters
+
+ @par Thread Safety
+
+ Cannot be called concurrently.
+
+ @note Additional notes.
+
+ @param arg1 Function parameter 1
+ @param arg2 Function parameter 2
+ */
+ type
+ func(int arg1, std::string arg2);
+
+ /** Brief.
+
+ Function description.
+
+ See @ref func.
+
+ @tparam T Template parameter 1
+ @tparam U Template parameter 2
+ @tparam V Template parameter 3
+
+ @param t Function parameter 1
+ @param u Function parameter 2
+ @param v Function parameter 3
+
+ @return nothing
+ */
+ template<class T, class U>
+ void
+ t_func(T t, U const& u, V&& v);
+
+ /** Overloaded function 1
+
+ Description
+
+ @param arg1 Parameter 1
+ */
+ void
+ overload(int arg1);
+
+ /** Overloaded function 2
+
+ Description
+
+ @param arg1 Parameter 1
+ @param arg2 Parameter 2
+ */
+ void
+ overload(int arg1, int arg2);
+
+ /** Overloaded function 3
+
+ Description
+
+ @param arg1 Parameter 1
+ @param arg2 Parameter 2
+ @param arg3 Parameter 3
+ */
+ void
+ overload(int arg1, int arg2, int arg3);
+
+ /** Less-than operator
+
+ Description
+ */
+ bool
+ operator< (class_type const& rhs) const;
+
+ /** Greater-than operator
+
+ Description
+ */
+ bool
+ operator> (class_type const& rhs) const;
+
+ /** Less-than-or-equal-to operator
+
+ Description
+ */
+ bool
+ operator<= (class_type const& rhs) const;
+
+ /** Greater-than-or-equal-to operator
+
+ Description
+ */
+ bool
+ operator>= (class_type const& rhs) const;
+
+ /** Equality operator
+
+ Description
+ */
+ bool
+ operator== (class_type const& rhs) const;
+
+ /** Inequality operator
+
+ Description
+ */
+ bool
+ operator!= (class_type const& rhs) const;
+
+ /** Arrow operator
+
+ Description
+ */
+ std::size_t operator->() const;
+
+ /** Index operator
+
+ Description
+ */
+ enum_c& operator[](std::size_t);
+
+ /** Index operator
+
+ Description
+ */
+ enum_c operator[](std::size_t) const;
+
+ /// Public data
+ std::size_t pub_data_;
+
+ /// Public static data
+ static std::size_t pub_sdata_;
+
+protected:
+ /** Protected data
+
+ Description
+ */
+ std::size_t prot_data_;
+
+ /** Protected enum
+
+ Description
+ */
+ enum_c _prot_enum;
+
+ /** Static protected data
+
+ Description
+ */
+ static std::size_t prot_sdata_;
+
+ /** Protected type
+
+ Description
+ */
+ struct prot_type
+ {
+ };
+
+ /** Protected function
+
+ Description
+ */
+ void prot_memfn();
+
+ /** Protected function returning @ref prot_type
+
+ Description
+ */
+ prot_type prot_rvmemfn();
+
+ /** Protected static member function
+
+ Description
+ */
+ static void static_prot_memfn();
+
+private:
+ /** Private data
+
+ Description
+ */
+ std::size_t priv_data_;
+
+ /** Static private data
+
+ Description
+ */
+ static std::size_t priv_sdata_;
+
+ /** Private type
+
+ Description
+ */
+ struct priv_type
+ {
+ };
+
+ /** Private function
+
+ Description
+ */
+ void priv_memfn();
+
+ /** Private function returning *ref priv_type
+
+ Description
+ */
+ priv_type priv_rvmemfn();
+
+ /** Static private member function
+
+ Description
+ */
+ static void static_priv_memfn();
+
+ /** Friend class
+
+ Description
+ */
+ friend friend_class;
+};
+
+/// Other base class 1
+class other_base_class1
+{
+};
+
+/// Other base class 2
+class other_base_class2
+{
+};
+
+/** Derived type
+
+ Description
+*/
+template<class T, class U>
+class derived_type :
+ public class_type<T, U>,
+ protected other_base_class1,
+ private other_base_class2
+{
+};
+
+/** References to all identifiers:
+
+ Description one @ref one
+
+ @par See Also
+
+ @li @ref type
+
+ @li @ref t_type
+
+ @li @ref vod
+
+ @li @ref impdef
+
+ @li @ref var
+
+ @li @ref s_var
+
+ @li @ref func
+
+ @li @ref t_func
+
+ @li @ref overload
+
+ @li @ref nested::enum_t : @ref nested::zero @ref nested::one @ref nested::two
+
+ @li @ref nested::enum_c : nested::enum_c::aaa @ref nested::enum_c::bbb @ref nested::enum_c::ccc
+
+ @li @ref nested::type
+
+ @li @ref nested::t_type
+
+ @li @ref nested::var
+
+ @li @ref nested::s_var
+
+ @li @ref nested::func
+
+ @li @ref nested::t_func
+
+ @li @ref nested::overload
+
+ @li @ref class_type
+
+ @li @ref class_type::enum_t : @ref class_type::zero @ref class_type::one @ref class_type::two @ref class_type::_three
+
+ @li @ref class_type::enum_c : class_type::enum_c::aaa @ref class_type::enum_c::bbb @ref class_type::enum_c::ccc class_type::enum_c::_ddd
+
+ @li @ref class_type::type
+
+ @li @ref class_type::t_type
+
+ @li @ref class_type::var
+
+ @li @ref class_type::s_var
+
+ @li @ref class_type::class_type
+
+ @li @ref class_type::func
+
+ @li @ref class_type::t_func
+
+ @li @ref class_type::overload
+
+ @li @ref class_type::pub_data_
+
+ @li @ref class_type::pub_sdata_
+
+ @li @ref class_type::_prot_enum
+
+ @li @ref class_type::prot_type
+
+ @li @ref class_type::priv_type
+
+ @li @ref derived_type
+
+ @li @ref Num
+
+*/
+void all_ref();
+
+} // example
+
+namespace other {
+
+/// other function
+void func();
+
+/// other class
+struct class_type
+{
+};
+
+
+} // other
+
+#endif
diff --git a/src/boost/tools/docca/example/index.xml b/src/boost/tools/docca/example/index.xml
new file mode 100644
index 000000000..c364e4ed2
--- /dev/null
+++ b/src/boost/tools/docca/example/index.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "boostbook.dtd">
+
+<!--
+ Copyright (c) 2013-2016 Vinnie Falco (vinnie dot falco at gmail dot com)
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+-->
+
+<section id="docca.index">
+ <title>Index</title>
+ <index/>
+</section>
diff --git a/src/boost/tools/docca/example/main.qbk b/src/boost/tools/docca/example/main.qbk
new file mode 100644
index 000000000..43ddf6ae1
--- /dev/null
+++ b/src/boost/tools/docca/example/main.qbk
@@ -0,0 +1,28 @@
+[/
+ Copyright (c) 2013-2016 Vinnie Falco (vinnie dot falco at gmail dot com)
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+]
+
+[library docca
+ [quickbook 1.6]
+ [copyright 2016 Vinnie Falco]
+ [purpose Documentation Library]
+ [license
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ [@http://www.boost.org/LICENSE_1_0.txt])
+ ]
+ [category template]
+ [category generic]
+]
+
+[template mdash[] '''&mdash; ''']
+[template indexterm1[term1] '''<indexterm><primary>'''[term1]'''</primary></indexterm>''']
+[template indexterm2[term1 term2] '''<indexterm><primary>'''[term1]'''</primary><secondary>'''[term2]'''</secondary></indexterm>''']
+
+[section:ref Reference]
+[include reference.qbk]
+[endsect]
+[xinclude index.xml]
diff --git a/src/boost/tools/docca/example/makeqbk.sh b/src/boost/tools/docca/example/makeqbk.sh
new file mode 100644
index 000000000..e6fa0c30a
--- /dev/null
+++ b/src/boost/tools/docca/example/makeqbk.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/bash
+
+# Copyright (c) 2013-2016 Vinnie Falco (vinnie dot falco at gmail dot com)
+#
+# Distributed under the Boost Software License, Version 1.0. (See accompanying
+# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+mkdir -p temp
+doxygen source.dox
+cd temp
+xsltproc combine.xslt index.xml > all.xml
+xsltproc ../reference.xsl all.xml > ../reference.qbk
+
diff --git a/src/boost/tools/docca/example/reference.xsl b/src/boost/tools/docca/example/reference.xsl
new file mode 100644
index 000000000..de5675294
--- /dev/null
+++ b/src/boost/tools/docca/example/reference.xsl
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<!-- Variables (Edit for your project) -->
+<xsl:variable name="doc-ref" select="'docca.ref.'"/>
+<xsl:variable name="doc-ns" select="'example'"/>
+<xsl:variable name="debug" select="0"/>
+<xsl:variable name="private" select="0"/>
+<!-- End Variables -->
+
+<xsl:include href="../include/docca/doxygen.xsl"/>
+
+</xsl:stylesheet>
+
diff --git a/src/boost/tools/docca/example/source.dox b/src/boost/tools/docca/example/source.dox
new file mode 100644
index 000000000..c55616ee7
--- /dev/null
+++ b/src/boost/tools/docca/example/source.dox
@@ -0,0 +1,333 @@
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = "docca"
+PROJECT_NUMBER =
+PROJECT_BRIEF = Documentation Library
+PROJECT_LOGO =
+OUTPUT_DIRECTORY =
+CREATE_SUBDIRS = NO
+ALLOW_UNICODE_NAMES = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = YES
+INLINE_INHERITED_MEMB = YES
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH = include/
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = YES
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = YES
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 4
+ALIASES =
+TCL_SUBST =
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_FOR_FORTRAN = NO
+OPTIMIZE_OUTPUT_VHDL = NO
+EXTENSION_MAPPING =
+MARKDOWN_SUPPORT = YES
+AUTOLINK_SUPPORT = YES
+BUILTIN_STL_SUPPORT = NO
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = YES
+DISTRIBUTE_GROUP_DOC = NO
+GROUP_NESTED_COMPOUNDS = NO
+SUBGROUPING = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS = NO
+TYPEDEF_HIDES_STRUCT = NO
+LOOKUP_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_PACKAGE = NO
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = NO
+EXTRACT_ANON_NSPACES = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+HIDE_COMPOUND_REFERENCE= NO
+SHOW_INCLUDE_FILES = NO
+SHOW_GROUPED_MEMB_INC = NO
+FORCE_LOCAL_INCLUDES = NO
+INLINE_INFO = NO
+SORT_MEMBER_DOCS = NO
+SORT_BRIEF_DOCS = NO
+SORT_MEMBERS_CTORS_1ST = YES
+SORT_GROUP_NAMES = NO
+SORT_BY_SCOPE_NAME = NO
+STRICT_PROTO_MATCHING = NO
+GENERATE_TODOLIST = NO
+GENERATE_TESTLIST = NO
+GENERATE_BUGLIST = NO
+GENERATE_DEPRECATEDLIST= NO
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = NO
+SHOW_FILES = NO
+SHOW_NAMESPACES = NO
+FILE_VERSION_FILTER =
+LAYOUT_FILE =
+CITE_BIB_FILES =
+
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_AS_ERROR = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = include/docca/example.hpp
+
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS =
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = YES
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+FILTER_SOURCE_PATTERNS =
+USE_MDFILE_AS_MAINPAGE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION = NO
+REFERENCES_LINK_SOURCE = YES
+SOURCE_TOOLTIPS = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+CLANG_ASSISTED_PARSING = NO
+CLANG_OPTIONS =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 1
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = NO
+HTML_OUTPUT = dhtm
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_EXTRA_STYLESHEET =
+HTML_EXTRA_FILES =
+HTML_COLORSTYLE_HUE = 220
+HTML_COLORSTYLE_SAT = 100
+HTML_COLORSTYLE_GAMMA = 80
+HTML_TIMESTAMP = NO
+HTML_DYNAMIC_SECTIONS = NO
+HTML_INDEX_NUM_ENTRIES = 100
+GENERATE_DOCSET = NO
+DOCSET_FEEDNAME = "Doxygen generated docs"
+DOCSET_BUNDLE_ID = org.doxygen.Project
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME = Publisher
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+CHM_INDEX_ENCODING =
+BINARY_TOC = NO
+TOC_EXPAND = NO
+GENERATE_QHP = NO
+QCH_FILE =
+QHP_NAMESPACE = org.doxygen.Project
+QHP_VIRTUAL_FOLDER = doc
+QHP_CUST_FILTER_NAME =
+QHP_CUST_FILTER_ATTRS =
+QHP_SECT_FILTER_ATTRS =
+QHG_LOCATION =
+GENERATE_ECLIPSEHELP = NO
+ECLIPSE_DOC_ID = org.doxygen.Project
+DISABLE_INDEX = NO
+GENERATE_TREEVIEW = NO
+ENUM_VALUES_PER_LINE = 4
+TREEVIEW_WIDTH = 250
+EXT_LINKS_IN_WINDOW = NO
+FORMULA_FONTSIZE = 10
+FORMULA_TRANSPARENT = YES
+USE_MATHJAX = NO
+MATHJAX_FORMAT = HTML-CSS
+MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
+MATHJAX_EXTENSIONS =
+MATHJAX_CODEFILE =
+SEARCHENGINE = YES
+SERVER_BASED_SEARCH = NO
+EXTERNAL_SEARCH = NO
+SEARCHENGINE_URL =
+SEARCHDATA_FILE = searchdata.xml
+EXTERNAL_SEARCH_ID =
+EXTRA_SEARCH_MAPPINGS =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4
+EXTRA_PACKAGES =
+LATEX_HEADER =
+LATEX_FOOTER =
+LATEX_EXTRA_STYLESHEET =
+LATEX_EXTRA_FILES =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+LATEX_SOURCE_CODE = NO
+LATEX_BIB_STYLE = plain
+LATEX_TIMESTAMP = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+RTF_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_SUBDIR =
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = YES
+XML_OUTPUT = temp/
+XML_PROGRAMLISTING = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+GENERATE_DOCBOOK = NO
+DOCBOOK_OUTPUT = docbook
+DOCBOOK_PROGRAMLISTING = NO
+
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED = DOXYGEN \
+ GENERATING_DOCS \
+ _MSC_VER
+
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+EXTERNAL_PAGES = YES
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = NO
+MSCGEN_PATH =
+DIA_PATH =
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+DOT_NUM_THREADS = 0
+DOT_FONTNAME = Helvetica
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+UML_LIMIT_NUM_FIELDS = 10
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+INTERACTIVE_SVG = NO
+DOT_PATH =
+DOTFILE_DIRS =
+MSCFILE_DIRS =
+DIAFILE_DIRS =
+PLANTUML_JAR_PATH =
+PLANTUML_INCLUDE_PATH =
+DOT_GRAPH_MAX_NODES = 50
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES