From 38017203f69cec3aa5f402fe8306eb1deff67b9a Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 22 Feb 2009 23:47:51 +0000 Subject: [PATCH 1/9] Add a purpose for macroname, headername, enumname, globalname. Ref #2153: There's still no documentation for methodname and classname. These are actually defined in the docbook DTD for a different purpose so I'm not sure how to deal with them. http://www.docbook.org/tdg/en/html/methodname.html http://www.docbook.org/tdg/en/html/classname.html [SVN r51401] --- doc/reference.dtdxml | 4 ++++ doc/reference.xml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/reference.dtdxml b/doc/reference.dtdxml index d664fc0..35267e8 100644 --- a/doc/reference.dtdxml +++ b/doc/reference.dtdxml @@ -1061,6 +1061,7 @@ +References a macro with the given name @@ -1392,6 +1393,7 @@ +References a C++ header with the given name @@ -1788,6 +1790,7 @@ +References a global with the given name @@ -3030,6 +3033,7 @@ +References an enumeration type with the given name diff --git a/doc/reference.xml b/doc/reference.xml index d1b05a6..730b68c 100644 --- a/doc/reference.xml +++ b/doc/reference.xml @@ -1,7 +1,7 @@
Reference - Elements:Element access - Declares an access specification for class membersElement boostbook - Defines a BoostBook bookElement class - Declares a class or class templateElement class-specialization - A specialization (partial or full) of a class templateElement code - Mimics the code tag in HTMLElement compile-fail-test - A testcase that should fail to compileElement compile-test - A testcase that should compile correctlyElement complexity - The time/space/etc. complexity of a functionElement constructor - Declares a constructor of the enclosing classElement copy-assignment - Declares a copy-assignment operatorElement data-member - Declares a data member of a classElement default - The default value of a function or template parameterElement description - Detailed description of a constructElement destructor - Declares a destructor for the enclosing classElement effects - Declares the side effects of a functionElement enum - Declares an enumeration typeElement enumname - Element enumvalue - A single value of an enumerationElement free-function-group - A set of functions that are grouped together under one nameElement function - Declares a functionElement functionname - References a function with the given nameElement globalname - Element header - Declares a C++ header with the given nameElement headername - Element if-fails - What it means when a testcase failsElement inherit - Declares a base class of the enclosing class or structElement lib - A library dependencyElement library - Top-level element for a libraryElement library-reference - Declares the reference material for a libraryElement librarycategory - Declares that the enclosing library is in this categoryElement librarycategorydef - Defines a new library categoryElement librarycategorylist - Categorized listing of librariesElement libraryinfo - Provides information about a libraryElement librarylist - Placeholder for an alphabetical list of librariesElement libraryname - References a library of the given nameElement librarypurpose - Describes in one short sentence or phrase the purpose of a libraryElement link-fail-test - Declares a test that should compile but fail to linkElement link-test - Declares a test that should compile and linkElement macroname - Element method - Declares a method, i.e., a member functionElement method-group - A set of methods that are grouped together under one nameElement namespace - Declares a namespaceElement notes - Non-normative notes about a function's semanticsElement overloaded-function - An overloaded functionElement overloaded-method - An overloaded methodElement parameter - A function parameterElement paramtype - The type of a function parameterElement postconditions - Conditions that must hold after the function returnsElement precondition - Conditions that must be met prior to executing a functionElement programlisting - A sample of program codeElement purpose - A short description of an entity's useElement rationale - Describes the rationale for a particular function's designElement requirement - A requirement/property in the Jamfile for a testcaseElement requires - Declares the requirements of a functionElement returns - Description of the return value of a functionElement run-fail-test - A testcase that should compile and link, but fail on executionElement run-test - A testcase that should compile, link, and executeElement signature - One signature of an overloaded function or methodElement snippet - Pulls in a code snippet from a programlisting elementElement source - Defines source code for a testElement specialization - Defines the specialization arguments for a class specializationElement static-constant - Declares a static constant, e.g., const int foo = 5;.Element struct - Declares a C++ structElement struct-specialization - A specialization (full or partial) of a struct templateElement template - Declares the template parameters of a class or functionElement template-arg - A template argument in a specializationElement template-nontype-parameter - A nontype template parameterElement template-type-parameter - Declares a template type parameterElement template-varargs - Declares a variable-length list of template parametersElement testsuite - Describes a library testsuiteElement throws - Description of the exceptions thrown by a functionElement type - The type of an element or return type of a functionElement typedef - Declares a typedefElement union - Declares a C++ union or union templateElement union-specialization - A specialization (full or partial) of a union templateElement using-class - Injects the method and function names of a class into the local scopeElement using-namespace - Injects the declared names from a namespace into the local scope + Elements:Element access - Declares an access specification for class membersElement boostbook - Defines a BoostBook bookElement class - Declares a class or class templateElement class-specialization - A specialization (partial or full) of a class templateElement code - Mimics the code tag in HTMLElement compile-fail-test - A testcase that should fail to compileElement compile-test - A testcase that should compile correctlyElement complexity - The time/space/etc. complexity of a functionElement constructor - Declares a constructor of the enclosing classElement copy-assignment - Declares a copy-assignment operatorElement data-member - Declares a data member of a classElement default - The default value of a function or template parameterElement description - Detailed description of a constructElement destructor - Declares a destructor for the enclosing classElement effects - Declares the side effects of a functionElement enum - Declares an enumeration typeElement enumname - References an enumeration type with the given nameElement enumvalue - A single value of an enumerationElement free-function-group - A set of functions that are grouped together under one nameElement function - Declares a functionElement functionname - References a function with the given nameElement globalname - References a global with the given nameElement header - Declares a C++ header with the given nameElement headername - References a C++ header with the given nameElement if-fails - What it means when a testcase failsElement inherit - Declares a base class of the enclosing class or structElement lib - A library dependencyElement library - Top-level element for a libraryElement library-reference - Declares the reference material for a libraryElement librarycategory - Declares that the enclosing library is in this categoryElement librarycategorydef - Defines a new library categoryElement librarycategorylist - Categorized listing of librariesElement libraryinfo - Provides information about a libraryElement librarylist - Placeholder for an alphabetical list of librariesElement libraryname - References a library of the given nameElement librarypurpose - Describes in one short sentence or phrase the purpose of a libraryElement link-fail-test - Declares a test that should compile but fail to linkElement link-test - Declares a test that should compile and linkElement macroname - References a macro with the given nameElement method - Declares a method, i.e., a member functionElement method-group - A set of methods that are grouped together under one nameElement namespace - Declares a namespaceElement notes - Non-normative notes about a function's semanticsElement overloaded-function - An overloaded functionElement overloaded-method - An overloaded methodElement parameter - A function parameterElement paramtype - The type of a function parameterElement postconditions - Conditions that must hold after the function returnsElement precondition - Conditions that must be met prior to executing a functionElement programlisting - A sample of program codeElement purpose - A short description of an entity's useElement rationale - Describes the rationale for a particular function's designElement requirement - A requirement/property in the Jamfile for a testcaseElement requires - Declares the requirements of a functionElement returns - Description of the return value of a functionElement run-fail-test - A testcase that should compile and link, but fail on executionElement run-test - A testcase that should compile, link, and executeElement signature - One signature of an overloaded function or methodElement snippet - Pulls in a code snippet from a programlisting elementElement source - Defines source code for a testElement specialization - Defines the specialization arguments for a class specializationElement static-constant - Declares a static constant, e.g., const int foo = 5;.Element struct - Declares a C++ structElement struct-specialization - A specialization (full or partial) of a struct templateElement template - Declares the template parameters of a class or functionElement template-arg - A template argument in a specializationElement template-nontype-parameter - A nontype template parameterElement template-type-parameter - Declares a template type parameterElement template-varargs - Declares a variable-length list of template parametersElement testsuite - Describes a library testsuiteElement throws - Description of the exceptions thrown by a functionElement type - The type of an element or return type of a functionElement typedef - Declares a typedefElement union - Declares a C++ union or union templateElement union-specialization - A specialization (full or partial) of a union templateElement using-class - Injects the method and function names of a class into the local scopeElement using-namespace - Injects the declared names from a namespace into the local scope From 5220fa791b40492019695e378f895f90c3562cc7 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 8 Mar 2009 09:45:51 +0000 Subject: [PATCH 2/9] Display text purposes in function reference. [SVN r51647] --- xsl/function.xsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xsl/function.xsl b/xsl/function.xsl index 762a063..61619f7 100644 --- a/xsl/function.xsl +++ b/xsl/function.xsl @@ -746,7 +746,7 @@ - + From 03983168fc4171e231016cf4064ecec7de2cd050 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Tue, 10 Mar 2009 08:09:14 +0000 Subject: [PATCH 3/9] Try to support inbodydescription in doxygen xml. [SVN r51680] --- xsl/doxygen/doxygen2boostbook.xsl | 37 +++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/xsl/doxygen/doxygen2boostbook.xsl b/xsl/doxygen/doxygen2boostbook.xsl index ee73005..359f717 100644 --- a/xsl/doxygen/doxygen2boostbook.xsl +++ b/xsl/doxygen/doxygen2boostbook.xsl @@ -51,7 +51,7 @@ - + @@ -118,6 +118,7 @@ tell us what is \internal and what isn't. --> + @@ -259,6 +260,7 @@ + @@ -284,6 +286,7 @@ + @@ -302,6 +305,7 @@ + @@ -360,9 +364,10 @@ - + + @@ -453,6 +458,7 @@ tell us what is \internal and what isn't. --> + @@ -476,6 +482,7 @@ + @@ -749,6 +756,7 @@ tell us what is \internal and what isn't. --> + @@ -836,6 +844,7 @@ + @@ -874,7 +883,7 @@ - @@ -924,24 +933,25 @@ + - + - + @@ -1151,6 +1161,7 @@ + @@ -1213,6 +1224,14 @@ + + + + + + + + From f969e671789c95557f6511db676bbb6c863ee76b Mon Sep 17 00:00:00 2001 From: John Maddock Date: Wed, 11 Mar 2009 10:22:42 +0000 Subject: [PATCH 4/9] Set margins to 0pt so they line up with surrounding text rather than appearing outside it - prevents margins from overlapping other content. [SVN r51696] --- xsl/fo.xsl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xsl/fo.xsl b/xsl/fo.xsl index 5f12bb2..423b6d0 100644 --- a/xsl/fo.xsl +++ b/xsl/fo.xsl @@ -176,6 +176,8 @@ Put a box around admonishments and keep them together: 0.2cm 0.2cm 1 + 0pt + 0pt - - static - - - mutable + + static + mutable + + + + + From b7abd20087e1cb78c0572fcee9e09da0fdc6b07d Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sat, 11 Apr 2009 07:55:00 +0000 Subject: [PATCH 7/9] Partially revert [51323]. It added partial support for protected and private attributes and friend functions. But since it isn't complete support it was doing more harm than good. [SVN r52321] --- xsl/doxygen/doxygen2boostbook.xsl | 9 --------- 1 file changed, 9 deletions(-) diff --git a/xsl/doxygen/doxygen2boostbook.xsl b/xsl/doxygen/doxygen2boostbook.xsl index 32e8852..554cce6 100644 --- a/xsl/doxygen/doxygen2boostbook.xsl +++ b/xsl/doxygen/doxygen2boostbook.xsl @@ -699,15 +699,6 @@ - - - - - - - - - From 5252102defec98f16ec0599423f64d4fb339e9da Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sat, 11 Apr 2009 12:38:30 +0000 Subject: [PATCH 8/9] Workaround buggy doxygen output. Refs #2937 [SVN r52326] --- xsl/doxygen/doxygen2boostbook.xsl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/xsl/doxygen/doxygen2boostbook.xsl b/xsl/doxygen/doxygen2boostbook.xsl index 554cce6..e165329 100644 --- a/xsl/doxygen/doxygen2boostbook.xsl +++ b/xsl/doxygen/doxygen2boostbook.xsl @@ -563,6 +563,22 @@ + + + + + + + + + + + + + From dcf599b7d72f762ca653e89ce8278a4e9cd1dd5f Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 12 Apr 2009 10:06:24 +0000 Subject: [PATCH 9/9] Add a test document for doxygen integration. [SVN r52344] --- test/doxygen/Jamfile.v2 | 19 +++++++++++++ test/doxygen/boost/example.hpp | 49 ++++++++++++++++++++++++++++++++++ test/doxygen/example.xml | 6 +++++ 3 files changed, 74 insertions(+) create mode 100644 test/doxygen/Jamfile.v2 create mode 100644 test/doxygen/boost/example.hpp create mode 100644 test/doxygen/example.xml diff --git a/test/doxygen/Jamfile.v2 b/test/doxygen/Jamfile.v2 new file mode 100644 index 0000000..645e732 --- /dev/null +++ b/test/doxygen/Jamfile.v2 @@ -0,0 +1,19 @@ +import doxygen ; + +doxygen autodoc + : + [ glob boost/*.hpp ] + : + "boost.doxygen.reftitle=Example Reference" + ; + +boostbook standalone + : + example.xml + : + boost.root=../../../../.. + boost.libraries=../../../../../libs/libraries.htm + html.stylesheet=../../../../../doc/html/boostbook.css + + autodoc + ; diff --git a/test/doxygen/boost/example.hpp b/test/doxygen/boost/example.hpp new file mode 100644 index 0000000..a774991 --- /dev/null +++ b/test/doxygen/boost/example.hpp @@ -0,0 +1,49 @@ +int global_integer; +static int global_static_integer; +const int global_const_integer; +static const int global_static_const_integer; +enum global_enum { enumerator }; + +namespace example +{ + int namespace_integer; + static int namespace_static_integer; + const int namespace_const_integer; + static const int namespace_static_const_integer; + enum namespace_enum { enumerator }; + + class example + { + public: + int integer; + static int static_integer; + mutable int mutable_integer; + const int const_integer; + static mutable int static_mutable_integer; + static const int static_const_integer; + + enum class_enum { enumerator }; + protected: + int protected_integer; + static int protected_static_integer; + mutable int protected_mutable_integer; + const int protected_const_integer; + static mutable int protected_static_mutable_integer; + static const int protected_static_const_integer; + + enum protected_class_enum { enumerator }; + private: + int private_integer; + static int private_static_integer; + mutable int private_mutable_integer; + const int private_const_integer; + static mutable int private_static_mutable_integer; + static const int private_static_const_integer; + + enum private_class_enum { enumerator }; + }; + + template + struct example_template {}; +} \ No newline at end of file diff --git a/test/doxygen/example.xml b/test/doxygen/example.xml new file mode 100644 index 0000000..0e955c1 --- /dev/null +++ b/test/doxygen/example.xml @@ -0,0 +1,6 @@ + + + +Example + + \ No newline at end of file