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