• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" standalone="yes"?>
2<!--
3   Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
4
5   Distributed under the Boost Software License, Version 1.0.
6   (See accompanying file LICENSE_1_0.txt or copy at
7   http://www.boost.org/LICENSE_1_0.txt)
8  -->
9<chapter id="reference">
10  <title>Reference</title>
11  <para>Elements:<itemizedlist spacing="compact"><listitem><simpara><link linkend="boostbook.dtd.access">Element <sgmltag>access</sgmltag> - Declares an access specification for class members</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.boostbook">Element <sgmltag>boostbook</sgmltag> - Defines a BoostBook book</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.class">Element <sgmltag>class</sgmltag> - Declares a class or class template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.class-specialization">Element <sgmltag>class-specialization</sgmltag> - A specialization (partial or full) of a class template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.code">Element <sgmltag>code</sgmltag> - Mimics the <sgmltag>code</sgmltag> tag in HTML</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.compile-fail-test">Element <sgmltag>compile-fail-test</sgmltag> - A testcase that should fail to compile</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.compile-test">Element <sgmltag>compile-test</sgmltag> - A testcase that should compile correctly</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.complexity">Element <sgmltag>complexity</sgmltag> - The time/space/etc. complexity of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.constructor">Element <sgmltag>constructor</sgmltag> - Declares a constructor of the enclosing class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.copy-assignment">Element <sgmltag>copy-assignment</sgmltag> - Declares a copy-assignment operator</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.data-member">Element <sgmltag>data-member</sgmltag> - Declares a data member of a class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.default">Element <sgmltag>default</sgmltag> - The default value of a function or template parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.description">Element <sgmltag>description</sgmltag> - Detailed description of a construct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.destructor">Element <sgmltag>destructor</sgmltag> - Declares a destructor for the enclosing class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.effects">Element <sgmltag>effects</sgmltag> - Declares the side effects of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enum">Element <sgmltag>enum</sgmltag> - Declares an enumeration type</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enumname">Element <sgmltag>enumname</sgmltag> - References an enumeration type with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enumvalue">Element <sgmltag>enumvalue</sgmltag> - A single value of an enumeration</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.free-function-group">Element <sgmltag>free-function-group</sgmltag> - A set of functions that are grouped together under one name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.function">Element <sgmltag>function</sgmltag> - Declares a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.functionname">Element <sgmltag>functionname</sgmltag> - References a function with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.globalname">Element <sgmltag>globalname</sgmltag> - References a global with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.header">Element <sgmltag>header</sgmltag> - Declares a C++ header with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.headername">Element <sgmltag>headername</sgmltag> - References a C++ header with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.if-fails">Element <sgmltag>if-fails</sgmltag> - What it means when a testcase fails</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.inherit">Element <sgmltag>inherit</sgmltag> - Declares a base class of the enclosing class or struct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.lib">Element <sgmltag>lib</sgmltag> - A library dependency</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.library">Element <sgmltag>library</sgmltag> - Top-level element for a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.library-reference">Element <sgmltag>library-reference</sgmltag> - Declares the reference material for a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategory">Element <sgmltag>librarycategory</sgmltag> - Declares that the enclosing library is in this category</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategorydef">Element <sgmltag>librarycategorydef</sgmltag> - Defines a new library category</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategorylist">Element <sgmltag>librarycategorylist</sgmltag> - Categorized listing of libraries</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.libraryinfo">Element <sgmltag>libraryinfo</sgmltag> - Provides information about a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarylist">Element <sgmltag>librarylist</sgmltag> - Placeholder for an alphabetical list of libraries</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.libraryname">Element <sgmltag>libraryname</sgmltag> - References a library of the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarypurpose">Element <sgmltag>librarypurpose</sgmltag> - Describes in one short sentence or phrase the purpose of a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.link-fail-test">Element <sgmltag>link-fail-test</sgmltag> - Declares a test that should compile but fail to link</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.link-test">Element <sgmltag>link-test</sgmltag> - Declares a test that should compile and link</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.macroname">Element <sgmltag>macroname</sgmltag> - References a macro with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.method">Element <sgmltag>method</sgmltag> - Declares a method, i.e., a member function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.method-group">Element <sgmltag>method-group</sgmltag> - A set of methods that are grouped together under one name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.namespace">Element <sgmltag>namespace</sgmltag> - Declares a namespace</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.notes">Element <sgmltag>notes</sgmltag> - Non-normative notes about a function's semantics</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.overloaded-function">Element <sgmltag>overloaded-function</sgmltag> - An overloaded function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.overloaded-method">Element <sgmltag>overloaded-method</sgmltag> - An overloaded method</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.parameter">Element <sgmltag>parameter</sgmltag> - A function parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.paramtype">Element <sgmltag>paramtype</sgmltag> - The type of a function parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.postconditions">Element <sgmltag>postconditions</sgmltag> - Conditions that must hold after the function returns</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.precondition">Element <sgmltag>precondition</sgmltag> - Conditions that must be met prior to executing a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.programlisting">Element <sgmltag>programlisting</sgmltag> - A sample of program code</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.purpose">Element <sgmltag>purpose</sgmltag> - A short description of an entity's use</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.rationale">Element <sgmltag>rationale</sgmltag> - Describes the rationale for a particular function's design</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.requirement">Element <sgmltag>requirement</sgmltag> - A requirement/property in the Jamfile for a testcase</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.requires">Element <sgmltag>requires</sgmltag> - Declares the requirements of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.returns">Element <sgmltag>returns</sgmltag> - Description of the return value of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.run-fail-test">Element <sgmltag>run-fail-test</sgmltag> - A testcase that should compile and link, but fail on execution</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.run-test">Element <sgmltag>run-test</sgmltag> - A testcase that should compile, link, and execute</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.signature">Element <sgmltag>signature</sgmltag> - One signature of an overloaded function or method</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.snippet">Element <sgmltag>snippet</sgmltag> - Pulls in a code snippet from a <sgmltag>programlisting</sgmltag> element</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.source">Element <sgmltag>source</sgmltag> - Defines source code for a test</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.specialization">Element <sgmltag>specialization</sgmltag> - Defines the specialization arguments for a class specialization</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.static-constant">Element <sgmltag>static-constant</sgmltag> - Declares a static constant, e.g., <code>const int foo = 5;</code>.</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.struct">Element <sgmltag>struct</sgmltag> - Declares a C++ struct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.struct-specialization">Element <sgmltag>struct-specialization</sgmltag> - A specialization (full or partial) of a struct template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template">Element <sgmltag>template</sgmltag> - Declares the template parameters of a class or function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-arg">Element <sgmltag>template-arg</sgmltag> - A template argument in a specialization</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-nontype-parameter">Element <sgmltag>template-nontype-parameter</sgmltag> - A nontype template parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-type-parameter">Element <sgmltag>template-type-parameter</sgmltag> - Declares a template type parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-varargs">Element <sgmltag>template-varargs</sgmltag> - Declares a variable-length list of template parameters</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.testsuite">Element <sgmltag>testsuite</sgmltag> - Describes a library testsuite</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.throws">Element <sgmltag>throws</sgmltag> - Description of the exceptions thrown by a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.type">Element <sgmltag>type</sgmltag> - The type of an element or return type of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.typedef">Element <sgmltag>typedef</sgmltag> - Declares a typedef</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.union">Element <sgmltag>union</sgmltag> - Declares a C++ union or union template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.union-specialization">Element <sgmltag>union-specialization</sgmltag> - A specialization (full or partial) of a union template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.using-class">Element <sgmltag>using-class</sgmltag> - Injects the method and function names of a class into the local scope</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.using-namespace">Element <sgmltag>using-namespace</sgmltag> - Injects the declared names from a namespace into the local scope</link></simpara></listitem></itemizedlist></para>
12  <refentry id="boostbook.dtd.class-specialization">
13    <refmeta>
14      <refentrytitle>
15          BoostBook element <sgmltag>class-specialization</sgmltag></refentrytitle>
16      <manvolnum>9</manvolnum>
17    </refmeta>
18    <refnamediv>
19      <refname>class-specialization</refname>
20      <refpurpose>A specialization (partial or full) of a class template</refpurpose>
21    </refnamediv>
22    <refsynopsisdiv>class-specialization ::=
23  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.specialization">specialization</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
24</refsynopsisdiv>
25    <refsection>
26      <title>Attributes</title>
27      <informaltable>
28        <tgroup cols="4">
29          <thead>
30            <row>
31              <entry>Name</entry>
32              <entry>Type</entry>
33              <entry>Value</entry>
34              <entry>Purpose</entry>
35            </row>
36          </thead>
37          <tbody>
38
39<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
40<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
41<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
42<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
43</tbody>
44        </tgroup>
45      </informaltable>
46    </refsection>
47  </refentry>
48  <refentry id="boostbook.dtd.link-test">
49    <refmeta>
50      <refentrytitle>
51          BoostBook element <sgmltag>link-test</sgmltag></refentrytitle>
52      <manvolnum>9</manvolnum>
53    </refmeta>
54    <refnamediv>
55      <refname>link-test</refname>
56      <refpurpose>Declares a test that should compile and link</refpurpose>
57    </refnamediv>
58    <refsynopsisdiv>link-test ::=
59  (<link linkend="boostbook.dtd.source">source</link>*, <link linkend="boostbook.dtd.lib">lib</link>*, <link linkend="boostbook.dtd.requirement">requirement</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>, <link linkend="boostbook.dtd.if-fails">if-fails</link>?)
60</refsynopsisdiv>
61    <refsection>
62      <title>Attributes</title>
63      <informaltable>
64        <tgroup cols="4">
65          <thead>
66            <row>
67              <entry>Name</entry>
68              <entry>Type</entry>
69              <entry>Value</entry>
70              <entry>Purpose</entry>
71            </row>
72          </thead>
73          <tbody>
74
75<row><entry>filename</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the file associated with this element</entry></row>
76<row><entry>name</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
77</tbody>
78        </tgroup>
79      </informaltable>
80    </refsection>
81  </refentry>
82  <refentry id="boostbook.dtd.link-fail-test">
83    <refmeta>
84      <refentrytitle>
85          BoostBook element <sgmltag>link-fail-test</sgmltag></refentrytitle>
86      <manvolnum>9</manvolnum>
87    </refmeta>
88    <refnamediv>
89      <refname>link-fail-test</refname>
90      <refpurpose>Declares a test that should compile but fail to link</refpurpose>
91    </refnamediv>
92    <refsynopsisdiv>link-fail-test ::=
93  (<link linkend="boostbook.dtd.source">source</link>*, <link linkend="boostbook.dtd.lib">lib</link>*, <link linkend="boostbook.dtd.requirement">requirement</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>, <link linkend="boostbook.dtd.if-fails">if-fails</link>?)
94</refsynopsisdiv>
95    <refsection>
96      <title>Attributes</title>
97      <informaltable>
98        <tgroup cols="4">
99          <thead>
100            <row>
101              <entry>Name</entry>
102              <entry>Type</entry>
103              <entry>Value</entry>
104              <entry>Purpose</entry>
105            </row>
106          </thead>
107          <tbody>
108
109<row><entry>filename</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the file associated with this element</entry></row>
110<row><entry>name</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
111</tbody>
112        </tgroup>
113      </informaltable>
114    </refsection>
115  </refentry>
116  <refentry id="boostbook.dtd.typedef">
117    <refmeta>
118      <refentrytitle>
119          BoostBook element <sgmltag>typedef</sgmltag></refentrytitle>
120      <manvolnum>9</manvolnum>
121    </refmeta>
122    <refnamediv>
123      <refname>typedef</refname>
124      <refpurpose>Declares a typedef</refpurpose>
125    </refnamediv>
126    <refsynopsisdiv>typedef ::=
127  (<link linkend="boostbook.dtd.type">type</link>, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?)
128</refsynopsisdiv>
129    <refsection>
130      <title>Attributes</title>
131      <informaltable>
132        <tgroup cols="4">
133          <thead>
134            <row>
135              <entry>Name</entry>
136              <entry>Type</entry>
137              <entry>Value</entry>
138              <entry>Purpose</entry>
139            </row>
140          </thead>
141          <tbody>
142
143<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
144<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
145<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
146<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
147</tbody>
148        </tgroup>
149      </informaltable>
150    </refsection>
151  </refentry>
152  <refentry id="boostbook.dtd.static-constant">
153    <refmeta>
154      <refentrytitle>
155          BoostBook element <sgmltag>static-constant</sgmltag></refentrytitle>
156      <manvolnum>9</manvolnum>
157    </refmeta>
158    <refnamediv>
159      <refname>static-constant</refname>
160      <refpurpose>Declares a static constant, e.g., <code>const int foo = 5;</code>.</refpurpose>
161    </refnamediv>
162    <refsynopsisdiv>static-constant ::=
163  (<link linkend="boostbook.dtd.type">type</link>, <link linkend="boostbook.dtd.default">default</link>, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?)
164</refsynopsisdiv>
165    <refsection>
166      <title>Attributes</title>
167      <informaltable>
168        <tgroup cols="4">
169          <thead>
170            <row>
171              <entry>Name</entry>
172              <entry>Type</entry>
173              <entry>Value</entry>
174              <entry>Purpose</entry>
175            </row>
176          </thead>
177          <tbody>
178
179<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
180<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
181<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
182<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
183</tbody>
184        </tgroup>
185      </informaltable>
186    </refsection>
187  </refentry>
188  <refentry id="boostbook.dtd.code">
189    <refmeta>
190      <refentrytitle>
191          BoostBook element <sgmltag>code</sgmltag></refentrytitle>
192      <manvolnum>9</manvolnum>
193    </refmeta>
194    <refnamediv>
195      <refname>code</refname>
196      <refpurpose>Mimics the <sgmltag>code</sgmltag> tag in HTML</refpurpose>
197    </refnamediv>
198    <refsynopsisdiv>code ::=
199  (ANY)
200</refsynopsisdiv>
201    <refsection><title>Description</title>
202  <para>Text within a <sgmltag>code</sgmltag> tag is generally typeset
203  in a different, monospaced font so that it stands out as code. The
204  <sgmltag>code</sgmltag> tag in BoostBook is transformed directly
205  into the <sgmltag>computeroutput</sgmltag> tag in DocBook.</para>
206</refsection>
207    <refsection>
208      <title>Attributes</title>
209      <informaltable>
210        <tgroup cols="4">
211          <thead>
212            <row>
213              <entry>Name</entry>
214              <entry>Type</entry>
215              <entry>Value</entry>
216              <entry>Purpose</entry>
217            </row>
218          </thead>
219          <tbody>
220
221<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
222<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
223<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
224</tbody>
225        </tgroup>
226      </informaltable>
227    </refsection>
228  </refentry>
229  <refentry id="boostbook.dtd.destructor">
230    <refmeta>
231      <refentrytitle>
232          BoostBook element <sgmltag>destructor</sgmltag></refentrytitle>
233      <manvolnum>9</manvolnum>
234    </refmeta>
235    <refnamediv>
236      <refname>destructor</refname>
237      <refpurpose>Declares a destructor for the enclosing class</refpurpose>
238    </refnamediv>
239    <refsynopsisdiv>destructor ::=
240  (<link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, <link linkend="boostbook.dtd.requires">requires</link>?, <link linkend="boostbook.dtd.effects">effects</link>?, <link linkend="boostbook.dtd.postconditions">postconditions</link>?, <link linkend="boostbook.dtd.returns">returns</link>?, <link linkend="boostbook.dtd.throws">throws</link>?, <link linkend="boostbook.dtd.complexity">complexity</link>?, <link linkend="boostbook.dtd.notes">notes</link>?, <link linkend="boostbook.dtd.rationale">rationale</link>?)
241</refsynopsisdiv>
242    <refsection><title>Description</title>
243  <para>General documentation on functions in BoostBook is provided in
244  the <link linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
245  element documentation.</para>
246</refsection>
247    <refsection>
248      <title>Attributes</title>
249      <informaltable>
250        <tgroup cols="4">
251          <thead>
252            <row>
253              <entry>Name</entry>
254              <entry>Type</entry>
255              <entry>Value</entry>
256              <entry>Purpose</entry>
257            </row>
258          </thead>
259          <tbody>
260
261<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
262<row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
263<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
264<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
265</tbody>
266        </tgroup>
267      </informaltable>
268    </refsection>
269  </refentry>
270  <refentry id="boostbook.dtd.template-type-parameter">
271    <refmeta>
272      <refentrytitle>
273          BoostBook element <sgmltag>template-type-parameter</sgmltag></refentrytitle>
274      <manvolnum>9</manvolnum>
275    </refmeta>
276    <refnamediv>
277      <refname>template-type-parameter</refname>
278      <refpurpose>Declares a template type parameter</refpurpose>
279    </refnamediv>
280    <refsynopsisdiv>template-type-parameter ::=
281  (<link linkend="boostbook.dtd.default">default</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?)
282</refsynopsisdiv>
283    <refsection>
284      <title>Attributes</title>
285      <informaltable>
286        <tgroup cols="4">
287          <thead>
288            <row>
289              <entry>Name</entry>
290              <entry>Type</entry>
291              <entry>Value</entry>
292              <entry>Purpose</entry>
293            </row>
294          </thead>
295          <tbody>
296
297<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
298<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if the parameter is a parameter pack.</entry></row>
299<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
300<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
301<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
302</tbody>
303        </tgroup>
304      </informaltable>
305    </refsection>
306  </refentry>
307  <refentry id="boostbook.dtd.description">
308    <refmeta>
309      <refentrytitle>
310          BoostBook element <sgmltag>description</sgmltag></refentrytitle>
311      <manvolnum>9</manvolnum>
312    </refmeta>
313    <refnamediv>
314      <refname>description</refname>
315      <refpurpose>Detailed description of a construct</refpurpose>
316    </refnamediv>
317    <refsynopsisdiv>description ::=
318  (ANY)
319</refsynopsisdiv>
320    <refsection><title>Description</title>
321  <para>Although the context model for this element is
322  <code>ANY</code>, detailed descriptions should contain structured
323  DocBook elements that occur within sections, e.g., paragraphs
324  (<sgmltag>para</sgmltag>, <sgmltag>simpara</sgmltag>), lists
325  (<sgmltag>orderedlist</sgmltag>, <sgmltag>itemizedlist</sgmltag>),
326  tables (<sgmltag>informaltable</sgmltag>, <sgmltag>table</sgmltag>),
327  etc.</para>
328</refsection>
329    <refsection>
330      <title>Attributes</title>
331      <informaltable>
332        <tgroup cols="4">
333          <thead>
334            <row>
335              <entry>Name</entry>
336              <entry>Type</entry>
337              <entry>Value</entry>
338              <entry>Purpose</entry>
339            </row>
340          </thead>
341          <tbody>
342
343<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
344<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
345<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
346</tbody>
347        </tgroup>
348      </informaltable>
349    </refsection>
350  </refentry>
351  <refentry id="boostbook.dtd.librarylist">
352    <refmeta>
353      <refentrytitle>
354          BoostBook element <sgmltag>librarylist</sgmltag></refentrytitle>
355      <manvolnum>9</manvolnum>
356    </refmeta>
357    <refnamediv>
358      <refname>librarylist</refname>
359      <refpurpose>Placeholder for an alphabetical list of libraries</refpurpose>
360    </refnamediv>
361    <refsynopsisdiv>librarylist ::=
362  EMPTY
363</refsynopsisdiv>
364    <refsection><title>Description</title>
365  <para>Developers aren't generally expected to use this element. Its existence is mainly as a placeholder in <filename>boost.xml</filename> for the alphabetical list of libraries.</para>
366</refsection>
367    <refsection>
368      <title>Attributes</title>
369      <informaltable>
370        <tgroup cols="4">
371          <thead>
372            <row>
373              <entry>Name</entry>
374              <entry>Type</entry>
375              <entry>Value</entry>
376              <entry>Purpose</entry>
377            </row>
378          </thead>
379          <tbody>
380
381<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
382<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
383<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
384</tbody>
385        </tgroup>
386      </informaltable>
387    </refsection>
388  </refentry>
389  <refentry id="boostbook.dtd.library-reference">
390    <refmeta>
391      <refentrytitle>
392          BoostBook element <sgmltag>library-reference</sgmltag></refentrytitle>
393      <manvolnum>9</manvolnum>
394    </refmeta>
395    <refnamediv>
396      <refname>library-reference</refname>
397      <refpurpose>Declares the reference material for a library</refpurpose>
398    </refnamediv>
399    <refsynopsisdiv>library-reference ::=
400  (title?, section*, (<link linkend="boostbook.dtd.header">header</link>| <link linkend="boostbook.dtd.library-reference">library-reference</link>)*)
401</refsynopsisdiv>
402    <refsection><title>Description</title>
403  <para>Reference documentation for a library is contained with a
404  &lt;library-reference&gt; element. The &lt;library-reference&gt;
405  element has no attributes, and contains as children only
406  &lt;header&gt; elements.</para>
407
408  <para>The &lt;header&gt; element defines a C++ header file. Within
409  each C++ header file lie the definitions of C++ constructs to be
410  documented. The <code>name</code> attribute of the &lt;header&gt;
411  element gives the name of the header, as one would specify when
412  including the header. For instance, the &lt;library-reference&gt;
413  for the <libraryname>Any</libraryname> library may look like
414  this:</para>
415
416  <programlisting>&lt;library-reference&gt;
417  &lt;header name="boost/any.hpp"&gt;
418    &lt;!-- C++ constructs in this header --&gt;
419  &lt;/header&gt;
420&lt;/library-reference&gt;</programlisting>
421
422  <para>If the <libraryname>Any</libraryname> library contained
423  multiple headers, we would list them all as children of the
424  &lt;library-reference&gt; element.</para>
425
426  <para><sgmltag>library-reference</sgmltag> elements can be nested,
427  so that reference material can be divided into separate sections
428  that each contain different headers.</para>
429</refsection>
430    <refsection>
431      <title>Attributes</title>
432      <informaltable>
433        <tgroup cols="4">
434          <thead>
435            <row>
436              <entry>Name</entry>
437              <entry>Type</entry>
438              <entry>Value</entry>
439              <entry>Purpose</entry>
440            </row>
441          </thead>
442          <tbody>
443
444<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
445<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
446<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
447</tbody>
448        </tgroup>
449      </informaltable>
450    </refsection>
451  </refentry>
452  <refentry id="boostbook.dtd.boostbook">
453    <refmeta>
454      <refentrytitle>
455          BoostBook element <sgmltag>boostbook</sgmltag></refentrytitle>
456      <manvolnum>9</manvolnum>
457    </refmeta>
458    <refnamediv>
459      <refname>boostbook</refname>
460      <refpurpose>Defines a BoostBook book</refpurpose>
461    </refnamediv>
462    <refsynopsisdiv>boostbook ::=
463  (title, (chapter| <link linkend="boostbook.dtd.library">library</link>)*)
464</refsynopsisdiv>
465    <refsection><title>Description</title>
466  <simpara>This element is the topmost level defined by
467  <filename>boost.xml</filename> for all Boost documentation. It will
468  not generally be used by developers.</simpara>
469</refsection>
470    <refsection>
471      <title>Attributes</title>
472      <informaltable>
473        <tgroup cols="4">
474          <thead>
475            <row>
476              <entry>Name</entry>
477              <entry>Type</entry>
478              <entry>Value</entry>
479              <entry>Purpose</entry>
480            </row>
481          </thead>
482          <tbody>
483
484<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
485<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
486<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
487</tbody>
488        </tgroup>
489      </informaltable>
490    </refsection>
491  </refentry>
492  <refentry id="boostbook.dtd.union">
493    <refmeta>
494      <refentrytitle>
495          BoostBook element <sgmltag>union</sgmltag></refentrytitle>
496      <manvolnum>9</manvolnum>
497    </refmeta>
498    <refnamediv>
499      <refname>union</refname>
500      <refpurpose>Declares a C++ union or union template</refpurpose>
501    </refnamediv>
502    <refsynopsisdiv>union ::=
503  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
504</refsynopsisdiv>
505    <refsection>
506      <title>Attributes</title>
507      <informaltable>
508        <tgroup cols="4">
509          <thead>
510            <row>
511              <entry>Name</entry>
512              <entry>Type</entry>
513              <entry>Value</entry>
514              <entry>Purpose</entry>
515            </row>
516          </thead>
517          <tbody>
518
519<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
520<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
521<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
522<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
523</tbody>
524        </tgroup>
525      </informaltable>
526    </refsection>
527  </refentry>
528  <refentry id="boostbook.dtd.inherit">
529    <refmeta>
530      <refentrytitle>
531          BoostBook element <sgmltag>inherit</sgmltag></refentrytitle>
532      <manvolnum>9</manvolnum>
533    </refmeta>
534    <refnamediv>
535      <refname>inherit</refname>
536      <refpurpose>Declares a base class of the enclosing class or struct</refpurpose>
537    </refnamediv>
538    <refsynopsisdiv>inherit ::=
539  (<link linkend="boostbook.dtd.type">type</link>, <link linkend="boostbook.dtd.purpose">purpose</link>?)
540</refsynopsisdiv>
541    <refsection><title>Description</title>
542  <para>This element contains the type of the class inherited.</para>
543</refsection>
544    <refsection>
545      <title>Attributes</title>
546      <informaltable>
547        <tgroup cols="4">
548          <thead>
549            <row>
550              <entry>Name</entry>
551              <entry>Type</entry>
552              <entry>Value</entry>
553              <entry>Purpose</entry>
554            </row>
555          </thead>
556          <tbody>
557
558<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
559<row><entry>access</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The access specifier ("public", "private", or "protected") of the inheritance.</entry></row>
560<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
561<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if this is a pack exapansion.</entry></row>
562<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
563</tbody>
564        </tgroup>
565      </informaltable>
566    </refsection>
567  </refentry>
568  <refentry id="boostbook.dtd.template-varargs">
569    <refmeta>
570      <refentrytitle>
571          BoostBook element <sgmltag>template-varargs</sgmltag></refentrytitle>
572      <manvolnum>9</manvolnum>
573    </refmeta>
574    <refnamediv>
575      <refname>template-varargs</refname>
576      <refpurpose>Declares a variable-length list of template parameters</refpurpose>
577    </refnamediv>
578    <refsynopsisdiv>template-varargs ::=
579  EMPTY
580</refsynopsisdiv>
581    <refsection><title>Description</title>
582  <para>Variable-length template parameter lists are not allowed in
583  C++, but because they are sometimes needed in documentation they are
584  allowed in BoostBook. This element generally expands to "..." and
585  can be used anywhere any other template parameter can be
586  used.</para>
587</refsection>
588    <refsection>
589      <title>Attributes</title>
590      <informaltable>
591        <tgroup cols="4">
592          <thead>
593            <row>
594              <entry>Name</entry>
595              <entry>Type</entry>
596              <entry>Value</entry>
597              <entry>Purpose</entry>
598            </row>
599          </thead>
600          <tbody>
601
602<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
603<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
604<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
605</tbody>
606        </tgroup>
607      </informaltable>
608    </refsection>
609  </refentry>
610  <refentry id="boostbook.dtd.source">
611    <refmeta>
612      <refentrytitle>
613          BoostBook element <sgmltag>source</sgmltag></refentrytitle>
614      <manvolnum>9</manvolnum>
615    </refmeta>
616    <refnamediv>
617      <refname>source</refname>
618      <refpurpose>Defines source code for a test</refpurpose>
619    </refnamediv>
620    <refsynopsisdiv>source ::=
621  (#PCDATA| <link linkend="boostbook.dtd.snippet">snippet</link>)*
622</refsynopsisdiv>
623    <refsection><title>Description</title>
624  <para>This element will contain the source code for a testcase that
625  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:
626
627    <programlisting>&lt;![CDATA[
628&lt;your program text here: no escaping needed!&gt;
629]]&gt;</programlisting>
630  </para>
631
632  <para>In addition to CDATA sections, code snippets can be pulled in
633  from <sgmltag>programlisting</sgmltag> elements using the <link linkend="boostbook.dtd.snippet"><sgmltag>snippet</sgmltag></link>
634  element.</para>
635</refsection>
636  </refentry>
637  <refentry id="boostbook.dtd.function">
638    <refmeta>
639      <refentrytitle>
640          BoostBook element <sgmltag>function</sgmltag></refentrytitle>
641      <manvolnum>9</manvolnum>
642    </refmeta>
643    <refnamediv>
644      <refname>function</refname>
645      <refpurpose>Declares a function</refpurpose>
646    </refnamediv>
647    <refsynopsisdiv>function ::=
648  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.type">type</link>, <link linkend="boostbook.dtd.parameter">parameter</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, <link linkend="boostbook.dtd.requires">requires</link>?, <link linkend="boostbook.dtd.effects">effects</link>?, <link linkend="boostbook.dtd.postconditions">postconditions</link>?, <link linkend="boostbook.dtd.returns">returns</link>?, <link linkend="boostbook.dtd.throws">throws</link>?, <link linkend="boostbook.dtd.complexity">complexity</link>?, <link linkend="boostbook.dtd.notes">notes</link>?, <link linkend="boostbook.dtd.rationale">rationale</link>?)
649</refsynopsisdiv>
650    <refsection><title>Description</title>
651  <para>BoostBook functions are documented by specifying the
652  function's interface (e.g., its C++ signature) and its
653  behavior. Constructors, destructors, member functions, and free
654  functions all use the same documentation method, although the
655  top-level tags differ.</para>
656
657  <para>The behavior of functions in BoostBook is documenting using a
658  style similar to that of the C++ standard, with clauses describing
659  the requirements, effects, postconditions, exception behavior, and
660  return values of functions.</para>
661
662  <para>The following example illustrates some constructors and a
663  destructor for <classname>boost::any</classname>. Note that one of
664  the constructors takes a single parameter whose name is "other" and
665  whose type, <code>const any&amp;</code> is contained in the
666  &lt;paramtype&gt; element; any number of parameters may be specified
667  in this way.</para>
668
669  <programlisting>&lt;class name="any"&gt;
670  &lt;constructor&gt;
671    &lt;postconditions&gt;&lt;para&gt;&lt;this-&gt;empty()&gt;&lt;/para&gt;&lt;/postconditions&gt;
672  &lt;/constructor&gt;
673
674  &lt;constructor&gt;
675    &lt;parameter name="other"&gt;
676      &lt;paramtype&gt;const &lt;classname&gt;any&lt;/classname&gt;&amp;amp;&lt;/paramtype&gt;
677    &lt;/parameter&gt;
678
679    &lt;effects&gt;
680      &lt;simpara&gt; Copy constructor that copies
681        content of &lt;code&gt;other&lt;/code&gt; into the new instance,
682        so that any content is equivalent in both type and value to the
683        content of &lt;code&gt;other&lt;/code&gt;, or empty if
684        &lt;code&gt;other&lt;/code&gt; is
685        empty.
686      &lt;/simpara&gt;
687    &lt;/effects&gt;
688
689    &lt;throws&gt;
690      &lt;simpara&gt;May fail with a
691        &lt;classname&gt;std::bad_alloc&lt;/classname&gt; exception or any
692        exceptions arising from the copy constructor of the
693        contained type.
694      &lt;/simpara&gt;
695    &lt;/throws&gt;
696  &lt;/constructor&gt;
697
698  &lt;destructor&gt;
699     &lt;effects&gt;&lt;simpara&gt;Releases any and all resources used in
700     management of instance.&lt;/simpara&gt;&lt;/effects&gt;
701
702     &lt;throws&gt;&lt;simpara&gt;Nothing.&lt;/simpara&gt;&lt;/throws&gt;
703  &lt;/destructor&gt;
704&lt;/class&gt;</programlisting>
705</refsection>
706    <refsection>
707      <title>Attributes</title>
708      <informaltable>
709        <tgroup cols="4">
710          <thead>
711            <row>
712              <entry>Name</entry>
713              <entry>Type</entry>
714              <entry>Value</entry>
715              <entry>Purpose</entry>
716            </row>
717          </thead>
718          <tbody>
719
720<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
721<row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
722<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
723<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
724<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
725</tbody>
726        </tgroup>
727      </informaltable>
728    </refsection>
729  </refentry>
730  <refentry id="boostbook.dtd.macroname">
731    <refmeta>
732      <refentrytitle>
733          BoostBook element <sgmltag>macroname</sgmltag></refentrytitle>
734      <manvolnum>9</manvolnum>
735    </refmeta>
736    <refnamediv>
737      <refname>macroname</refname>
738      <refpurpose/>
739    </refnamediv>
740    <refsynopsisdiv>macroname ::=
741  (#PCDATA)
742</refsynopsisdiv>
743    <refsection>
744      <title>Attributes</title>
745      <informaltable>
746        <tgroup cols="4">
747          <thead>
748            <row>
749              <entry>Name</entry>
750              <entry>Type</entry>
751              <entry>Value</entry>
752              <entry>Purpose</entry>
753            </row>
754          </thead>
755          <tbody>
756
757<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
758<row><entry>alt</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry/></row>
759<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
760</tbody>
761        </tgroup>
762      </informaltable>
763    </refsection>
764  </refentry>
765  <refentry id="boostbook.dtd.postconditions">
766    <refmeta>
767      <refentrytitle>
768          BoostBook element <sgmltag>postconditions</sgmltag></refentrytitle>
769      <manvolnum>9</manvolnum>
770    </refmeta>
771    <refnamediv>
772      <refname>postconditions</refname>
773      <refpurpose>Conditions that must hold after the function returns</refpurpose>
774    </refnamediv>
775    <refsynopsisdiv>postconditions ::=
776  (ANY)
777</refsynopsisdiv>
778    <refsection>
779      <title>Attributes</title>
780      <informaltable>
781        <tgroup cols="4">
782          <thead>
783            <row>
784              <entry>Name</entry>
785              <entry>Type</entry>
786              <entry>Value</entry>
787              <entry>Purpose</entry>
788            </row>
789          </thead>
790          <tbody>
791
792<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
793<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
794<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
795</tbody>
796        </tgroup>
797      </informaltable>
798    </refsection>
799  </refentry>
800  <refentry id="boostbook.dtd.compile-test">
801    <refmeta>
802      <refentrytitle>
803          BoostBook element <sgmltag>compile-test</sgmltag></refentrytitle>
804      <manvolnum>9</manvolnum>
805    </refmeta>
806    <refnamediv>
807      <refname>compile-test</refname>
808      <refpurpose>A testcase that should compile correctly</refpurpose>
809    </refnamediv>
810    <refsynopsisdiv>compile-test ::=
811  (<link linkend="boostbook.dtd.source">source</link>*, <link linkend="boostbook.dtd.lib">lib</link>*, <link linkend="boostbook.dtd.requirement">requirement</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>, <link linkend="boostbook.dtd.if-fails">if-fails</link>?)
812</refsynopsisdiv>
813    <refsection>
814      <title>Attributes</title>
815      <informaltable>
816        <tgroup cols="4">
817          <thead>
818            <row>
819              <entry>Name</entry>
820              <entry>Type</entry>
821              <entry>Value</entry>
822              <entry>Purpose</entry>
823            </row>
824          </thead>
825          <tbody>
826
827<row><entry>filename</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the file associated with this element</entry></row>
828<row><entry>name</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
829</tbody>
830        </tgroup>
831      </informaltable>
832    </refsection>
833  </refentry>
834  <refentry id="boostbook.dtd.method">
835    <refmeta>
836      <refentrytitle>
837          BoostBook element <sgmltag>method</sgmltag></refentrytitle>
838      <manvolnum>9</manvolnum>
839    </refmeta>
840    <refnamediv>
841      <refname>method</refname>
842      <refpurpose>Declares a method, i.e., a member function</refpurpose>
843    </refnamediv>
844    <refsynopsisdiv>method ::=
845  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.type">type</link>, <link linkend="boostbook.dtd.parameter">parameter</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, <link linkend="boostbook.dtd.requires">requires</link>?, <link linkend="boostbook.dtd.effects">effects</link>?, <link linkend="boostbook.dtd.postconditions">postconditions</link>?, <link linkend="boostbook.dtd.returns">returns</link>?, <link linkend="boostbook.dtd.throws">throws</link>?, <link linkend="boostbook.dtd.complexity">complexity</link>?, <link linkend="boostbook.dtd.notes">notes</link>?, <link linkend="boostbook.dtd.rationale">rationale</link>?)
846</refsynopsisdiv>
847    <refsection><title>Description</title>
848  <para>General documentation on functions in BoostBook is provided in
849  the <link linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
850  element documentation.</para>
851</refsection>
852    <refsection>
853      <title>Attributes</title>
854      <informaltable>
855        <tgroup cols="4">
856          <thead>
857            <row>
858              <entry>Name</entry>
859              <entry>Type</entry>
860              <entry>Value</entry>
861              <entry>Purpose</entry>
862            </row>
863          </thead>
864          <tbody>
865
866<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
867<row><entry>cv</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>cv-qualifiers for this method, e.g., const volatile</entry></row>
868<row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
869<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
870<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
871<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
872</tbody>
873        </tgroup>
874      </informaltable>
875    </refsection>
876  </refentry>
877  <refentry id="boostbook.dtd.snippet">
878    <refmeta>
879      <refentrytitle>
880          BoostBook element <sgmltag>snippet</sgmltag></refentrytitle>
881      <manvolnum>9</manvolnum>
882    </refmeta>
883    <refnamediv>
884      <refname>snippet</refname>
885      <refpurpose>Pulls in a code snippet from a <sgmltag>programlisting</sgmltag> element</refpurpose>
886    </refnamediv>
887    <refsynopsisdiv>snippet ::=
888  EMPTY
889</refsynopsisdiv>
890    <refsection>
891      <title>Attributes</title>
892      <informaltable>
893        <tgroup cols="4">
894          <thead>
895            <row>
896              <entry>Name</entry>
897              <entry>Type</entry>
898              <entry>Value</entry>
899              <entry>Purpose</entry>
900            </row>
901          </thead>
902          <tbody>
903
904<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the <sgmltag>programlisting</sgmltag> element to insert</entry></row>
905</tbody>
906        </tgroup>
907      </informaltable>
908    </refsection>
909  </refentry>
910  <refentry id="boostbook.dtd.constructor">
911    <refmeta>
912      <refentrytitle>
913          BoostBook element <sgmltag>constructor</sgmltag></refentrytitle>
914      <manvolnum>9</manvolnum>
915    </refmeta>
916    <refnamediv>
917      <refname>constructor</refname>
918      <refpurpose>Declares a constructor of the enclosing class</refpurpose>
919    </refnamediv>
920    <refsynopsisdiv>constructor ::=
921  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.parameter">parameter</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, <link linkend="boostbook.dtd.requires">requires</link>?, <link linkend="boostbook.dtd.effects">effects</link>?, <link linkend="boostbook.dtd.postconditions">postconditions</link>?, <link linkend="boostbook.dtd.returns">returns</link>?, <link linkend="boostbook.dtd.throws">throws</link>?, <link linkend="boostbook.dtd.complexity">complexity</link>?, <link linkend="boostbook.dtd.notes">notes</link>?, <link linkend="boostbook.dtd.rationale">rationale</link>?)
922</refsynopsisdiv>
923    <refsection><title>Description</title>
924  <para>General documentation on functions in BoostBook is provided in
925  the <link linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
926  element documentation.</para>
927</refsection>
928    <refsection>
929      <title>Attributes</title>
930      <informaltable>
931        <tgroup cols="4">
932          <thead>
933            <row>
934              <entry>Name</entry>
935              <entry>Type</entry>
936              <entry>Value</entry>
937              <entry>Purpose</entry>
938            </row>
939          </thead>
940          <tbody>
941
942<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
943<row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
944<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
945<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
946</tbody>
947        </tgroup>
948      </informaltable>
949    </refsection>
950  </refentry>
951  <refentry id="boostbook.dtd.namespace">
952    <refmeta>
953      <refentrytitle>
954          BoostBook element <sgmltag>namespace</sgmltag></refentrytitle>
955      <manvolnum>9</manvolnum>
956    </refmeta>
957    <refnamediv>
958      <refname>namespace</refname>
959      <refpurpose>Declares a namespace</refpurpose>
960    </refnamediv>
961    <refsynopsisdiv>namespace ::=
962  (<link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.namespace">namespace</link>)*
963</refsynopsisdiv>
964    <refsection><title>Description</title>
965  <para>BoostBook namespaces are declared via the &lt;namespace&gt;
966  element. As in C++, namespaces can be nested and contain other C++
967  constructs, such as classes or functions. The <code>name</code>
968  attribute of a &lt;namespace&gt; element gives the namespace name
969  (e.g., "boost"). The <libraryname>Any</libraryname> library is
970  defined entirely within namespace boost by:</para>
971
972  <programlisting>&lt;library-reference&gt;
973  &lt;header name="boost/any.hpp"&gt;
974    &lt;namespace name="boost"&gt;
975      &lt;!-- C++ constructs in the boost namespace --&gt;
976    &lt;/namespace&gt;
977  &lt;/header&gt;
978&lt;/library-reference&gt;</programlisting>
979</refsection>
980    <refsection>
981      <title>Attributes</title>
982      <informaltable>
983        <tgroup cols="4">
984          <thead>
985            <row>
986              <entry>Name</entry>
987              <entry>Type</entry>
988              <entry>Value</entry>
989              <entry>Purpose</entry>
990            </row>
991          </thead>
992          <tbody>
993
994<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
995<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
996<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
997<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
998</tbody>
999        </tgroup>
1000      </informaltable>
1001    </refsection>
1002  </refentry>
1003  <refentry id="boostbook.dtd.if-fails">
1004    <refmeta>
1005      <refentrytitle>
1006          BoostBook element <sgmltag>if-fails</sgmltag></refentrytitle>
1007      <manvolnum>9</manvolnum>
1008    </refmeta>
1009    <refnamediv>
1010      <refname>if-fails</refname>
1011      <refpurpose>What it means when a testcase fails</refpurpose>
1012    </refnamediv>
1013    <refsynopsisdiv>if-fails ::=
1014  (ANY)
1015</refsynopsisdiv>
1016    <refsection><title>Description</title>
1017  <para>
1018    Describes to the user the effect a certain failing testcase will
1019    have on the usefulness of a library. This field is useful in cases
1020    where a failed testcase does not mean that the library won't be
1021    useful, but may mean that certain library features will not be
1022    available.
1023  </para>
1024</refsection>
1025  </refentry>
1026  <refentry id="boostbook.dtd.headername">
1027    <refmeta>
1028      <refentrytitle>
1029          BoostBook element <sgmltag>headername</sgmltag></refentrytitle>
1030      <manvolnum>9</manvolnum>
1031    </refmeta>
1032    <refnamediv>
1033      <refname>headername</refname>
1034      <refpurpose/>
1035    </refnamediv>
1036    <refsynopsisdiv>headername ::=
1037  (#PCDATA)
1038</refsynopsisdiv>
1039    <refsection>
1040      <title>Attributes</title>
1041      <informaltable>
1042        <tgroup cols="4">
1043          <thead>
1044            <row>
1045              <entry>Name</entry>
1046              <entry>Type</entry>
1047              <entry>Value</entry>
1048              <entry>Purpose</entry>
1049            </row>
1050          </thead>
1051          <tbody>
1052
1053<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1054<row><entry>alt</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry/></row>
1055<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1056</tbody>
1057        </tgroup>
1058      </informaltable>
1059    </refsection>
1060  </refentry>
1061  <refentry id="boostbook.dtd.free-function-group">
1062    <refmeta>
1063      <refentrytitle>
1064          BoostBook element <sgmltag>free-function-group</sgmltag></refentrytitle>
1065      <manvolnum>9</manvolnum>
1066    </refmeta>
1067    <refnamediv>
1068      <refname>free-function-group</refname>
1069      <refpurpose>A set of functions that are grouped together under one name</refpurpose>
1070    </refnamediv>
1071    <refsynopsisdiv>free-function-group ::=
1072  (<link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>)*
1073</refsynopsisdiv>
1074    <refsection>
1075      <title>Attributes</title>
1076      <informaltable>
1077        <tgroup cols="4">
1078          <thead>
1079            <row>
1080              <entry>Name</entry>
1081              <entry>Type</entry>
1082              <entry>Value</entry>
1083              <entry>Purpose</entry>
1084            </row>
1085          </thead>
1086          <tbody>
1087
1088<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1089<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1090<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1091<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1092</tbody>
1093        </tgroup>
1094      </informaltable>
1095    </refsection>
1096  </refentry>
1097  <refentry id="boostbook.dtd.functionname">
1098    <refmeta>
1099      <refentrytitle>
1100          BoostBook element <sgmltag>functionname</sgmltag></refentrytitle>
1101      <manvolnum>9</manvolnum>
1102    </refmeta>
1103    <refnamediv>
1104      <refname>functionname</refname>
1105      <refpurpose>References a function with the given name</refpurpose>
1106    </refnamediv>
1107    <refsynopsisdiv>functionname ::=
1108  (#PCDATA)
1109</refsynopsisdiv>
1110    <refsection><title>Description</title>
1111  <para>If a function (or overloaded function) with the given,
1112  possibly-qualified name is found, this generates a link to that
1113  function. Lookups obey currently-active <link linkend="boostbook.dtd.using-class"><sgmltag>using-class</sgmltag></link>
1114  and <link linkend="boostbook.dtd.using-namespace"><sgmltag>using-namespace</sgmltag></link>
1115  directives to aid in the search, along with searching within the
1116  current scope.</para>
1117</refsection>
1118    <refsection>
1119      <title>Attributes</title>
1120      <informaltable>
1121        <tgroup cols="4">
1122          <thead>
1123            <row>
1124              <entry>Name</entry>
1125              <entry>Type</entry>
1126              <entry>Value</entry>
1127              <entry>Purpose</entry>
1128            </row>
1129          </thead>
1130          <tbody>
1131
1132<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1133<row><entry>alt</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry/></row>
1134<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1135<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1136</tbody>
1137        </tgroup>
1138      </informaltable>
1139    </refsection>
1140  </refentry>
1141  <refentry id="boostbook.dtd.librarycategory">
1142    <refmeta>
1143      <refentrytitle>
1144          BoostBook element <sgmltag>librarycategory</sgmltag></refentrytitle>
1145      <manvolnum>9</manvolnum>
1146    </refmeta>
1147    <refnamediv>
1148      <refname>librarycategory</refname>
1149      <refpurpose>Declares that the enclosing library is in this category</refpurpose>
1150    </refnamediv>
1151    <refsynopsisdiv>librarycategory ::=
1152  (#PCDATA)
1153</refsynopsisdiv>
1154    <refsection>
1155      <title>Attributes</title>
1156      <informaltable>
1157        <tgroup cols="4">
1158          <thead>
1159            <row>
1160              <entry>Name</entry>
1161              <entry>Type</entry>
1162              <entry>Value</entry>
1163              <entry>Purpose</entry>
1164            </row>
1165          </thead>
1166          <tbody>
1167
1168<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1169<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1170<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1171<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1172</tbody>
1173        </tgroup>
1174      </informaltable>
1175    </refsection>
1176  </refentry>
1177  <refentry id="boostbook.dtd.notes">
1178    <refmeta>
1179      <refentrytitle>
1180          BoostBook element <sgmltag>notes</sgmltag></refentrytitle>
1181      <manvolnum>9</manvolnum>
1182    </refmeta>
1183    <refnamediv>
1184      <refname>notes</refname>
1185      <refpurpose>Non-normative notes about a function's semantics</refpurpose>
1186    </refnamediv>
1187    <refsynopsisdiv>notes ::=
1188  (ANY)
1189</refsynopsisdiv>
1190    <refsection>
1191      <title>Attributes</title>
1192      <informaltable>
1193        <tgroup cols="4">
1194          <thead>
1195            <row>
1196              <entry>Name</entry>
1197              <entry>Type</entry>
1198              <entry>Value</entry>
1199              <entry>Purpose</entry>
1200            </row>
1201          </thead>
1202          <tbody>
1203
1204<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1205<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1206<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1207</tbody>
1208        </tgroup>
1209      </informaltable>
1210    </refsection>
1211  </refentry>
1212  <refentry id="boostbook.dtd.data-member">
1213    <refmeta>
1214      <refentrytitle>
1215          BoostBook element <sgmltag>data-member</sgmltag></refentrytitle>
1216      <manvolnum>9</manvolnum>
1217    </refmeta>
1218    <refnamediv>
1219      <refname>data-member</refname>
1220      <refpurpose>Declares a data member of a class</refpurpose>
1221    </refnamediv>
1222    <refsynopsisdiv>data-member ::=
1223  (<link linkend="boostbook.dtd.type">type</link>, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?)
1224</refsynopsisdiv>
1225    <refsection>
1226      <title>Attributes</title>
1227      <informaltable>
1228        <tgroup cols="4">
1229          <thead>
1230            <row>
1231              <entry>Name</entry>
1232              <entry>Type</entry>
1233              <entry>Value</entry>
1234              <entry>Purpose</entry>
1235            </row>
1236          </thead>
1237          <tbody>
1238
1239<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1240<row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
1241<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1242<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1243<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1244</tbody>
1245        </tgroup>
1246      </informaltable>
1247    </refsection>
1248  </refentry>
1249  <refentry id="boostbook.dtd.specialization">
1250    <refmeta>
1251      <refentrytitle>
1252          BoostBook element <sgmltag>specialization</sgmltag></refentrytitle>
1253      <manvolnum>9</manvolnum>
1254    </refmeta>
1255    <refnamediv>
1256      <refname>specialization</refname>
1257      <refpurpose>Defines the specialization arguments for a class specialization</refpurpose>
1258    </refnamediv>
1259    <refsynopsisdiv>specialization ::=
1260  (<link linkend="boostbook.dtd.template-arg">template-arg</link>)*
1261</refsynopsisdiv>
1262    <refsection>
1263      <title>Attributes</title>
1264      <informaltable>
1265        <tgroup cols="4">
1266          <thead>
1267            <row>
1268              <entry>Name</entry>
1269              <entry>Type</entry>
1270              <entry>Value</entry>
1271              <entry>Purpose</entry>
1272            </row>
1273          </thead>
1274          <tbody>
1275
1276<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1277<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1278<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1279</tbody>
1280        </tgroup>
1281      </informaltable>
1282    </refsection>
1283  </refentry>
1284  <refentry id="boostbook.dtd.union-specialization">
1285    <refmeta>
1286      <refentrytitle>
1287          BoostBook element <sgmltag>union-specialization</sgmltag></refentrytitle>
1288      <manvolnum>9</manvolnum>
1289    </refmeta>
1290    <refnamediv>
1291      <refname>union-specialization</refname>
1292      <refpurpose>A specialization (full or partial) of a union template</refpurpose>
1293    </refnamediv>
1294    <refsynopsisdiv>union-specialization ::=
1295  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.specialization">specialization</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
1296</refsynopsisdiv>
1297    <refsection>
1298      <title>Attributes</title>
1299      <informaltable>
1300        <tgroup cols="4">
1301          <thead>
1302            <row>
1303              <entry>Name</entry>
1304              <entry>Type</entry>
1305              <entry>Value</entry>
1306              <entry>Purpose</entry>
1307            </row>
1308          </thead>
1309          <tbody>
1310
1311<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1312<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1313<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1314<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1315</tbody>
1316        </tgroup>
1317      </informaltable>
1318    </refsection>
1319  </refentry>
1320  <refentry id="boostbook.dtd.throws">
1321    <refmeta>
1322      <refentrytitle>
1323          BoostBook element <sgmltag>throws</sgmltag></refentrytitle>
1324      <manvolnum>9</manvolnum>
1325    </refmeta>
1326    <refnamediv>
1327      <refname>throws</refname>
1328      <refpurpose>Description of the exceptions thrown by a function</refpurpose>
1329    </refnamediv>
1330    <refsynopsisdiv>throws ::=
1331  (ANY)
1332</refsynopsisdiv>
1333    <refsection>
1334      <title>Attributes</title>
1335      <informaltable>
1336        <tgroup cols="4">
1337          <thead>
1338            <row>
1339              <entry>Name</entry>
1340              <entry>Type</entry>
1341              <entry>Value</entry>
1342              <entry>Purpose</entry>
1343            </row>
1344          </thead>
1345          <tbody>
1346
1347<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1348<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1349<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1350</tbody>
1351        </tgroup>
1352      </informaltable>
1353    </refsection>
1354  </refentry>
1355  <refentry id="boostbook.dtd.template-arg">
1356    <refmeta>
1357      <refentrytitle>
1358          BoostBook element <sgmltag>template-arg</sgmltag></refentrytitle>
1359      <manvolnum>9</manvolnum>
1360    </refmeta>
1361    <refnamediv>
1362      <refname>template-arg</refname>
1363      <refpurpose>A template argument in a specialization</refpurpose>
1364    </refnamediv>
1365    <refsynopsisdiv>template-arg ::=
1366  (ANY)
1367</refsynopsisdiv>
1368    <refsection>
1369      <title>Attributes</title>
1370      <informaltable>
1371        <tgroup cols="4">
1372          <thead>
1373            <row>
1374              <entry>Name</entry>
1375              <entry>Type</entry>
1376              <entry>Value</entry>
1377              <entry>Purpose</entry>
1378            </row>
1379          </thead>
1380          <tbody>
1381
1382<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1383<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1384<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if this is a pack exapansion.</entry></row>
1385<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1386</tbody>
1387        </tgroup>
1388      </informaltable>
1389    </refsection>
1390  </refentry>
1391  <refentry id="boostbook.dtd.globalname">
1392    <refmeta>
1393      <refentrytitle>
1394          BoostBook element <sgmltag>globalname</sgmltag></refentrytitle>
1395      <manvolnum>9</manvolnum>
1396    </refmeta>
1397    <refnamediv>
1398      <refname>globalname</refname>
1399      <refpurpose/>
1400    </refnamediv>
1401    <refsynopsisdiv>globalname ::=
1402  (#PCDATA)
1403</refsynopsisdiv>
1404    <refsection>
1405      <title>Attributes</title>
1406      <informaltable>
1407        <tgroup cols="4">
1408          <thead>
1409            <row>
1410              <entry>Name</entry>
1411              <entry>Type</entry>
1412              <entry>Value</entry>
1413              <entry>Purpose</entry>
1414            </row>
1415          </thead>
1416          <tbody>
1417
1418<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1419<row><entry>alt</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry/></row>
1420<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1421</tbody>
1422        </tgroup>
1423      </informaltable>
1424    </refsection>
1425  </refentry>
1426  <refentry id="boostbook.dtd.method-group">
1427    <refmeta>
1428      <refentrytitle>
1429          BoostBook element <sgmltag>method-group</sgmltag></refentrytitle>
1430      <manvolnum>9</manvolnum>
1431    </refmeta>
1432    <refnamediv>
1433      <refname>method-group</refname>
1434      <refpurpose>A set of methods that are grouped together under one name</refpurpose>
1435    </refnamediv>
1436    <refsynopsisdiv>method-group ::=
1437  (<link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>)*
1438</refsynopsisdiv>
1439    <refsection>
1440      <title>Attributes</title>
1441      <informaltable>
1442        <tgroup cols="4">
1443          <thead>
1444            <row>
1445              <entry>Name</entry>
1446              <entry>Type</entry>
1447              <entry>Value</entry>
1448              <entry>Purpose</entry>
1449            </row>
1450          </thead>
1451          <tbody>
1452
1453<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1454<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1455<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1456<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1457</tbody>
1458        </tgroup>
1459      </informaltable>
1460    </refsection>
1461  </refentry>
1462  <refentry id="boostbook.dtd.requirement">
1463    <refmeta>
1464      <refentrytitle>
1465          BoostBook element <sgmltag>requirement</sgmltag></refentrytitle>
1466      <manvolnum>9</manvolnum>
1467    </refmeta>
1468    <refnamediv>
1469      <refname>requirement</refname>
1470      <refpurpose>A requirement/property in the Jamfile for a testcase</refpurpose>
1471    </refnamediv>
1472    <refsynopsisdiv>requirement ::=
1473  (#PCDATA)
1474</refsynopsisdiv>
1475    <refsection><title>Description</title>
1476  <para>A requirement is part of the dependencies of a target in a
1477  Jamfile. The <code>name</code> attribute of a requirement element
1478  gives the name of the Boost.Build feature and the content of the
1479  requirement gives the value of that feature. A requirement such as
1480  <code>&lt;includes&gt;foo.hpp</code> would be encoded as
1481  <code>&lt;requirement
1482  name="includes"&gt;foo.hpp&lt;/requirement&gt;</code>.</para>
1483</refsection>
1484    <refsection>
1485      <title>Attributes</title>
1486      <informaltable>
1487        <tgroup cols="4">
1488          <thead>
1489            <row>
1490              <entry>Name</entry>
1491              <entry>Type</entry>
1492              <entry>Value</entry>
1493              <entry>Purpose</entry>
1494            </row>
1495          </thead>
1496          <tbody>
1497
1498<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1499</tbody>
1500        </tgroup>
1501      </informaltable>
1502    </refsection>
1503  </refentry>
1504  <refentry id="boostbook.dtd.precondition">
1505    <refmeta>
1506      <refentrytitle>
1507          BoostBook element <sgmltag>precondition</sgmltag></refentrytitle>
1508      <manvolnum>9</manvolnum>
1509    </refmeta>
1510    <refnamediv>
1511      <refname>precondition</refname>
1512      <refpurpose>Conditions that must be met prior to executing a function</refpurpose>
1513    </refnamediv>
1514    <refsynopsisdiv>precondition ::=
1515  (ANY)
1516</refsynopsisdiv>
1517    <refsection>
1518      <title>Attributes</title>
1519      <informaltable>
1520        <tgroup cols="4">
1521          <thead>
1522            <row>
1523              <entry>Name</entry>
1524              <entry>Type</entry>
1525              <entry>Value</entry>
1526              <entry>Purpose</entry>
1527            </row>
1528          </thead>
1529          <tbody>
1530
1531<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1532<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1533<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1534</tbody>
1535        </tgroup>
1536      </informaltable>
1537    </refsection>
1538  </refentry>
1539  <refentry id="boostbook.dtd.paramtype">
1540    <refmeta>
1541      <refentrytitle>
1542          BoostBook element <sgmltag>paramtype</sgmltag></refentrytitle>
1543      <manvolnum>9</manvolnum>
1544    </refmeta>
1545    <refnamediv>
1546      <refname>paramtype</refname>
1547      <refpurpose>The type of a function parameter</refpurpose>
1548    </refnamediv>
1549    <refsynopsisdiv>paramtype ::=
1550  (ANY)
1551</refsynopsisdiv>
1552    <refsection>
1553      <title>Attributes</title>
1554      <informaltable>
1555        <tgroup cols="4">
1556          <thead>
1557            <row>
1558              <entry>Name</entry>
1559              <entry>Type</entry>
1560              <entry>Value</entry>
1561              <entry>Purpose</entry>
1562            </row>
1563          </thead>
1564          <tbody>
1565
1566<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1567<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1568<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1569</tbody>
1570        </tgroup>
1571      </informaltable>
1572    </refsection>
1573  </refentry>
1574  <refentry id="boostbook.dtd.using-class">
1575    <refmeta>
1576      <refentrytitle>
1577          BoostBook element <sgmltag>using-class</sgmltag></refentrytitle>
1578      <manvolnum>9</manvolnum>
1579    </refmeta>
1580    <refnamediv>
1581      <refname>using-class</refname>
1582      <refpurpose>Injects the method and function names of a class into the local scope</refpurpose>
1583    </refnamediv>
1584    <refsynopsisdiv>using-class ::=
1585  EMPTY
1586</refsynopsisdiv>
1587    <refsection>
1588      <title>Attributes</title>
1589      <informaltable>
1590        <tgroup cols="4">
1591          <thead>
1592            <row>
1593              <entry>Name</entry>
1594              <entry>Type</entry>
1595              <entry>Value</entry>
1596              <entry>Purpose</entry>
1597            </row>
1598          </thead>
1599          <tbody>
1600
1601<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1602<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1603<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1604<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1605</tbody>
1606        </tgroup>
1607      </informaltable>
1608    </refsection>
1609  </refentry>
1610  <refentry id="boostbook.dtd.run-test">
1611    <refmeta>
1612      <refentrytitle>
1613          BoostBook element <sgmltag>run-test</sgmltag></refentrytitle>
1614      <manvolnum>9</manvolnum>
1615    </refmeta>
1616    <refnamediv>
1617      <refname>run-test</refname>
1618      <refpurpose>A testcase that should compile, link, and execute</refpurpose>
1619    </refnamediv>
1620    <refsynopsisdiv>run-test ::=
1621  (<link linkend="boostbook.dtd.source">source</link>*, <link linkend="boostbook.dtd.lib">lib</link>*, <link linkend="boostbook.dtd.requirement">requirement</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>, <link linkend="boostbook.dtd.if-fails">if-fails</link>?)
1622</refsynopsisdiv>
1623    <refsection>
1624      <title>Attributes</title>
1625      <informaltable>
1626        <tgroup cols="4">
1627          <thead>
1628            <row>
1629              <entry>Name</entry>
1630              <entry>Type</entry>
1631              <entry>Value</entry>
1632              <entry>Purpose</entry>
1633            </row>
1634          </thead>
1635          <tbody>
1636
1637<row><entry>filename</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the file associated with this element</entry></row>
1638<row><entry>name</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1639</tbody>
1640        </tgroup>
1641      </informaltable>
1642    </refsection>
1643  </refentry>
1644  <refentry id="boostbook.dtd.librarypurpose">
1645    <refmeta>
1646      <refentrytitle>
1647          BoostBook element <sgmltag>librarypurpose</sgmltag></refentrytitle>
1648      <manvolnum>9</manvolnum>
1649    </refmeta>
1650    <refnamediv>
1651      <refname>librarypurpose</refname>
1652      <refpurpose>Describes in one short sentence or phrase the purpose of a library</refpurpose>
1653    </refnamediv>
1654    <refsynopsisdiv>librarypurpose ::=
1655  (#PCDATA| <link linkend="boostbook.dtd.code">code</link>| ulink| <link linkend="boostbook.dtd.functionname">functionname</link>| methodname| classname| <link linkend="boostbook.dtd.macroname">macroname</link>| <link linkend="boostbook.dtd.headername">headername</link>| <link linkend="boostbook.dtd.enumname">enumname</link>| <link linkend="boostbook.dtd.globalname">globalname</link>)*
1656</refsynopsisdiv>
1657    <refsection>
1658      <title>Attributes</title>
1659      <informaltable>
1660        <tgroup cols="4">
1661          <thead>
1662            <row>
1663              <entry>Name</entry>
1664              <entry>Type</entry>
1665              <entry>Value</entry>
1666              <entry>Purpose</entry>
1667            </row>
1668          </thead>
1669          <tbody>
1670
1671<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1672<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1673<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1674</tbody>
1675        </tgroup>
1676      </informaltable>
1677    </refsection>
1678  </refentry>
1679  <refentry id="boostbook.dtd.copy-assignment">
1680    <refmeta>
1681      <refentrytitle>
1682          BoostBook element <sgmltag>copy-assignment</sgmltag></refentrytitle>
1683      <manvolnum>9</manvolnum>
1684    </refmeta>
1685    <refnamediv>
1686      <refname>copy-assignment</refname>
1687      <refpurpose>Declares a copy-assignment operator</refpurpose>
1688    </refnamediv>
1689    <refsynopsisdiv>copy-assignment ::=
1690  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.type">type</link>?, <link linkend="boostbook.dtd.parameter">parameter</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, <link linkend="boostbook.dtd.requires">requires</link>?, <link linkend="boostbook.dtd.effects">effects</link>?, <link linkend="boostbook.dtd.postconditions">postconditions</link>?, <link linkend="boostbook.dtd.returns">returns</link>?, <link linkend="boostbook.dtd.throws">throws</link>?, <link linkend="boostbook.dtd.complexity">complexity</link>?, <link linkend="boostbook.dtd.notes">notes</link>?, <link linkend="boostbook.dtd.rationale">rationale</link>?)
1691</refsynopsisdiv>
1692    <refsection><title>Description</title>
1693  <para>The return type of the copy-assignment operator does not need
1694  to be specified. If left unspecified, it will default to an
1695  unqualified reference to the enclosing class type.</para>
1696
1697  <para>General documentation on functions in BoostBook is provided in
1698  the <link linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
1699  element documentation.</para>
1700</refsection>
1701    <refsection>
1702      <title>Attributes</title>
1703      <informaltable>
1704        <tgroup cols="4">
1705          <thead>
1706            <row>
1707              <entry>Name</entry>
1708              <entry>Type</entry>
1709              <entry>Value</entry>
1710              <entry>Purpose</entry>
1711            </row>
1712          </thead>
1713          <tbody>
1714
1715<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1716<row><entry>cv</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>cv-qualifiers for this method, e.g., const volatile</entry></row>
1717<row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
1718<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1719<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1720</tbody>
1721        </tgroup>
1722      </informaltable>
1723    </refsection>
1724  </refentry>
1725  <refentry id="boostbook.dtd.run-fail-test">
1726    <refmeta>
1727      <refentrytitle>
1728          BoostBook element <sgmltag>run-fail-test</sgmltag></refentrytitle>
1729      <manvolnum>9</manvolnum>
1730    </refmeta>
1731    <refnamediv>
1732      <refname>run-fail-test</refname>
1733      <refpurpose>A testcase that should compile and link, but fail on execution</refpurpose>
1734    </refnamediv>
1735    <refsynopsisdiv>run-fail-test ::=
1736  (<link linkend="boostbook.dtd.source">source</link>*, <link linkend="boostbook.dtd.lib">lib</link>*, <link linkend="boostbook.dtd.requirement">requirement</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>, <link linkend="boostbook.dtd.if-fails">if-fails</link>?)
1737</refsynopsisdiv>
1738    <refsection>
1739      <title>Attributes</title>
1740      <informaltable>
1741        <tgroup cols="4">
1742          <thead>
1743            <row>
1744              <entry>Name</entry>
1745              <entry>Type</entry>
1746              <entry>Value</entry>
1747              <entry>Purpose</entry>
1748            </row>
1749          </thead>
1750          <tbody>
1751
1752<row><entry>filename</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the file associated with this element</entry></row>
1753<row><entry>name</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1754</tbody>
1755        </tgroup>
1756      </informaltable>
1757    </refsection>
1758  </refentry>
1759  <refentry id="boostbook.dtd.template">
1760    <refmeta>
1761      <refentrytitle>
1762          BoostBook element <sgmltag>template</sgmltag></refentrytitle>
1763      <manvolnum>9</manvolnum>
1764    </refmeta>
1765    <refnamediv>
1766      <refname>template</refname>
1767      <refpurpose>Declares the template parameters of a class or function</refpurpose>
1768    </refnamediv>
1769    <refsynopsisdiv>template ::=
1770  (<link linkend="boostbook.dtd.template-type-parameter">template-type-parameter</link>| <link linkend="boostbook.dtd.template-nontype-parameter">template-nontype-parameter</link>| <link linkend="boostbook.dtd.template-varargs">template-varargs</link>)*
1771</refsynopsisdiv>
1772    <refsection>
1773      <title>Attributes</title>
1774      <informaltable>
1775        <tgroup cols="4">
1776          <thead>
1777            <row>
1778              <entry>Name</entry>
1779              <entry>Type</entry>
1780              <entry>Value</entry>
1781              <entry>Purpose</entry>
1782            </row>
1783          </thead>
1784          <tbody>
1785
1786<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1787<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1788<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1789</tbody>
1790        </tgroup>
1791      </informaltable>
1792    </refsection>
1793  </refentry>
1794  <refentry id="boostbook.dtd.compile-fail-test">
1795    <refmeta>
1796      <refentrytitle>
1797          BoostBook element <sgmltag>compile-fail-test</sgmltag></refentrytitle>
1798      <manvolnum>9</manvolnum>
1799    </refmeta>
1800    <refnamediv>
1801      <refname>compile-fail-test</refname>
1802      <refpurpose>A testcase that should fail to compile</refpurpose>
1803    </refnamediv>
1804    <refsynopsisdiv>compile-fail-test ::=
1805  (<link linkend="boostbook.dtd.source">source</link>*, <link linkend="boostbook.dtd.lib">lib</link>*, <link linkend="boostbook.dtd.requirement">requirement</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>, <link linkend="boostbook.dtd.if-fails">if-fails</link>?)
1806</refsynopsisdiv>
1807    <refsection>
1808      <title>Attributes</title>
1809      <informaltable>
1810        <tgroup cols="4">
1811          <thead>
1812            <row>
1813              <entry>Name</entry>
1814              <entry>Type</entry>
1815              <entry>Value</entry>
1816              <entry>Purpose</entry>
1817            </row>
1818          </thead>
1819          <tbody>
1820
1821<row><entry>filename</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the file associated with this element</entry></row>
1822<row><entry>name</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1823</tbody>
1824        </tgroup>
1825      </informaltable>
1826    </refsection>
1827  </refentry>
1828  <refentry id="boostbook.dtd.returns">
1829    <refmeta>
1830      <refentrytitle>
1831          BoostBook element <sgmltag>returns</sgmltag></refentrytitle>
1832      <manvolnum>9</manvolnum>
1833    </refmeta>
1834    <refnamediv>
1835      <refname>returns</refname>
1836      <refpurpose>Description of the return value of a function</refpurpose>
1837    </refnamediv>
1838    <refsynopsisdiv>returns ::=
1839  (ANY)
1840</refsynopsisdiv>
1841    <refsection>
1842      <title>Attributes</title>
1843      <informaltable>
1844        <tgroup cols="4">
1845          <thead>
1846            <row>
1847              <entry>Name</entry>
1848              <entry>Type</entry>
1849              <entry>Value</entry>
1850              <entry>Purpose</entry>
1851            </row>
1852          </thead>
1853          <tbody>
1854
1855<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1856<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1857<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1858</tbody>
1859        </tgroup>
1860      </informaltable>
1861    </refsection>
1862  </refentry>
1863  <refentry id="boostbook.dtd.default">
1864    <refmeta>
1865      <refentrytitle>
1866          BoostBook element <sgmltag>default</sgmltag></refentrytitle>
1867      <manvolnum>9</manvolnum>
1868    </refmeta>
1869    <refnamediv>
1870      <refname>default</refname>
1871      <refpurpose>The default value of a function or template parameter</refpurpose>
1872    </refnamediv>
1873    <refsynopsisdiv>default ::=
1874  (ANY)
1875</refsynopsisdiv>
1876    <refsection>
1877      <title>Attributes</title>
1878      <informaltable>
1879        <tgroup cols="4">
1880          <thead>
1881            <row>
1882              <entry>Name</entry>
1883              <entry>Type</entry>
1884              <entry>Value</entry>
1885              <entry>Purpose</entry>
1886            </row>
1887          </thead>
1888          <tbody>
1889
1890<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1891<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1892<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1893</tbody>
1894        </tgroup>
1895      </informaltable>
1896    </refsection>
1897  </refentry>
1898  <refentry id="boostbook.dtd.parameter">
1899    <refmeta>
1900      <refentrytitle>
1901          BoostBook element <sgmltag>parameter</sgmltag></refentrytitle>
1902      <manvolnum>9</manvolnum>
1903    </refmeta>
1904    <refnamediv>
1905      <refname>parameter</refname>
1906      <refpurpose>A function parameter</refpurpose>
1907    </refnamediv>
1908    <refsynopsisdiv>parameter ::=
1909  (<link linkend="boostbook.dtd.paramtype">paramtype</link>, <link linkend="boostbook.dtd.default">default</link>?, <link linkend="boostbook.dtd.description">description</link>?)
1910</refsynopsisdiv>
1911    <refsection>
1912      <title>Attributes</title>
1913      <informaltable>
1914        <tgroup cols="4">
1915          <thead>
1916            <row>
1917              <entry>Name</entry>
1918              <entry>Type</entry>
1919              <entry>Value</entry>
1920              <entry>Purpose</entry>
1921            </row>
1922          </thead>
1923          <tbody>
1924
1925<row><entry>name</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
1926<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if the parameter is a parameter pack.</entry></row>
1927</tbody>
1928        </tgroup>
1929      </informaltable>
1930    </refsection>
1931  </refentry>
1932  <refentry id="boostbook.dtd.signature">
1933    <refmeta>
1934      <refentrytitle>
1935          BoostBook element <sgmltag>signature</sgmltag></refentrytitle>
1936      <manvolnum>9</manvolnum>
1937    </refmeta>
1938    <refnamediv>
1939      <refname>signature</refname>
1940      <refpurpose>One signature of an overloaded function or method</refpurpose>
1941    </refnamediv>
1942    <refsynopsisdiv>signature ::=
1943  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.type">type</link>, <link linkend="boostbook.dtd.parameter">parameter</link>*)
1944</refsynopsisdiv>
1945    <refsection><title>Description</title>
1946  <para>
1947    A signature refers to one declaration of an overloaded function or
1948    method. The signature itself has no name, because the name of the
1949    overloaded function or method is used. An overloaded function or
1950    method will have several signatures that will generally be typeset
1951    together.
1952  </para>
1953</refsection>
1954    <refsection>
1955      <title>Attributes</title>
1956      <informaltable>
1957        <tgroup cols="4">
1958          <thead>
1959            <row>
1960              <entry>Name</entry>
1961              <entry>Type</entry>
1962              <entry>Value</entry>
1963              <entry>Purpose</entry>
1964            </row>
1965          </thead>
1966          <tbody>
1967
1968<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
1969<row><entry>cv</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>cv-qualifiers for this method, e.g., const volatile</entry></row>
1970<row><entry>specifiers</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The specifiers for this function, e.g., inline, static, etc.</entry></row>
1971<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
1972<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
1973</tbody>
1974        </tgroup>
1975      </informaltable>
1976    </refsection>
1977  </refentry>
1978  <refentry id="boostbook.dtd.overloaded-function">
1979    <refmeta>
1980      <refentrytitle>
1981          BoostBook element <sgmltag>overloaded-function</sgmltag></refentrytitle>
1982      <manvolnum>9</manvolnum>
1983    </refmeta>
1984    <refnamediv>
1985      <refname>overloaded-function</refname>
1986      <refpurpose>An overloaded function</refpurpose>
1987    </refnamediv>
1988    <refsynopsisdiv>overloaded-function ::=
1989  (<link linkend="boostbook.dtd.signature">signature</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, <link linkend="boostbook.dtd.requires">requires</link>?, <link linkend="boostbook.dtd.effects">effects</link>?, <link linkend="boostbook.dtd.postconditions">postconditions</link>?, <link linkend="boostbook.dtd.returns">returns</link>?, <link linkend="boostbook.dtd.throws">throws</link>?, <link linkend="boostbook.dtd.complexity">complexity</link>?, <link linkend="boostbook.dtd.notes">notes</link>?, <link linkend="boostbook.dtd.rationale">rationale</link>?)
1990</refsynopsisdiv>
1991    <refsection><title>Description</title>
1992  <para>General documentation on functions in BoostBook is provided in
1993  the <link linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
1994  element documentation.</para>
1995</refsection>
1996    <refsection>
1997      <title>Attributes</title>
1998      <informaltable>
1999        <tgroup cols="4">
2000          <thead>
2001            <row>
2002              <entry>Name</entry>
2003              <entry>Type</entry>
2004              <entry>Value</entry>
2005              <entry>Purpose</entry>
2006            </row>
2007          </thead>
2008          <tbody>
2009
2010<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2011<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2012<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2013<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2014</tbody>
2015        </tgroup>
2016      </informaltable>
2017    </refsection>
2018  </refentry>
2019  <refentry id="boostbook.dtd.access">
2020    <refmeta>
2021      <refentrytitle>
2022          BoostBook element <sgmltag>access</sgmltag></refentrytitle>
2023      <manvolnum>9</manvolnum>
2024    </refmeta>
2025    <refnamediv>
2026      <refname>access</refname>
2027      <refpurpose>Declares an access specification for class members</refpurpose>
2028    </refnamediv>
2029    <refsynopsisdiv>access ::=
2030  (<link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)+
2031</refsynopsisdiv>
2032    <refsection><title>Description</title>
2033    <para>The access specifications of class members (public, private, or protected) may be determined by enclosing them in an &lt;access&gt; element.</para>
2034  </refsection>
2035    <refsection>
2036      <title>Attributes</title>
2037      <informaltable>
2038        <tgroup cols="4">
2039          <thead>
2040            <row>
2041              <entry>Name</entry>
2042              <entry>Type</entry>
2043              <entry>Value</entry>
2044              <entry>Purpose</entry>
2045            </row>
2046          </thead>
2047          <tbody>
2048
2049<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2050<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the access specification, e.g. "public", "private", or "protected".</entry></row>
2051<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2052</tbody>
2053        </tgroup>
2054      </informaltable>
2055    </refsection>
2056  </refentry>
2057  <refentry id="boostbook.dtd.class">
2058    <refmeta>
2059      <refentrytitle>
2060          BoostBook element <sgmltag>class</sgmltag></refentrytitle>
2061      <manvolnum>9</manvolnum>
2062    </refmeta>
2063    <refnamediv>
2064      <refname>class</refname>
2065      <refpurpose>Declares a class or class template</refpurpose>
2066    </refnamediv>
2067    <refsynopsisdiv>class ::=
2068  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
2069</refsynopsisdiv>
2070    <refsection><title>Description</title>
2071  <para>C++ classes and class templates are described via the
2072  &lt;class&gt; element. Each class has a name (e.g., "any") given by
2073  the <code>name</code> attribute, a purpose given by the
2074  &lt;purpose&gt; element, documentation, and a set of types,
2075  functions, base classes, and data members. Here is a minimal
2076  definition of the <classname>boost::any</classname> class:</para>
2077
2078  <programlisting>&lt;namespace name="boost"&gt;
2079  &lt;class name="any"&gt;
2080    &lt;purpose&gt;
2081      A class whose instances can hold instances of any type that satisfies
2082      ValueType requirements.
2083    &lt;/purpose&gt;
2084  &lt;/class&gt;
2085&lt;/namespace&gt;</programlisting>
2086
2087  <para>Additional class documentation can be contained in a
2088  <sgmltag>description</sgmltag> element following the &lt;purpose&gt;
2089  element. This documentation will be typeset prior to documentation
2090  for specific elements in the class (e.g., constructors or
2091  methods).</para>
2092
2093  <para>Class inheritance is described via the &lt;inherit&gt;
2094  element. The &lt;inherit&gt; element requires an <code>access</code>
2095  attribute which must be one of <emphasis>public</emphasis>,
2096  <emphasis>protected</emphasis>, or <emphasis>private</emphasis>. The
2097  content of the &lt;inherited&gt; element in C++ code that names the
2098  class inherited, and may contain markup to link to the class. The
2099  following description of the class
2100  <classname>boost::bad_any_cast</classname> describes public
2101  inheritance from the class <classname>std::bad_cast</classname>. It
2102  also defines the &lt;purpose&gt; element, which contains a short
2103  description of the use of the class.</para>
2104
2105  <programlisting>&lt;class name="bad_any_cast"&gt;
2106  &lt;inherit access="public"&gt;&lt;classname&gt;std::bad_cast&lt;/classname&gt;&lt;/inherit&gt;
2107  &lt;purpose&gt;&lt;para&gt;The exception thrown in the event of a failed
2108  &lt;functionname&gt;any_cast&lt;/functionname&gt; of an
2109  &lt;classname&gt;any&lt;/classname&gt; value.&lt;/para&gt;&lt;/purpose&gt;
2110&lt;/class&gt;</programlisting>
2111
2112  <para>Class templates are defined by &lt;class&gt; elements with a
2113  &lt;template&gt; child element at the beginning.</para>
2114</refsection>
2115    <refsection>
2116      <title>Attributes</title>
2117      <informaltable>
2118        <tgroup cols="4">
2119          <thead>
2120            <row>
2121              <entry>Name</entry>
2122              <entry>Type</entry>
2123              <entry>Value</entry>
2124              <entry>Purpose</entry>
2125            </row>
2126          </thead>
2127          <tbody>
2128
2129<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2130<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2131<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2132<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2133</tbody>
2134        </tgroup>
2135      </informaltable>
2136    </refsection>
2137  </refentry>
2138  <refentry id="boostbook.dtd.librarycategorydef">
2139    <refmeta>
2140      <refentrytitle>
2141          BoostBook element <sgmltag>librarycategorydef</sgmltag></refentrytitle>
2142      <manvolnum>9</manvolnum>
2143    </refmeta>
2144    <refnamediv>
2145      <refname>librarycategorydef</refname>
2146      <refpurpose>Defines a new library category</refpurpose>
2147    </refnamediv>
2148    <refsynopsisdiv>librarycategorydef ::=
2149  (#PCDATA)
2150</refsynopsisdiv>
2151    <refsection><title>Description</title>
2152  <para>All library category definitions should be in <filename>doc/src/boost.xml</filename>, and the names of categories must be prefixed with "<code>category:</code>".</para>
2153</refsection>
2154    <refsection>
2155      <title>Attributes</title>
2156      <informaltable>
2157        <tgroup cols="4">
2158          <thead>
2159            <row>
2160              <entry>Name</entry>
2161              <entry>Type</entry>
2162              <entry>Value</entry>
2163              <entry>Purpose</entry>
2164            </row>
2165          </thead>
2166          <tbody>
2167
2168<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2169<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2170<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2171<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2172</tbody>
2173        </tgroup>
2174      </informaltable>
2175    </refsection>
2176  </refentry>
2177  <refentry id="boostbook.dtd.type">
2178    <refmeta>
2179      <refentrytitle>
2180          BoostBook element <sgmltag>type</sgmltag></refentrytitle>
2181      <manvolnum>9</manvolnum>
2182    </refmeta>
2183    <refnamediv>
2184      <refname>type</refname>
2185      <refpurpose>The type of an element or return type of a function</refpurpose>
2186    </refnamediv>
2187    <refsynopsisdiv>type ::=
2188  (ANY)
2189</refsynopsisdiv>
2190    <refsection>
2191      <title>Attributes</title>
2192      <informaltable>
2193        <tgroup cols="4">
2194          <thead>
2195            <row>
2196              <entry>Name</entry>
2197              <entry>Type</entry>
2198              <entry>Value</entry>
2199              <entry>Purpose</entry>
2200            </row>
2201          </thead>
2202          <tbody>
2203
2204<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2205<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2206<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2207</tbody>
2208        </tgroup>
2209      </informaltable>
2210    </refsection>
2211  </refentry>
2212  <refentry id="boostbook.dtd.enumvalue">
2213    <refmeta>
2214      <refentrytitle>
2215          BoostBook element <sgmltag>enumvalue</sgmltag></refentrytitle>
2216      <manvolnum>9</manvolnum>
2217    </refmeta>
2218    <refnamediv>
2219      <refname>enumvalue</refname>
2220      <refpurpose>A single value of an enumeration</refpurpose>
2221    </refnamediv>
2222    <refsynopsisdiv>enumvalue ::=
2223  (<link linkend="boostbook.dtd.default">default</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?)
2224</refsynopsisdiv>
2225    <refsection>
2226      <title>Attributes</title>
2227      <informaltable>
2228        <tgroup cols="4">
2229          <thead>
2230            <row>
2231              <entry>Name</entry>
2232              <entry>Type</entry>
2233              <entry>Value</entry>
2234              <entry>Purpose</entry>
2235            </row>
2236          </thead>
2237          <tbody>
2238
2239<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2240<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2241<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2242<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2243</tbody>
2244        </tgroup>
2245      </informaltable>
2246    </refsection>
2247  </refentry>
2248  <refentry id="boostbook.dtd.overloaded-method">
2249    <refmeta>
2250      <refentrytitle>
2251          BoostBook element <sgmltag>overloaded-method</sgmltag></refentrytitle>
2252      <manvolnum>9</manvolnum>
2253    </refmeta>
2254    <refnamediv>
2255      <refname>overloaded-method</refname>
2256      <refpurpose>An overloaded method</refpurpose>
2257    </refnamediv>
2258    <refsynopsisdiv>overloaded-method ::=
2259  (<link linkend="boostbook.dtd.signature">signature</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, <link linkend="boostbook.dtd.requires">requires</link>?, <link linkend="boostbook.dtd.effects">effects</link>?, <link linkend="boostbook.dtd.postconditions">postconditions</link>?, <link linkend="boostbook.dtd.returns">returns</link>?, <link linkend="boostbook.dtd.throws">throws</link>?, <link linkend="boostbook.dtd.complexity">complexity</link>?, <link linkend="boostbook.dtd.notes">notes</link>?, <link linkend="boostbook.dtd.rationale">rationale</link>?)
2260</refsynopsisdiv>
2261    <refsection><title>Description</title>
2262  <para>General documentation on functions in BoostBook is provided in
2263  the <link linkend="boostbook.dtd.function"><sgmltag>function</sgmltag></link>
2264  element documentation.</para>
2265</refsection>
2266    <refsection>
2267      <title>Attributes</title>
2268      <informaltable>
2269        <tgroup cols="4">
2270          <thead>
2271            <row>
2272              <entry>Name</entry>
2273              <entry>Type</entry>
2274              <entry>Value</entry>
2275              <entry>Purpose</entry>
2276            </row>
2277          </thead>
2278          <tbody>
2279
2280<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2281<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2282<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2283<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2284</tbody>
2285        </tgroup>
2286      </informaltable>
2287    </refsection>
2288  </refentry>
2289  <refentry id="boostbook.dtd.programlisting">
2290    <refmeta>
2291      <refentrytitle>
2292          BoostBook element <sgmltag>programlisting</sgmltag></refentrytitle>
2293      <manvolnum>9</manvolnum>
2294    </refmeta>
2295    <refnamediv>
2296      <refname>programlisting</refname>
2297      <refpurpose>A sample of program code</refpurpose>
2298    </refnamediv>
2299    <refsynopsisdiv>programlisting ::=
2300  (ANY)
2301</refsynopsisdiv>
2302    <refsection>
2303      <title>Attributes</title>
2304      <informaltable>
2305        <tgroup cols="4">
2306          <thead>
2307            <row>
2308              <entry>Name</entry>
2309              <entry>Type</entry>
2310              <entry>Value</entry>
2311              <entry>Purpose</entry>
2312            </row>
2313          </thead>
2314          <tbody>
2315
2316<row><entry>name</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2317</tbody>
2318        </tgroup>
2319      </informaltable>
2320    </refsection>
2321  </refentry>
2322  <refentry id="boostbook.dtd.complexity">
2323    <refmeta>
2324      <refentrytitle>
2325          BoostBook element <sgmltag>complexity</sgmltag></refentrytitle>
2326      <manvolnum>9</manvolnum>
2327    </refmeta>
2328    <refnamediv>
2329      <refname>complexity</refname>
2330      <refpurpose>The time/space/etc. complexity of a function</refpurpose>
2331    </refnamediv>
2332    <refsynopsisdiv>complexity ::=
2333  (ANY)
2334</refsynopsisdiv>
2335    <refsection>
2336      <title>Attributes</title>
2337      <informaltable>
2338        <tgroup cols="4">
2339          <thead>
2340            <row>
2341              <entry>Name</entry>
2342              <entry>Type</entry>
2343              <entry>Value</entry>
2344              <entry>Purpose</entry>
2345            </row>
2346          </thead>
2347          <tbody>
2348
2349<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2350<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2351<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2352</tbody>
2353        </tgroup>
2354      </informaltable>
2355    </refsection>
2356  </refentry>
2357  <refentry id="boostbook.dtd.purpose">
2358    <refmeta>
2359      <refentrytitle>
2360          BoostBook element <sgmltag>purpose</sgmltag></refentrytitle>
2361      <manvolnum>9</manvolnum>
2362    </refmeta>
2363    <refnamediv>
2364      <refname>purpose</refname>
2365      <refpurpose>A short description of an entity's use</refpurpose>
2366    </refnamediv>
2367    <refsynopsisdiv>purpose ::=
2368  (ANY)
2369</refsynopsisdiv>
2370    <refsection>
2371      <title>Attributes</title>
2372      <informaltable>
2373        <tgroup cols="4">
2374          <thead>
2375            <row>
2376              <entry>Name</entry>
2377              <entry>Type</entry>
2378              <entry>Value</entry>
2379              <entry>Purpose</entry>
2380            </row>
2381          </thead>
2382          <tbody>
2383
2384<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2385<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2386<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2387</tbody>
2388        </tgroup>
2389      </informaltable>
2390    </refsection>
2391  </refentry>
2392  <refentry id="boostbook.dtd.template-nontype-parameter">
2393    <refmeta>
2394      <refentrytitle>
2395          BoostBook element <sgmltag>template-nontype-parameter</sgmltag></refentrytitle>
2396      <manvolnum>9</manvolnum>
2397    </refmeta>
2398    <refnamediv>
2399      <refname>template-nontype-parameter</refname>
2400      <refpurpose>A nontype template parameter</refpurpose>
2401    </refnamediv>
2402    <refsynopsisdiv>template-nontype-parameter ::=
2403  (<link linkend="boostbook.dtd.type">type</link>, <link linkend="boostbook.dtd.default">default</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?)
2404</refsynopsisdiv>
2405    <refsection>
2406      <title>Attributes</title>
2407      <informaltable>
2408        <tgroup cols="4">
2409          <thead>
2410            <row>
2411              <entry>Name</entry>
2412              <entry>Type</entry>
2413              <entry>Value</entry>
2414              <entry>Purpose</entry>
2415            </row>
2416          </thead>
2417          <tbody>
2418
2419<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2420<row><entry>pack</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to '1' if the parameter is a parameter pack.</entry></row>
2421<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2422<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2423<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2424</tbody>
2425        </tgroup>
2426      </informaltable>
2427    </refsection>
2428  </refentry>
2429  <refentry id="boostbook.dtd.library">
2430    <refmeta>
2431      <refentrytitle>
2432          BoostBook element <sgmltag>library</sgmltag></refentrytitle>
2433      <manvolnum>9</manvolnum>
2434    </refmeta>
2435    <refnamediv>
2436      <refname>library</refname>
2437      <refpurpose>Top-level element for a library</refpurpose>
2438    </refnamediv>
2439    <refsynopsisdiv>library ::=
2440  (<link linkend="boostbook.dtd.libraryinfo">libraryinfo</link>, (title, ((section| <link linkend="boostbook.dtd.library-reference">library-reference</link>| <link linkend="boostbook.dtd.testsuite">testsuite</link>))+)?)
2441</refsynopsisdiv>
2442    <refsection>
2443      <title>Attributes</title>
2444      <informaltable>
2445        <tgroup cols="4">
2446          <thead>
2447            <row>
2448              <entry>Name</entry>
2449              <entry>Type</entry>
2450              <entry>Value</entry>
2451              <entry>Purpose</entry>
2452            </row>
2453          </thead>
2454          <tbody>
2455
2456<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2457<row><entry>dirname</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry/></row>
2458<row><entry>url</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry/></row>
2459<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2460<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2461<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2462<row><entry>html-only</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry/></row>
2463</tbody>
2464        </tgroup>
2465      </informaltable>
2466    </refsection>
2467  </refentry>
2468  <refentry id="boostbook.dtd.librarycategorylist">
2469    <refmeta>
2470      <refentrytitle>
2471          BoostBook element <sgmltag>librarycategorylist</sgmltag></refentrytitle>
2472      <manvolnum>9</manvolnum>
2473    </refmeta>
2474    <refnamediv>
2475      <refname>librarycategorylist</refname>
2476      <refpurpose>Categorized listing of libraries</refpurpose>
2477    </refnamediv>
2478    <refsynopsisdiv>librarycategorylist ::=
2479  (<link linkend="boostbook.dtd.librarycategorydef">librarycategorydef</link>)*
2480</refsynopsisdiv>
2481    <refsection><title>Description</title>
2482  <para>This element is not intended for use by developers, but is
2483  used by <filename>doc/src/boost.xml</filename> as a
2484  placeholder.</para>
2485</refsection>
2486    <refsection>
2487      <title>Attributes</title>
2488      <informaltable>
2489        <tgroup cols="4">
2490          <thead>
2491            <row>
2492              <entry>Name</entry>
2493              <entry>Type</entry>
2494              <entry>Value</entry>
2495              <entry>Purpose</entry>
2496            </row>
2497          </thead>
2498          <tbody>
2499
2500<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2501<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2502<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2503</tbody>
2504        </tgroup>
2505      </informaltable>
2506    </refsection>
2507  </refentry>
2508  <refentry id="boostbook.dtd.using-namespace">
2509    <refmeta>
2510      <refentrytitle>
2511          BoostBook element <sgmltag>using-namespace</sgmltag></refentrytitle>
2512      <manvolnum>9</manvolnum>
2513    </refmeta>
2514    <refnamediv>
2515      <refname>using-namespace</refname>
2516      <refpurpose>Injects the declared names from a namespace into the local scope</refpurpose>
2517    </refnamediv>
2518    <refsynopsisdiv>using-namespace ::=
2519  EMPTY
2520</refsynopsisdiv>
2521    <refsection>
2522      <title>Attributes</title>
2523      <informaltable>
2524        <tgroup cols="4">
2525          <thead>
2526            <row>
2527              <entry>Name</entry>
2528              <entry>Type</entry>
2529              <entry>Value</entry>
2530              <entry>Purpose</entry>
2531            </row>
2532          </thead>
2533          <tbody>
2534
2535<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2536<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2537<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2538<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2539</tbody>
2540        </tgroup>
2541      </informaltable>
2542    </refsection>
2543  </refentry>
2544  <refentry id="boostbook.dtd.enumname">
2545    <refmeta>
2546      <refentrytitle>
2547          BoostBook element <sgmltag>enumname</sgmltag></refentrytitle>
2548      <manvolnum>9</manvolnum>
2549    </refmeta>
2550    <refnamediv>
2551      <refname>enumname</refname>
2552      <refpurpose/>
2553    </refnamediv>
2554    <refsynopsisdiv>enumname ::=
2555  (#PCDATA)
2556</refsynopsisdiv>
2557    <refsection>
2558      <title>Attributes</title>
2559      <informaltable>
2560        <tgroup cols="4">
2561          <thead>
2562            <row>
2563              <entry>Name</entry>
2564              <entry>Type</entry>
2565              <entry>Value</entry>
2566              <entry>Purpose</entry>
2567            </row>
2568          </thead>
2569          <tbody>
2570
2571<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2572<row><entry>alt</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry/></row>
2573<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2574</tbody>
2575        </tgroup>
2576      </informaltable>
2577    </refsection>
2578  </refentry>
2579  <refentry id="boostbook.dtd.struct-specialization">
2580    <refmeta>
2581      <refentrytitle>
2582          BoostBook element <sgmltag>struct-specialization</sgmltag></refentrytitle>
2583      <manvolnum>9</manvolnum>
2584    </refmeta>
2585    <refnamediv>
2586      <refname>struct-specialization</refname>
2587      <refpurpose>A specialization (full or partial) of a struct template</refpurpose>
2588    </refnamediv>
2589    <refsynopsisdiv>struct-specialization ::=
2590  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.specialization">specialization</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>?, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
2591</refsynopsisdiv>
2592    <refsection>
2593      <title>Attributes</title>
2594      <informaltable>
2595        <tgroup cols="4">
2596          <thead>
2597            <row>
2598              <entry>Name</entry>
2599              <entry>Type</entry>
2600              <entry>Value</entry>
2601              <entry>Purpose</entry>
2602            </row>
2603          </thead>
2604          <tbody>
2605
2606<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2607<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2608<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2609<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2610</tbody>
2611        </tgroup>
2612      </informaltable>
2613    </refsection>
2614  </refentry>
2615  <refentry id="boostbook.dtd.struct">
2616    <refmeta>
2617      <refentrytitle>
2618          BoostBook element <sgmltag>struct</sgmltag></refentrytitle>
2619      <manvolnum>9</manvolnum>
2620    </refmeta>
2621    <refnamediv>
2622      <refname>struct</refname>
2623      <refpurpose>Declares a C++ struct</refpurpose>
2624    </refnamediv>
2625    <refsynopsisdiv>struct ::=
2626  (<link linkend="boostbook.dtd.template">template</link>?, <link linkend="boostbook.dtd.inherit">inherit</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?, (<link linkend="boostbook.dtd.access">access</link>| <link linkend="boostbook.dtd.static-constant">static-constant</link>| <link linkend="boostbook.dtd.typedef">typedef</link>| <link linkend="boostbook.dtd.enum">enum</link>| <link linkend="boostbook.dtd.copy-assignment">copy-assignment</link>| <link linkend="boostbook.dtd.constructor">constructor</link>| <link linkend="boostbook.dtd.destructor">destructor</link>| <link linkend="boostbook.dtd.method-group">method-group</link>| <link linkend="boostbook.dtd.free-function-group">free-function-group</link>| <link linkend="boostbook.dtd.function">function</link>| <link linkend="boostbook.dtd.method">method</link>| <link linkend="boostbook.dtd.overloaded-function">overloaded-function</link>| <link linkend="boostbook.dtd.overloaded-method">overloaded-method</link>| <link linkend="boostbook.dtd.data-member">data-member</link>| <link linkend="boostbook.dtd.class">class</link>| <link linkend="boostbook.dtd.class-specialization">class-specialization</link>| <link linkend="boostbook.dtd.struct">struct</link>| <link linkend="boostbook.dtd.struct-specialization">struct-specialization</link>| <link linkend="boostbook.dtd.union">union</link>| <link linkend="boostbook.dtd.union-specialization">union-specialization</link>)*)
2627</refsynopsisdiv>
2628    <refsection>
2629      <title>Attributes</title>
2630      <informaltable>
2631        <tgroup cols="4">
2632          <thead>
2633            <row>
2634              <entry>Name</entry>
2635              <entry>Type</entry>
2636              <entry>Value</entry>
2637              <entry>Purpose</entry>
2638            </row>
2639          </thead>
2640          <tbody>
2641
2642<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2643<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2644<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2645<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2646</tbody>
2647        </tgroup>
2648      </informaltable>
2649    </refsection>
2650  </refentry>
2651  <refentry id="boostbook.dtd.lib">
2652    <refmeta>
2653      <refentrytitle>
2654          BoostBook element <sgmltag>lib</sgmltag></refentrytitle>
2655      <manvolnum>9</manvolnum>
2656    </refmeta>
2657    <refnamediv>
2658      <refname>lib</refname>
2659      <refpurpose>A library dependency</refpurpose>
2660    </refnamediv>
2661    <refsynopsisdiv>lib ::=
2662  (#PCDATA)
2663</refsynopsisdiv>
2664    <refsection><title>Description</title>
2665  <para>Declares a library dependency on the library named by the content of this element, to be emitted in a Jamfile.</para>
2666</refsection>
2667  </refentry>
2668  <refentry id="boostbook.dtd.enum">
2669    <refmeta>
2670      <refentrytitle>
2671          BoostBook element <sgmltag>enum</sgmltag></refentrytitle>
2672      <manvolnum>9</manvolnum>
2673    </refmeta>
2674    <refnamediv>
2675      <refname>enum</refname>
2676      <refpurpose>Declares an enumeration type</refpurpose>
2677    </refnamediv>
2678    <refsynopsisdiv>enum ::=
2679  (<link linkend="boostbook.dtd.enumvalue">enumvalue</link>*, <link linkend="boostbook.dtd.purpose">purpose</link>?, <link linkend="boostbook.dtd.description">description</link>?)
2680</refsynopsisdiv>
2681    <refsection>
2682      <title>Attributes</title>
2683      <informaltable>
2684        <tgroup cols="4">
2685          <thead>
2686            <row>
2687              <entry>Name</entry>
2688              <entry>Type</entry>
2689              <entry>Value</entry>
2690              <entry>Purpose</entry>
2691            </row>
2692          </thead>
2693          <tbody>
2694
2695<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2696<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2697<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2698<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2699</tbody>
2700        </tgroup>
2701      </informaltable>
2702    </refsection>
2703  </refentry>
2704  <refentry id="boostbook.dtd.requires">
2705    <refmeta>
2706      <refentrytitle>
2707          BoostBook element <sgmltag>requires</sgmltag></refentrytitle>
2708      <manvolnum>9</manvolnum>
2709    </refmeta>
2710    <refnamediv>
2711      <refname>requires</refname>
2712      <refpurpose>Declares the requirements of a function</refpurpose>
2713    </refnamediv>
2714    <refsynopsisdiv>requires ::=
2715  (ANY)
2716</refsynopsisdiv>
2717    <refsection>
2718      <title>Attributes</title>
2719      <informaltable>
2720        <tgroup cols="4">
2721          <thead>
2722            <row>
2723              <entry>Name</entry>
2724              <entry>Type</entry>
2725              <entry>Value</entry>
2726              <entry>Purpose</entry>
2727            </row>
2728          </thead>
2729          <tbody>
2730
2731<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2732<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2733<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2734</tbody>
2735        </tgroup>
2736      </informaltable>
2737    </refsection>
2738  </refentry>
2739  <refentry id="boostbook.dtd.effects">
2740    <refmeta>
2741      <refentrytitle>
2742          BoostBook element <sgmltag>effects</sgmltag></refentrytitle>
2743      <manvolnum>9</manvolnum>
2744    </refmeta>
2745    <refnamediv>
2746      <refname>effects</refname>
2747      <refpurpose>Declares the side effects of a function</refpurpose>
2748    </refnamediv>
2749    <refsynopsisdiv>effects ::=
2750  (ANY)
2751</refsynopsisdiv>
2752    <refsection>
2753      <title>Attributes</title>
2754      <informaltable>
2755        <tgroup cols="4">
2756          <thead>
2757            <row>
2758              <entry>Name</entry>
2759              <entry>Type</entry>
2760              <entry>Value</entry>
2761              <entry>Purpose</entry>
2762            </row>
2763          </thead>
2764          <tbody>
2765
2766<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2767<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2768<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2769</tbody>
2770        </tgroup>
2771      </informaltable>
2772    </refsection>
2773  </refentry>
2774  <refentry id="boostbook.dtd.libraryname">
2775    <refmeta>
2776      <refentrytitle>
2777          BoostBook element <sgmltag>libraryname</sgmltag></refentrytitle>
2778      <manvolnum>9</manvolnum>
2779    </refmeta>
2780    <refnamediv>
2781      <refname>libraryname</refname>
2782      <refpurpose>References a library of the given name</refpurpose>
2783    </refnamediv>
2784    <refsynopsisdiv>libraryname ::=
2785  (#PCDATA)
2786</refsynopsisdiv>
2787    <refsection>
2788      <title>Attributes</title>
2789      <informaltable>
2790        <tgroup cols="4">
2791          <thead>
2792            <row>
2793              <entry>Name</entry>
2794              <entry>Type</entry>
2795              <entry>Value</entry>
2796              <entry>Purpose</entry>
2797            </row>
2798          </thead>
2799          <tbody>
2800
2801<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2802<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2803<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2804</tbody>
2805        </tgroup>
2806      </informaltable>
2807    </refsection>
2808  </refentry>
2809  <refentry id="boostbook.dtd.libraryinfo">
2810    <refmeta>
2811      <refentrytitle>
2812          BoostBook element <sgmltag>libraryinfo</sgmltag></refentrytitle>
2813      <manvolnum>9</manvolnum>
2814    </refmeta>
2815    <refnamediv>
2816      <refname>libraryinfo</refname>
2817      <refpurpose>Provides information about a library</refpurpose>
2818    </refnamediv>
2819    <refsynopsisdiv>libraryinfo ::=
2820  (author+, copyright*, legalnotice*, <link linkend="boostbook.dtd.librarypurpose">librarypurpose</link>, <link linkend="boostbook.dtd.librarycategory">librarycategory</link>*)
2821</refsynopsisdiv>
2822    <refsection>
2823      <title>Attributes</title>
2824      <informaltable>
2825        <tgroup cols="4">
2826          <thead>
2827            <row>
2828              <entry>Name</entry>
2829              <entry>Type</entry>
2830              <entry>Value</entry>
2831              <entry>Purpose</entry>
2832            </row>
2833          </thead>
2834          <tbody>
2835
2836<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2837<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2838<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2839</tbody>
2840        </tgroup>
2841      </informaltable>
2842    </refsection>
2843  </refentry>
2844  <refentry id="boostbook.dtd.testsuite">
2845    <refmeta>
2846      <refentrytitle>
2847          BoostBook element <sgmltag>testsuite</sgmltag></refentrytitle>
2848      <manvolnum>9</manvolnum>
2849    </refmeta>
2850    <refnamediv>
2851      <refname>testsuite</refname>
2852      <refpurpose>Describes a library testsuite</refpurpose>
2853    </refnamediv>
2854    <refsynopsisdiv>testsuite ::=
2855  ((<link linkend="boostbook.dtd.compile-test">compile-test</link>| <link linkend="boostbook.dtd.link-test">link-test</link>| <link linkend="boostbook.dtd.run-test">run-test</link>| <link linkend="boostbook.dtd.compile-fail-test">compile-fail-test</link>| <link linkend="boostbook.dtd.link-fail-test">link-fail-test</link>| <link linkend="boostbook.dtd.run-fail-test">run-fail-test</link>)+)
2856</refsynopsisdiv>
2857    <refsection>
2858      <title>Attributes</title>
2859      <informaltable>
2860        <tgroup cols="4">
2861          <thead>
2862            <row>
2863              <entry>Name</entry>
2864              <entry>Type</entry>
2865              <entry>Value</entry>
2866              <entry>Purpose</entry>
2867            </row>
2868          </thead>
2869          <tbody>
2870
2871<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2872<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2873<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2874</tbody>
2875        </tgroup>
2876      </informaltable>
2877    </refsection>
2878  </refentry>
2879  <refentry id="boostbook.dtd.header">
2880    <refmeta>
2881      <refentrytitle>
2882          BoostBook element <sgmltag>header</sgmltag></refentrytitle>
2883      <manvolnum>9</manvolnum>
2884    </refmeta>
2885    <refnamediv>
2886      <refname>header</refname>
2887      <refpurpose>Declares a C++ header with the given name</refpurpose>
2888    </refnamediv>
2889    <refsynopsisdiv>header ::=
2890  (ANY)
2891</refsynopsisdiv>
2892    <refsection>
2893      <title>Attributes</title>
2894      <informaltable>
2895        <tgroup cols="4">
2896          <thead>
2897            <row>
2898              <entry>Name</entry>
2899              <entry>Type</entry>
2900              <entry>Value</entry>
2901              <entry>Purpose</entry>
2902            </row>
2903          </thead>
2904          <tbody>
2905
2906<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2907<row><entry>name</entry><entry>#REQUIRED</entry><entry>CDATA</entry><entry>The name of the element being declared to referenced</entry></row>
2908<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2909<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2910</tbody>
2911        </tgroup>
2912      </informaltable>
2913    </refsection>
2914  </refentry>
2915  <refentry id="boostbook.dtd.rationale">
2916    <refmeta>
2917      <refentrytitle>
2918          BoostBook element <sgmltag>rationale</sgmltag></refentrytitle>
2919      <manvolnum>9</manvolnum>
2920    </refmeta>
2921    <refnamediv>
2922      <refname>rationale</refname>
2923      <refpurpose>Describes the rationale for a particular function's design</refpurpose>
2924    </refnamediv>
2925    <refsynopsisdiv>rationale ::=
2926  (ANY)
2927</refsynopsisdiv>
2928    <refsection>
2929      <title>Attributes</title>
2930      <informaltable>
2931        <tgroup cols="4">
2932          <thead>
2933            <row>
2934              <entry>Name</entry>
2935              <entry>Type</entry>
2936              <entry>Value</entry>
2937              <entry>Purpose</entry>
2938            </row>
2939          </thead>
2940          <tbody>
2941
2942<row><entry>last-revision</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Set to $Date$ to keep "last revised" information in sync with CVS changes</entry></row>
2943<row><entry>id</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>A global identifier for this element</entry></row>
2944<row><entry>xml:base</entry><entry>#IMPLIED</entry><entry>CDATA</entry><entry>Implementation detail used by XIncludes</entry></row>
2945</tbody>
2946        </tgroup>
2947      </informaltable>
2948    </refsection>
2949  </refentry>
2950</chapter>
2951
2952