diff --git a/doc/boostbook.xml b/doc/boostbook.xml index 8e9b67f..25e42cf 100644 --- a/doc/boostbook.xml +++ b/doc/boostbook.xml @@ -350,6 +350,6 @@ boostbook any : any.doxygen ; - + \ No newline at end of file diff --git a/doc/reference.dtdxml b/doc/reference.dtdxml new file mode 100644 index 0000000..ef218d0 --- /dev/null +++ b/doc/reference.dtdxml @@ -0,0 +1,3226 @@ + +A global identifier for this element +Set to $Date: 2003/03/30 03:10:39 $ to keep "last revised" information in sync with CVS changes +Implementation detail used by XIncludes +The name of the element being declared to referenced +The name of the file associated with this element +The specifiers for this function, e.g., inline, static, etc. +cv-qualifiers for this method, e.g., const volatile + + +template?, inherit*, purpose?, description?, + (static-constant|typedef|enum| + copy-assignment|constructor|destructor|method-group| + free-function-group|function|method|overloaded-function| + overloaded-method|data-member|class|class-specialization|struct| + struct-specialization|union|union-specialization)* +template?, inherit*, purpose?, description?, + (%boost.class.mix;)* + + + +purpose?, description?, requires?, effects?, postconditions?, + returns?, throws?, complexity?, notes?, rationale? +purpose?, description?, requires?, effects?, postconditions?, + returns?, throws?, complexity?, notes?, rationale? + + + +IGNORE +IGNORE + + + +alt CDATA #IMPLIED +alt CDATA #IMPLIED + + + +class|class-specialization|struct|struct-specialization| + union|union-specialization|typedef|enum| + free-function-group|function|overloaded-function| + namespace +class|class-specialization|struct|struct-specialization| + union|union-specialization|typedef|enum| + free-function-group|function|overloaded-function| + namespace + + + +source*, lib*, requirement*, purpose, if-fails? +source*, lib*, requirement*, purpose, if-fails? + + + +IGNORE +IGNORE + + + +|library-reference|testsuite +|library-reference|testsuite + + + +xml:base CDATA #IMPLIED + last-revision CDATA #IMPLIED + id CDATA #IMPLIED +%local.common.attrib; + id CDATA #IMPLIED + + + +static-constant|typedef|enum| + copy-assignment|constructor|destructor|method-group| + free-function-group|function|method|overloaded-function| + overloaded-method|data-member|class|class-specialization|struct| + struct-specialization|union|union-specialization +static-constant|typedef|enum| + copy-assignment|constructor|destructor|method-group| + free-function-group|function|method|overloaded-function| + overloaded-method|data-member|class|class-specialization|struct| + struct-specialization|union|union-specialization + + + +compile-test|link-test|run-test| + compile-fail-test|link-fail-test|run-fail-test +compile-test|link-test|run-test| + compile-fail-test|link-fail-test|run-fail-test + + + +|using-namespace|using-class|librarylist|librarycategorylist +|using-namespace|using-class|librarylist|librarycategorylist + + + + + + + + + + +alt CDATA #IMPLIED +alt CDATA #IMPLIED + + + +|functionname|libraryname|code +|functionname|libraryname|code + + + +IGNORE +IGNORE + + + +template-type-parameter|template-nontype-parameter|template-varargs +template-type-parameter|template-nontype-parameter|template-varargs + + + +xml:base CDATA #IMPLIED + last-revision CDATA #IMPLIED +xml:base CDATA #IMPLIED + last-revision CDATA #IMPLIED + + + +IGNORE +IGNORE + + + +|libraryinfo +|libraryinfo + + + +template?, specialization?, inherit?, purpose?, description?, + (static-constant|typedef|enum| + copy-assignment|constructor|destructor|method-group| + free-function-group|function|method|overloaded-function| + overloaded-method|data-member|class|class-specialization|struct| + struct-specialization|union|union-specialization)* +template?, specialization?, inherit?, purpose?, description?, + (%boost.class.mix;)* + + + +libraryinfo, (title, ((section|library-reference|testsuite))+)? +libraryinfo, (title, ((section|library-reference|testsuite))+)? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A specialization (partial or full) of a class template + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + +Declares a test that should compile and link + + + + + filename CDATA #REQUIRED + name CDATA #IMPLIED + + + + + + + + + + + + + + + + + + + +Declares a test that should compile but fail to link + + + + + filename CDATA #REQUIRED + name CDATA #IMPLIED + + + + + + + + + + + + + + + + + + + +Declares a typedef + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + +Declares a static constant, e.g., const int foo = 5;. + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +Mimics the code tag in HTML + + Text within a code tag is generally typeset + in a different, monospaced font so that it stands out as code. The + code tag in BoostBook is transformed directly + into the computeroutput tag in DocBook. + + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + +Declares a destructor for the enclosing class + + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + + + + specifiers CDATA #IMPLIED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + +Declares a template type parameter + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +Detailed description of a construct + + Although the context model for this element is + ANY, detailed descriptions should contain structured + DocBook elements that occur within sections, e.g., paragraphs + (para, simpara), lists + (orderedlist, itemizedlist), + tables (informaltable, table), + etc. + + + + + %boost.common.attrib; + + + + + + + + + + + + +Placeholder for an alphabetical list of libraries + + Developers aren't generally expected to use this element. Its existence is mainly as a placeholder in boost.xml for the alphabetical list of libraries. + + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + +Declares the reference material for a library + + Reference documentation for a library is contained with a + <library-reference> element. The <library-reference> + element has no attributes, and contains as children only + <header> elements. + + The <header> element defines a C++ header file. Within + each C++ header file lie the definitions of C++ constructs to be + documented. The name attribute of the <header> + element gives the name of the header, as one would specify when + including the header. For instance, the <library-reference> + for the Any library may look like + this: + + <library-reference> + <header name="boost/any.hpp"> + <!-- C++ constructs in this header --> + </header> +</library-reference> + + If the Any library contained + multiple headers, we would list them all as children of the + <library-reference> element. + + library-reference elements can be nested, + so that reference material can be divided into separate sections + that each contain different headers. + + + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + +Defines a BoostBook book + + This element is the topmost level defined by + boost.xml for all Boost documentation. It will + not generally be used by developers. + + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Declares a C++ union or union template + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +Declares a base class of the enclosing class or struct + + + This element contains the name of the class inherited. The + content model is free-form, as the inherited class may be an + instantiation of a template and may have markup in it (e.g., + classname tags). + + + + + + access CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + +Declares a variable-length list of template parameters + + + Variable-length template parameter lists are not allowed in + C++, but because they are sometimes needed in documentation they are + allowed in BoostBook. This element generally expands to "..." and + can be used anywhere any other template parameter can be + used. + + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + +Defines source code for a test + + + This element will contain the source code for a testcase that + will be generated from the documentation. To reduce the amount of escaping in the text, it is recommended to use CDATA sections, which look like this: + + <![CDATA[ +<your program text here: no escaping needed!> +]]> + + + In addition to CDATA sections, code snippets can be pulled in + from programlisting elements using the snippet + element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Declares a function + + BoostBook functions are documented by specifying the + function's interface (e.g., its C++ signature) and its + behavior. Constructors, destructors, member functions, and free + functions all use the same documentation method, although the + top-level tags differ. + + The behavior of functions in BoostBook is documenting using a + style similar to that of the C++ standard, with clauses describing + the requirements, effects, postconditions, exception behavior, and + return values of functions. + + The following example illustrates some constructors and a + destructor for boost::any. Note that one of + the constructors takes a single parameter whose name is "other" and + whose type, const any& is contained in the + <paramtype> element; any number of parameters may be specified + in this way. + + <class name="any"> + <constructor> + <postconditions><para><this->empty()></para></postconditions> + </constructor> + + <constructor> + <parameter name="other"> + <paramtype>const <classname>any</classname>&amp;</paramtype> + </parameter> + + <effects> + <simpara> Copy constructor that copies + content of <code>other</code> into the new instance, + so that any content is equivalent in both type and value to the + content of <code>other</code>, or empty if + <code>other</code> is + empty. + </simpara> + </effects> + + <throws> + <simpara>May fail with a + <classname>std::bad_alloc</classname> exception or any + exceptions arising from the copy constructor of the + contained type. + </simpara> + </throws> + </constructor> + + <destructor> + <effects><simpara>Releases any and all resources used in + management of instance.</simpara></effects> + + <throws><simpara>Nothing.</simpara></throws> + </destructor> +</class> + + + + + + name CDATA #REQUIRED + specifiers CDATA #IMPLIED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + +Conditions that must hold after the function returns + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + +A testcase that should compile correctly + + + + + filename CDATA #REQUIRED + name CDATA #IMPLIED + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Declares a method, i.e., a member function + + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + + + + name CDATA #REQUIRED + cv CDATA #IMPLIED + specifiers CDATA #IMPLIED + %boost.common.attrib; + + + + + + + + + + + + + + + +Pulls in a code snippet from a programlisting element + + + + + name CDATA #REQUIRED + + The name of the programlisting element to insert + + + + + + + + + + + + + + + + + + + + + + + + + + + +Declares a constructor of the enclosing class + + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + + + + specifiers CDATA #IMPLIED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Declares a namespace + + + BoostBook namespaces are declared via the <namespace> + element. As in C++, namespaces can be nested and contain other C++ + constructs, such as classes or functions. The name + attribute of a <namespace> element gives the namespace name + (e.g., "boost"). The Any library is + defined entirely within namespace boost by: + + <library-reference> + <header name="boost/any.hpp"> + <namespace name="boost"> + <!-- C++ constructs in the boost namespace --> + </namespace> + </header> +</library-reference> + + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +What it means when a testcase fails + + + Describes to the user the effect a certain failing testcase will + have on the usefulness of a library. This field is useful in cases + where a failed testcase does not mean that the library won't be + useful, but may mean that certain library features will not be + available. + + + + + + + + + + + + + + + + + +A set of functions that are grouped together under one name + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +References a function with the given name + + If a function (or overloaded function) with the given, + possibly-qualified name is found, this generates a link to that + function. Lookups obey currently-active using-class + and using-namespace + directives to aid in the search, along with searching within the + current scope. + + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + +Declares that the enclosing library is in this category + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +Non-normative notes about a function's semantics + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + +Declares a data member of a class + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +Defines the specialization arguments for a class specialization + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A specialization (full or partial) of a union template + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +Description of the exceptions thrown by a function + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + +A template argument in a specialization + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + +A set of methods that are grouped together under one name + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +A requirement/property in the Jamfile for a testcase + + A requirement is part of the dependencies of a target in a + Jamfile. The name attribute of a requirement element + gives the name of the Boost.Build feature and the content of the + requirement gives the value of that feature. A requirement such as + <includes>foo.hpp would be encoded as + <requirement + name="includes">foo.hpp</requirement>. + + + + + + name CDATA #REQUIRED + + + + + + + + + + + + + + +Conditions that must be met prior to executing a function + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + +The type of a function parameter + + + + %boost.common.attrib; + + + + + + + + + + + + +Injects the method and function names of a class into the local scope + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + +A testcase that should compile, link, and execute + + + + + filename CDATA #REQUIRED + name CDATA #IMPLIED + + + + + + + + + + + + + + + + + + + + + + + + + +Describes in one short sentence or phrase the purpose of a library + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Declares a copy-assignment operator + + The return type of the copy-assignment operator does not need + to be specified. If left unspecified, it will default to an + unqualified reference to the enclosing class type. + + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + + + + cv CDATA #IMPLIED + specifiers CDATA #IMPLIED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + +A testcase that should compile and link, but fail on execution + + + + + filename CDATA #REQUIRED + name CDATA #IMPLIED + + + + + + + + + + + + + + + + + +Declares the template parameters of a class or function + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + +A testcase that should fail to compile + + + + + filename CDATA #REQUIRED + name CDATA #IMPLIED + + + + + + + + + + + + + + + +Description of the return value of a function + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + +The default value of a function or template parameter + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + +A function parameter + + + + + name CDATA #IMPLIED + + + + + + + + + + + + + + + + + + +One signature of an overloaded function or method + + + A signature refers to one declaration of an overloaded function or + method. The signature itself has no name, because the name of the + overloaded function or method is used. An overloaded function or + method will have several signatures that will generally be typeset + together. + + + + + + + cv CDATA #IMPLIED + specifiers CDATA #IMPLIED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +An overloaded function + + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Declares a class or class template + + + C++ classes and class templates are described via the + <class> element. Each class has a name (e.g., "any") given by + the name attribute, a purpose given by the + <purpose> element, documentation, and a set of types, + functions, base classes, and data members. Here is a minimal + definition of the boost::any class: + + <namespace name="boost"> + <class name="any"> + <purpose> + A class whose instances can hold instances of any type that satisfies + ValueType requirements. + </purpose> + </class> +</namespace> + + Additional class documentation can be contained in a + description element following the <purpose> + element. This documentation will be typeset prior to documentation + for specific elements in the class (e.g., constructors or + methods). + + Class inheritance is described via the <inherit> + element. The <inherit> element requires an access + attribute which must be one of public, + protected, or private. The + content of the <inherited> element in C++ code that names the + class inherited, and may contain markup to link to the class. The + following description of the class + boost::bad_any_cast describes public + inheritance from the class std::bad_cast. It + also defines the <purpose> element, which contains a short + description of the use of the class. + + <class name="bad_any_cast"> + <inherit access="public"><classname>std::bad_cast</classname></inherit> + <purpose><para>The exception thrown in the event of a failed + <functionname>any_cast</functionname> of an + <classname>any</classname> value.</para></purpose> +</class> + + Class templates are defined by <class> elements with a + <template> child element at the beginning. + + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +Defines a new library category + + All library category definitions should be in doc/src/boost.xml, and the names of categories must be prefixed with "category:". + + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +The type of an element or return type of a function + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + +A single value of an enumeration + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + + +An overloaded method + + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +A sample of program code + + + + + name CDATA #IMPLIED + + + + + + + + + + + + + + +The time/space/etc. complexity of a function + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + +A short description of an entity's use + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + +A nontype template parameter + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + +Top-level element for a library + + + + + name CDATA #REQUIRED + dirname CDATA #REQUIRED + html-only CDATA #IMPLIED + url CDATA #IMPLIED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + +Categorized listing of libraries + + This element is not intended for use by developers, but is + used by doc/src/boost.xml as a + placeholder. + + + + + %boost.common.attrib; + + + + + + + + + + + + +Injects the declared names from a namespace into the local scope + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A specialization (full or partial) of a struct template + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Declares a C++ struct + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +A library dependency + + Declares a library dependency on the library named by the content of this element, to be emitted in a Jamfile. + + + + + + + + + + + + + + + + + + +Declares an enumeration type + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +Declares the requirements of a function + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + +Declares the side effects of a function + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + +References a library of the given name + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + +Provides information about a library + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + + + + + + + + + + +Describes a library testsuite + + + + %boost.common.attrib; + + + + + + + + + + + + + + + + +Declares a C++ header with the given name + + + + + name CDATA #REQUIRED + %boost.common.attrib; + + + + + + + + + + + + + + + + + +Describes the rationale for a particular function's design + + + + %boost.common.attrib; + + + + + + diff --git a/doc/reference.xml b/doc/reference.xml new file mode 100644 index 0000000..4ca9da8 --- /dev/null +++ b/doc/reference.xml @@ -0,0 +1,2761 @@ + +
+ Reference + Elements:Element 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 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 header - Declares 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 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 + + + + BoostBook element class-specialization + 9 + + + class-specialization + A specialization (partial or full) of a class template + + class-specialization ::= + (template?, specialization?, inherit?, purpose?, description?, (static-constant| typedef| enum| copy-assignment| constructor| destructor| method-group| free-function-group| function| method| overloaded-function| overloaded-method| data-member| class| class-specialization| struct| struct-specialization| union| union-specialization)*) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element link-test + 9 + + + link-test + Declares a test that should compile and link + + link-test ::= + (source*, lib*, requirement*, purpose, if-fails?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +filename#REQUIREDCDATAThe name of the file associated with this element +name#IMPLIEDCDATAThe name of the element being declared to referenced + + + + + + + + + BoostBook element link-fail-test + 9 + + + link-fail-test + Declares a test that should compile but fail to link + + link-fail-test ::= + (source*, lib*, requirement*, purpose, if-fails?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +filename#REQUIREDCDATAThe name of the file associated with this element +name#IMPLIEDCDATAThe name of the element being declared to referenced + + + + + + + + + BoostBook element typedef + 9 + + + typedef + Declares a typedef + + typedef ::= + (type, purpose?, description?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element static-constant + 9 + + + static-constant + Declares a static constant, e.g., const int foo = 5;. + + static-constant ::= + (type, default, purpose?, description?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element code + 9 + + + code + Mimics the code tag in HTML + + code ::= + (ANY) + + Description + Text within a code tag is generally typeset + in a different, monospaced font so that it stands out as code. The + code tag in BoostBook is transformed directly + into the computeroutput tag in DocBook. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element destructor + 9 + + + destructor + Declares a destructor for the enclosing class + + destructor ::= + (purpose?, description?, requires?, effects?, postconditions?, returns?, throws?, complexity?, notes?, rationale?) + + Description + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +specifiers#IMPLIEDCDATAThe specifiers for this function, e.g., inline, static, etc. +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element template-type-parameter + 9 + + + template-type-parameter + Declares a template type parameter + + template-type-parameter ::= + (default?, purpose?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element description + 9 + + + description + Detailed description of a construct + + description ::= + (ANY) + + Description + Although the context model for this element is + ANY, detailed descriptions should contain structured + DocBook elements that occur within sections, e.g., paragraphs + (para, simpara), lists + (orderedlist, itemizedlist), + tables (informaltable, table), + etc. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element librarylist + 9 + + + librarylist + Placeholder for an alphabetical list of libraries + + librarylist ::= + EMPTY + + Description + Developers aren't generally expected to use this element. Its existence is mainly as a placeholder in boost.xml for the alphabetical list of libraries. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element library-reference + 9 + + + library-reference + Declares the reference material for a library + + library-reference ::= + (title?, section*, (header| library-reference)*) + + Description + Reference documentation for a library is contained with a + <library-reference> element. The <library-reference> + element has no attributes, and contains as children only + <header> elements. + + The <header> element defines a C++ header file. Within + each C++ header file lie the definitions of C++ constructs to be + documented. The name attribute of the <header> + element gives the name of the header, as one would specify when + including the header. For instance, the <library-reference> + for the Any library may look like + this: + + <library-reference> + <header name="boost/any.hpp"> + <!-- C++ constructs in this header --> + </header> +</library-reference> + + If the Any library contained + multiple headers, we would list them all as children of the + <library-reference> element. + + library-reference elements can be nested, + so that reference material can be divided into separate sections + that each contain different headers. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element boostbook + 9 + + + boostbook + Defines a BoostBook book + + boostbook ::= + (title, (chapter| library)*) + + Description + This element is the topmost level defined by + boost.xml for all Boost documentation. It will + not generally be used by developers. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element union + 9 + + + union + Declares a C++ union or union template + + union ::= + (template?, inherit*, purpose?, description?, (static-constant| typedef| enum| copy-assignment| constructor| destructor| method-group| free-function-group| function| method| overloaded-function| overloaded-method| data-member| class| class-specialization| struct| struct-specialization| union| union-specialization)*) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element inherit + 9 + + + inherit + Declares a base class of the enclosing class or struct + + inherit ::= + (ANY) + + Description + This element contains the name of the class inherited. The + content model is free-form, as the inherited class may be an + instantiation of a template and may have markup in it (e.g., + classname tags). + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +access#REQUIREDCDATA +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element template-varargs + 9 + + + template-varargs + Declares a variable-length list of template parameters + + template-varargs ::= + EMPTY + + Description + Variable-length template parameter lists are not allowed in + C++, but because they are sometimes needed in documentation they are + allowed in BoostBook. This element generally expands to "..." and + can be used anywhere any other template parameter can be + used. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element source + 9 + + + source + Defines source code for a test + + source ::= + (#PCDATA| snippet)* + + Description + This element will contain the source code for a testcase that + will be generated from the documentation. To reduce the amount of escaping in the text, it is recommended to use CDATA sections, which look like this: + + <![CDATA[ +<your program text here: no escaping needed!> +]]> + + + In addition to CDATA sections, code snippets can be pulled in + from programlisting elements using the snippet + element. + + + + + + BoostBook element function + 9 + + + function + Declares a function + + function ::= + (template?, type, parameter*, purpose?, description?, requires?, effects?, postconditions?, returns?, throws?, complexity?, notes?, rationale?) + + Description + BoostBook functions are documented by specifying the + function's interface (e.g., its C++ signature) and its + behavior. Constructors, destructors, member functions, and free + functions all use the same documentation method, although the + top-level tags differ. + + The behavior of functions in BoostBook is documenting using a + style similar to that of the C++ standard, with clauses describing + the requirements, effects, postconditions, exception behavior, and + return values of functions. + + The following example illustrates some constructors and a + destructor for boost::any. Note that one of + the constructors takes a single parameter whose name is "other" and + whose type, const any& is contained in the + <paramtype> element; any number of parameters may be specified + in this way. + + <class name="any"> + <constructor> + <postconditions><para><this->empty()></para></postconditions> + </constructor> + + <constructor> + <parameter name="other"> + <paramtype>const <classname>any</classname>&amp;</paramtype> + </parameter> + + <effects> + <simpara> Copy constructor that copies + content of <code>other</code> into the new instance, + so that any content is equivalent in both type and value to the + content of <code>other</code>, or empty if + <code>other</code> is + empty. + </simpara> + </effects> + + <throws> + <simpara>May fail with a + <classname>std::bad_alloc</classname> exception or any + exceptions arising from the copy constructor of the + contained type. + </simpara> + </throws> + </constructor> + + <destructor> + <effects><simpara>Releases any and all resources used in + management of instance.</simpara></effects> + + <throws><simpara>Nothing.</simpara></throws> + </destructor> +</class> + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +specifiers#IMPLIEDCDATAThe specifiers for this function, e.g., inline, static, etc. +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element postconditions + 9 + + + postconditions + Conditions that must hold after the function returns + + postconditions ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element compile-test + 9 + + + compile-test + A testcase that should compile correctly + + compile-test ::= + (source*, lib*, requirement*, purpose, if-fails?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +filename#REQUIREDCDATAThe name of the file associated with this element +name#IMPLIEDCDATAThe name of the element being declared to referenced + + + + + + + + + BoostBook element method + 9 + + + method + Declares a method, i.e., a member function + + method ::= + (template?, type, parameter*, purpose?, description?, requires?, effects?, postconditions?, returns?, throws?, complexity?, notes?, rationale?) + + Description + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +cv#IMPLIEDCDATAcv-qualifiers for this method, e.g., const volatile +specifiers#IMPLIEDCDATAThe specifiers for this function, e.g., inline, static, etc. +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element snippet + 9 + + + snippet + Pulls in a code snippet from a programlisting element + + snippet ::= + EMPTY + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +name#REQUIREDCDATAThe name of the programlisting element to insert + + + + + + + + + BoostBook element constructor + 9 + + + constructor + Declares a constructor of the enclosing class + + constructor ::= + (template?, parameter*, purpose?, description?, requires?, effects?, postconditions?, returns?, throws?, complexity?, notes?, rationale?) + + Description + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +specifiers#IMPLIEDCDATAThe specifiers for this function, e.g., inline, static, etc. +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element namespace + 9 + + + namespace + Declares a namespace + + namespace ::= + (class| class-specialization| struct| struct-specialization| union| union-specialization| typedef| enum| free-function-group| function| overloaded-function| namespace)* + + Description + BoostBook namespaces are declared via the <namespace> + element. As in C++, namespaces can be nested and contain other C++ + constructs, such as classes or functions. The name + attribute of a <namespace> element gives the namespace name + (e.g., "boost"). The Any library is + defined entirely within namespace boost by: + + <library-reference> + <header name="boost/any.hpp"> + <namespace name="boost"> + <!-- C++ constructs in the boost namespace --> + </namespace> + </header> +</library-reference> + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element if-fails + 9 + + + if-fails + What it means when a testcase fails + + if-fails ::= + (ANY) + + Description + + Describes to the user the effect a certain failing testcase will + have on the usefulness of a library. This field is useful in cases + where a failed testcase does not mean that the library won't be + useful, but may mean that certain library features will not be + available. + + + + + + + BoostBook element free-function-group + 9 + + + free-function-group + A set of functions that are grouped together under one name + + free-function-group ::= + (function| overloaded-function)* + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element functionname + 9 + + + functionname + References a function with the given name + + functionname ::= + (#PCDATA) + + Description + If a function (or overloaded function) with the given, + possibly-qualified name is found, this generates a link to that + function. Lookups obey currently-active using-class + and using-namespace + directives to aid in the search, along with searching within the + current scope. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element librarycategory + 9 + + + librarycategory + Declares that the enclosing library is in this category + + librarycategory ::= + (#PCDATA) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element notes + 9 + + + notes + Non-normative notes about a function's semantics + + notes ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element data-member + 9 + + + data-member + Declares a data member of a class + + data-member ::= + (type, purpose?, description?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element specialization + 9 + + + specialization + Defines the specialization arguments for a class specialization + + specialization ::= + (template-arg)* + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element union-specialization + 9 + + + union-specialization + A specialization (full or partial) of a union template + + union-specialization ::= + (template?, specialization?, inherit?, purpose?, description?, (static-constant| typedef| enum| copy-assignment| constructor| destructor| method-group| free-function-group| function| method| overloaded-function| overloaded-method| data-member| class| class-specialization| struct| struct-specialization| union| union-specialization)*) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element throws + 9 + + + throws + Description of the exceptions thrown by a function + + throws ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element template-arg + 9 + + + template-arg + A template argument in a specialization + + template-arg ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element method-group + 9 + + + method-group + A set of methods that are grouped together under one name + + method-group ::= + (method| overloaded-method)* + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element requirement + 9 + + + requirement + A requirement/property in the Jamfile for a testcase + + requirement ::= + (#PCDATA) + + Description + A requirement is part of the dependencies of a target in a + Jamfile. The name attribute of a requirement element + gives the name of the Boost.Build feature and the content of the + requirement gives the value of that feature. A requirement such as + <includes>foo.hpp would be encoded as + <requirement + name="includes">foo.hpp</requirement>. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +name#REQUIREDCDATAThe name of the element being declared to referenced + + + + + + + + + BoostBook element precondition + 9 + + + precondition + Conditions that must be met prior to executing a function + + precondition ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element paramtype + 9 + + + paramtype + The type of a function parameter + + paramtype ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element using-class + 9 + + + using-class + Injects the method and function names of a class into the local scope + + using-class ::= + EMPTY + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element run-test + 9 + + + run-test + A testcase that should compile, link, and execute + + run-test ::= + (source*, lib*, requirement*, purpose, if-fails?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +filename#REQUIREDCDATAThe name of the file associated with this element +name#IMPLIEDCDATAThe name of the element being declared to referenced + + + + + + + + + BoostBook element librarypurpose + 9 + + + librarypurpose + Describes in one short sentence or phrase the purpose of a library + + librarypurpose ::= + (#PCDATA| code| ulink| functionname| methodname| classname)* + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element copy-assignment + 9 + + + copy-assignment + Declares a copy-assignment operator + + copy-assignment ::= + (template?, type?, parameter*, purpose?, description?, requires?, effects?, postconditions?, returns?, throws?, complexity?, notes?, rationale?) + + Description + The return type of the copy-assignment operator does not need + to be specified. If left unspecified, it will default to an + unqualified reference to the enclosing class type. + + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +cv#IMPLIEDCDATAcv-qualifiers for this method, e.g., const volatile +specifiers#IMPLIEDCDATAThe specifiers for this function, e.g., inline, static, etc. +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element run-fail-test + 9 + + + run-fail-test + A testcase that should compile and link, but fail on execution + + run-fail-test ::= + (source*, lib*, requirement*, purpose, if-fails?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +filename#REQUIREDCDATAThe name of the file associated with this element +name#IMPLIEDCDATAThe name of the element being declared to referenced + + + + + + + + + BoostBook element template + 9 + + + template + Declares the template parameters of a class or function + + template ::= + (template-type-parameter| template-nontype-parameter| template-varargs)* + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element compile-fail-test + 9 + + + compile-fail-test + A testcase that should fail to compile + + compile-fail-test ::= + (source*, lib*, requirement*, purpose, if-fails?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +filename#REQUIREDCDATAThe name of the file associated with this element +name#IMPLIEDCDATAThe name of the element being declared to referenced + + + + + + + + + BoostBook element returns + 9 + + + returns + Description of the return value of a function + + returns ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element default + 9 + + + default + The default value of a function or template parameter + + default ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element parameter + 9 + + + parameter + A function parameter + + parameter ::= + (paramtype, default?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +name#IMPLIEDCDATAThe name of the element being declared to referenced + + + + + + + + + BoostBook element signature + 9 + + + signature + One signature of an overloaded function or method + + signature ::= + (template?, type, parameter*) + + Description + + A signature refers to one declaration of an overloaded function or + method. The signature itself has no name, because the name of the + overloaded function or method is used. An overloaded function or + method will have several signatures that will generally be typeset + together. + + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +cv#IMPLIEDCDATAcv-qualifiers for this method, e.g., const volatile +specifiers#IMPLIEDCDATAThe specifiers for this function, e.g., inline, static, etc. +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element overloaded-function + 9 + + + overloaded-function + An overloaded function + + overloaded-function ::= + (signature*, purpose?, description?, requires?, effects?, postconditions?, returns?, throws?, complexity?, notes?, rationale?) + + Description + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element class + 9 + + + class + Declares a class or class template + + class ::= + (template?, inherit*, purpose?, description?, (static-constant| typedef| enum| copy-assignment| constructor| destructor| method-group| free-function-group| function| method| overloaded-function| overloaded-method| data-member| class| class-specialization| struct| struct-specialization| union| union-specialization)*) + + Description + C++ classes and class templates are described via the + <class> element. Each class has a name (e.g., "any") given by + the name attribute, a purpose given by the + <purpose> element, documentation, and a set of types, + functions, base classes, and data members. Here is a minimal + definition of the boost::any class: + + <namespace name="boost"> + <class name="any"> + <purpose> + A class whose instances can hold instances of any type that satisfies + ValueType requirements. + </purpose> + </class> +</namespace> + + Additional class documentation can be contained in a + description element following the <purpose> + element. This documentation will be typeset prior to documentation + for specific elements in the class (e.g., constructors or + methods). + + Class inheritance is described via the <inherit> + element. The <inherit> element requires an access + attribute which must be one of public, + protected, or private. The + content of the <inherited> element in C++ code that names the + class inherited, and may contain markup to link to the class. The + following description of the class + boost::bad_any_cast describes public + inheritance from the class std::bad_cast. It + also defines the <purpose> element, which contains a short + description of the use of the class. + + <class name="bad_any_cast"> + <inherit access="public"><classname>std::bad_cast</classname></inherit> + <purpose><para>The exception thrown in the event of a failed + <functionname>any_cast</functionname> of an + <classname>any</classname> value.</para></purpose> +</class> + + Class templates are defined by <class> elements with a + <template> child element at the beginning. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element librarycategorydef + 9 + + + librarycategorydef + Defines a new library category + + librarycategorydef ::= + (#PCDATA) + + Description + All library category definitions should be in doc/src/boost.xml, and the names of categories must be prefixed with "category:". + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element type + 9 + + + type + The type of an element or return type of a function + + type ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element enumvalue + 9 + + + enumvalue + A single value of an enumeration + + enumvalue ::= + (default?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element overloaded-method + 9 + + + overloaded-method + An overloaded method + + overloaded-method ::= + (signature*, purpose?, description?, requires?, effects?, postconditions?, returns?, throws?, complexity?, notes?, rationale?) + + Description + General documentation on functions in BoostBook is provided in + the function + element documentation. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element programlisting + 9 + + + programlisting + A sample of program code + + programlisting ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +name#IMPLIEDCDATAThe name of the element being declared to referenced + + + + + + + + + BoostBook element complexity + 9 + + + complexity + The time/space/etc. complexity of a function + + complexity ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element purpose + 9 + + + purpose + A short description of an entity's use + + purpose ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element template-nontype-parameter + 9 + + + template-nontype-parameter + A nontype template parameter + + template-nontype-parameter ::= + (type, default?, purpose?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element library + 9 + + + library + Top-level element for a library + + library ::= + (libraryinfo, (title, ((section| library-reference| testsuite))+)?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +dirname#REQUIREDCDATA +url#IMPLIEDCDATA +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes +html-only#IMPLIEDCDATA + + + + + + + + + BoostBook element librarycategorylist + 9 + + + librarycategorylist + Categorized listing of libraries + + librarycategorylist ::= + (librarycategorydef)* + + Description + This element is not intended for use by developers, but is + used by doc/src/boost.xml as a + placeholder. + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element using-namespace + 9 + + + using-namespace + Injects the declared names from a namespace into the local scope + + using-namespace ::= + EMPTY + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element struct-specialization + 9 + + + struct-specialization + A specialization (full or partial) of a struct template + + struct-specialization ::= + (template?, specialization?, inherit?, purpose?, description?, (static-constant| typedef| enum| copy-assignment| constructor| destructor| method-group| free-function-group| function| method| overloaded-function| overloaded-method| data-member| class| class-specialization| struct| struct-specialization| union| union-specialization)*) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element struct + 9 + + + struct + Declares a C++ struct + + struct ::= + (template?, inherit*, purpose?, description?, (static-constant| typedef| enum| copy-assignment| constructor| destructor| method-group| free-function-group| function| method| overloaded-function| overloaded-method| data-member| class| class-specialization| struct| struct-specialization| union| union-specialization)*) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element lib + 9 + + + lib + A library dependency + + lib ::= + (#PCDATA) + + Description + Declares a library dependency on the library named by the content of this element, to be emitted in a Jamfile. + + + + + + BoostBook element enum + 9 + + + enum + Declares an enumeration type + + enum ::= + (enumvalue*, purpose?, description?) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element requires + 9 + + + requires + Declares the requirements of a function + + requires ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element effects + 9 + + + effects + Declares the side effects of a function + + effects ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element libraryname + 9 + + + libraryname + References a library of the given name + + libraryname ::= + (#PCDATA) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element libraryinfo + 9 + + + libraryinfo + Provides information about a library + + libraryinfo ::= + (author+, copyright*, legalnotice*, librarypurpose, librarycategory*) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element testsuite + 9 + + + testsuite + Describes a library testsuite + + testsuite ::= + ((compile-test| link-test| run-test| compile-fail-test| link-fail-test| run-fail-test)+) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element header + 9 + + + header + Declares a C++ header with the given name + + header ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +name#REQUIREDCDATAThe name of the element being declared to referenced +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + + + + + BoostBook element rationale + 9 + + + rationale + Describes the rationale for a particular function's design + + rationale ::= + (ANY) + + + Attributes + + + + + Name + Type + Value + Purpose + + + + +last-revision#IMPLIEDCDATASet to $Date$ to keep "last revised" information in sync with CVS changes +id#IMPLIEDCDATAA global identifier for this element +xml:base#IMPLIEDCDATAImplementation detail used by XIncludes + + + + + +
diff --git a/doc/reference_doc.xml b/doc/reference_doc.xml deleted file mode 100644 index 77a6693..0000000 --- a/doc/reference_doc.xml +++ /dev/null @@ -1,304 +0,0 @@ - - -
- Documenting C++ Constructs - - This section describes the documentation of C++ constructs - within BoostBook. BoostBook provides elements that describe C++ - classes, functions, namespaces, and other declarative constructs in - a presentation-independent manner. From these descriptions, the - BoostBook XSL stylesheets generate cross-referenced reference - documentation for C++ libraries with a consistent look and - feel. - - The basic scheme for documenting C++ elements in BoostBook is - that the name of the XML element for a particular C++ construct - matches the name of the C++ keyword (e.g., - typedef, template, - enum) or concept (e.g., - constructor, - class-specialization). Each attribute for a named - declaration requires a name attribute that gives the - name of the entity in C++. The content model of the elements then - follows from the information provided in a C++ declaration, e.g., - function parameter lists, type, default values, but each element may - also contain a purpose element, containing a - short description of the purpose of the entity begin described, - and/or a description element, containing extended - documentation. - -
- Library references and headers - - Reference documentation for a library is contained with a - <library-reference> element. The <library-reference> - element has no attributes, and contains as children only - <header> elements. - - The <header> element defines a C++ header file. Within - each C++ header file lie the definitions of C++ constructs to be - documented. The name attribute of the <header> - element gives the name of the header, as one would specify when - including the header. For instance, the <library-reference> - for the Any library may look like - this: - - -<library-reference> - <header name="boost/any.hpp"> - <!-- C++ constructs in this header --> - </header> -</library-reference> - - - If the Any library contained - multiple headers, we would list them all as children of the - <library-reference> element. -
- -
- Namespaces - - BoostBook namespaces are declared via the <namespace> - element. As in C++, namespaces can be nested and contain other C++ - constructs, such as classes or functions. The name - attribute of a <namespace> element gives the namespace name - (e.g., "boost"). The Any library is - defined entirely within namespace boost by: - - -<library-reference> - <header name="boost/any.hpp"> - <namespace name="boost"> - <!-- C++ constructs in the boost namespace --> - </namespace> - </header> -</library-reference> - -
- -
- Classes - - C++ classes and class templates are described via the - <class> element. Each class has a name (e.g., "any") given - by the name attribute, a purpose given by the - <purpose> element, documentation, and a set of types, - functions, base classes, and data members. Here is a minimal - definition of the boost::any class: - -<namespace name="boost"> - <class name="any"> - <purpose> - A class whose instances can hold instances of any type that satisfies - ValueType requirements. - </purpose> - </class> -</namespace> - - - Additional class documentation can be contained in - <para> elements following the <purpose> element. This - documentation will be typeset prior to documentation for specific - elements in the class (e.g., constructors or methods). - - Class inheritance is described via the <inherit> - element. The <inherit> element requires an - access attribute which must be one of - public, protected, or - private. The content of the <inherited> - element in C++ code that names the class inherited, and may - contain markup to link to the class. The following description of - the class boost::bad_any_cast describes - public inheritance from the class - std::bad_cast. It also defines the - <purpose> element, which contains a short description of the - use of the class. - - -<class name="bad_any_cast"> - <inherit access="public"><classname>std::bad_cast</classname></inherit> - <purpose><para>The exception thrown in the event of a failed - <functionname>any_cast</functionname> of an - <classname>any</classname> value.</para></purpose> -</class> - - - Information about constructors, methods, and other functions - can be found in . Note that - free functions and free function groups are allowed at class - level, and will be documented along with the class, for instance - see the documentation of - boost::any_cast. - - Class templates are defined by <class> elements with a - <template> child element at the beginning. -
- -
- Functions - - BoostBook functions are documented by specifying the - function's interface (e.g., its C++ signature) and its - behavior. Constructors, destructors, member functions, and free - functions all use the same documentation method, although the - top-level tags differ; - gives the elements for each C++ function type. - - The behavior of functions in BoostBook is documenting using - a style similar to that of the C++ standard, with clauses - describing the requirements, effects, postconditions, exception - behavior, and return values of functions. The names and uses of - the XML elements for each clause type are given in . - - The following example illustrates some constructors and a - destructor for boost::any. We note that in - each of the clauses from there is a (required!) - <simpara> element containing the text for that clause. We - also note that one of the constructors takes a single parameter - whose name is "other" and whose type, const any& - is contained in the <paramtype> element; any number of - parameters may be specified in this way. - - -<class name="any"> - <constructor> - <postconditions><para><this->empty()></para></postconditions> - </constructor> - - <constructor> - <parameter name="other"> - <paramtype>const <classname>any</classname>&amp;</paramtype> - </parameter> - - <effects> - <simpara> Copy constructor that copies - content of <code>other</code> into the new instance, - so that any content is equivalent in both type and value to the - content of <code>other</code>, or empty if - <code>other</code> is - empty. - </simpara> - </effects> - - <throws> - <simpara>May fail with a - <classname>std::bad_alloc</classname> exception or any - exceptions arising from the copy constructor of the - contained type. - </simpara> - </throws> - </constructor> - - <destructor> - <effects><simpara>Releases any and all resources used in - management of instance.</simpara></effects> - - <throws><simpara>Nothing.</simpara></throws> - </destructor> -</class> - - - - BoostBook Function Types - - - - - C++ Function - BoostBook Element - - - - - Constructor - <constructor> - - - Destructor - <destructor> - - - Copy assignment operator - <copy-assignment> - - - Member function - <method> - - - Free function - <function> - - - -
- - - BoostBook Function Semantics Clauses - - - - - BoostBook element - Description - - - - - <requires> - A set of requirements that must be met - prior to execution of the function (a.k.a., - preconditions). If any of these requirements is not met - and the function is executed, then the behavior is - undefined. - - - <effects> - The effects of executing the function. For - instance, this may include documenting changes in state, - other functions executed, or output written to - files. - - - <postconditions> - Conditions that are guaranteed to hold - after execution of the function, assuming that all - requirements have been met. - - - <returns> - A description of the value returned from - the function. - - - <throws> - A description of the exceptions that may - be thrown from this function. - - - <complexity> - The computational complexity of this - function. - - - <notes> - Additional notes that clarify the behavior - of the function. - - - <rationale> - Reasons for the current semantics, - including an explanation of potential alternative - semantics and reasons why the alternatives have not bee - used. - - - -
-
-