]> granicus.if.org Git - docbook-dsssl/commitdiff
test documents and their output (docbook/html) through DocBook API Extension
authorrankoo <rankoo>
Mon, 16 Aug 2010 18:03:06 +0000 (18:03 +0000)
committerrankoo <rankoo>
Mon, 16 Aug 2010 18:03:06 +0000 (18:03 +0000)
docbook/relaxng/api/tests/any.xml
docbook/relaxng/api/tests/api.docbook [new file with mode: 0644]
docbook/relaxng/api/tests/boost.xml [new file with mode: 0644]
docbook/relaxng/api/tests/html/any/acknowledgments.html [new file with mode: 0644]
docbook/relaxng/api/tests/html/any/examples.html [new file with mode: 0644]
docbook/relaxng/api/tests/html/any/reference.html [new file with mode: 0644]
docbook/relaxng/api/tests/html/boost/any.html [new file with mode: 0644]
docbook/relaxng/api/tests/html/boost/any_cast.html [new file with mode: 0644]
docbook/relaxng/api/tests/html/boost/bad_any_cast.html [new file with mode: 0644]

index ffa13c1c5da8a7e714b8f2c33af9748d296081f3..ee4b453bd558ac778f0962e0c6d2d5bf770f6e33 100644 (file)
@@ -87,7 +87,7 @@
     parameter conformance.</para>
   </section>
 
-  <section>
+  <section  xml:id="any.examples">
     <title>Examples</title>
 
     <using-namespace name="boost"/>
@@ -209,8 +209,8 @@ public:
   </section>
 
   <library-reference>
-    <section id="any.ValueType">
-      <title><emphasis>ValueType</emphasis> requirements</title>
+    <section xml:id="any.ValueType">
+      <title><bold>ValueType</bold> requirements</title>
 
       <para>Values are strongly informational objects for which
       identity is not significant, i.e. the focus is principally on
@@ -473,7 +473,7 @@ public:
     </header>
   </library-reference>
 
-  <section>
+  <section xml:id="any.acknowledgments">
     <title>Acknowledgements</title>
 
     <para>Doug Gregor ported the documentation to the BoostBook format.</para>
diff --git a/docbook/relaxng/api/tests/api.docbook b/docbook/relaxng/api/tests/api.docbook
new file mode 100644 (file)
index 0000000..7ec98c3
--- /dev/null
@@ -0,0 +1,424 @@
+<?xml version="1.0"?>
+<book xmlns:xi="http://www.w3.org/2001/XInclude">
+  
+
+  <preface xml:id="about"><info><title>What's Included in This Document</title></info>
+    
+
+    <para>This document represents only a subset of the full Boost
+    documentation: that part which is generated from BoostBook or
+    QuickBook sources.  Eventually all Boost libraries may use these
+    formats, but in the meantime, much of Boost's documentation is not
+    available here.  Please
+    see <link xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.boost.org/libs" href="">http://www.boost.org/libs</link>
+    for complete documentation.
+    </para>
+
+    <para>
+      Documentation for some of the libraries described in this document is
+      available in alternative formats:
+       <itemizedlist>
+         <listitem>
+           <simpara><link xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.boost.org/doc/boost-doc-html.tar.gz" href="">HTML (tarred, gzipped)</link></simpara>
+         </listitem>
+         <listitem>
+           <simpara><link xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.boost.org/doc/boost.pdf" href="">PDF</link></simpara>
+         </listitem>
+         <listitem>
+           <simpara>
+             <link xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.boost.org/doc/boost-doc-man.tar.gz" href="">Unix man pages</link>
+           </simpara>
+         </listitem>
+         <listitem>
+           <simpara><link xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xlink:href="../boost.docbook" href="">DocBook</link></simpara>
+         </listitem>
+         <listitem>
+           <simpara>
+             <link xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xlink:href="../boost.fo" href="">XSL Formatting Objects</link>
+           </simpara>
+         </listitem>
+       </itemizedlist>
+    </para>
+
+  </preface>
+
+  <part xml:id="libraries"><info><title>The Boost C++ Libraries (BoostBook Subset)</title></info>
+    
+
+    <chapter xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="id18968-bb" rev:last-revision="$Date: 2009-07-22 23:35:08 +0100 (Wed, 22 Jul 2009) $">
+  <chapterinfo><author>
+      <personname>Kevlin Henney</personname>
+    </author><copyright>
+      <year>2001</year>
+      <holder>Kevlin Henney</holder>
+    </copyright><legalnotice>
+      <para>Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file <filename>LICENSE_1_0.txt</filename> or copy at 
+      <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/LICENSE_1_0.txt" href="">http://www.boost.org/LICENSE_1_0.txt</link>)
+      </para>
+    </legalnotice></chapterinfo>
+
+  <title>Boost.Any</title>
+
+  <section xml:id="any.introduction">
+    <title>Introduction</title>
+
+    <para>There are times when a generic (in the sense of
+    <emphasis>general</emphasis> as opposed to
+    <emphasis>template-based programming</emphasis>) type is needed:
+    variables that are truly variable, accommodating values of many
+    other more specific types rather than C++'s normal strict and
+    static types. We can distinguish three basic kinds of generic
+    type:</para>
+
+    <itemizedlist>
+      <listitem>
+        <para>Converting types that can hold one of a number of
+        possible value types, e.g. <computeroutput>int</computeroutput> and
+        <computeroutput>string</computeroutput>, and freely convert between them, for
+        instance interpreting <computeroutput>5</computeroutput> as <computeroutput>"5"</computeroutput> or
+        vice-versa.  Such types are common in scripting and other
+        interpreted
+        languages. 
+        <computeroutput>boost::lexical_cast</computeroutput>
+        supports such conversion functionality.</para>
+      </listitem>
+      <listitem>
+        <para>
+        Discriminated types that contain values of different types but
+        do not attempt conversion between them, i.e. <computeroutput>5</computeroutput> is
+        held strictly as an <computeroutput>int</computeroutput> and is not implicitly
+        convertible either to <computeroutput>"5"</computeroutput> or to
+        <computeroutput>5.0</computeroutput>. Their indifference to interpretation but
+        awareness of type effectively makes them safe, generic
+        containers of single values, with no scope for surprises from
+        ambiguous conversions.</para>
+      </listitem>
+      <listitem>
+        <para>
+        Indiscriminate types that can refer to anything but are
+        oblivious to the actual underlying type, entrusting all forms
+        of access and interpretation to the programmer. This niche is
+        dominated by <computeroutput>void *</computeroutput>, which offers plenty of scope
+        for surprising, undefined behavior.</para>
+      </listitem>
+    </itemizedlist>
+
+    <para>The <computeroutput><link linkend="boost.any">boost::any</link></computeroutput> class
+    (based on the class of the same name described in <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.two-sdg.demon.co.uk/curbralan/papers/ValuedConversions.pdf" href="">"Valued
+    Conversions"</link> by Kevlin Henney, <emphasis>C++
+    Report</emphasis> 12(7), July/August 2000) is a variant value type
+    based on the second category. It supports copying of any value
+    type and safe checked extraction of that value strictly against
+    its type. A similar design, offering more appropriate operators,
+    can be used for a generalized function adaptor,
+    <computeroutput>any_function</computeroutput>, a generalized iterator adaptor,
+    <computeroutput>any_iterator</computeroutput>, and other object types that need
+    uniform runtime treatment but support only compile-time template
+    parameter conformance.</para>
+  </section>
+
+  <section xml:id="any.examples">
+    <title>Examples</title>
+
+    
+    
+
+    <para>The following code demonstrates the syntax for using
+    implicit conversions to and copying of any objects:</para>
+
+<programlisting>
+#include &lt;list&gt;
+#include &lt;boost/any.hpp&gt;
+
+using <computeroutput><link linkend="boost.any_cast">boost::any_cast</link></computeroutput>;
+typedef std::list&lt;<computeroutput><link linkend="boost.any">boost::any</link></computeroutput>&gt; many;
+
+void append_int(many &amp; values, int value)
+{
+    <computeroutput><link linkend="boost.any">boost::any</link></computeroutput> to_append = value;
+    values.push_back(to_append);
+}
+
+void append_string(many &amp; values, const std::string &amp; value)
+{
+    values.push_back(value);
+}
+
+void append_char_ptr(many &amp; values, const char * value)
+{
+    values.push_back(value);
+}
+
+void append_any(many &amp; values, const <computeroutput><link linkend="boost.any">boost::any</link></computeroutput> &amp; value)
+{
+    values.push_back(value);
+}
+
+void append_nothing(many &amp; values)
+{
+    values.push_back(<computeroutput><link linkend="boost.any">boost::any</link></computeroutput>());
+}
+</programlisting>
+
+    <para>The following predicates follow on from the previous
+    definitions and demonstrate the use of queries on any
+    objects:</para>
+
+<programlisting>
+bool is_empty(const <computeroutput><link linkend="boost.any">boost::any</link></computeroutput> &amp; operand)
+{
+    return operand.<computeroutput><link linkend="id61996-bb">empty</link></computeroutput>();
+}
+
+bool is_int(const <computeroutput><link linkend="boost.any">boost::any</link></computeroutput> &amp; operand)
+{
+    return operand.<computeroutput><link linkend="id62025-bb">type</link></computeroutput>() == typeid(int);
+}
+
+bool is_char_ptr(const <computeroutput><link linkend="boost.any">boost::any</link></computeroutput> &amp; operand)
+{
+    try
+    {
+        <computeroutput><link linkend="boost.any_cast">any_cast</link></computeroutput>&lt;const char *&gt;(operand);
+        return true;
+    }
+    catch(const <computeroutput><link linkend="boost.bad_any_cast">boost::bad_any_cast</link></computeroutput> &amp;)
+    {
+        return false;
+    }
+}
+
+bool is_string(const <computeroutput><link linkend="boost.any">boost::any</link></computeroutput> &amp; operand)
+{
+    return <computeroutput><link linkend="boost.any_cast">any_cast</link></computeroutput>&lt;std::string&gt;(&amp;operand);
+}
+
+void count_all(many &amp; values, std::ostream &amp; out)
+{
+    out &lt;&lt; "#empty == "
+        &lt;&lt; std::count_if(values.begin(), values.end(), is_empty) &lt;&lt; std::endl;
+    out &lt;&lt; "#int == "
+        &lt;&lt; std::count_if(values.begin(), values.end(), is_int) &lt;&lt; std::endl;
+    out &lt;&lt; "#const char * == "
+        &lt;&lt; std::count_if(values.begin(), values.end(), is_char_ptr) &lt;&lt; std::endl;
+    out &lt;&lt; "#string == "
+        &lt;&lt; std::count_if(values.begin(), values.end(), is_string) &lt;&lt; std::endl;
+}
+</programlisting>
+
+    <para>The following type, patterned after the OMG's Property Service, defines name-value pairs for arbitrary value types:</para>
+
+<programlisting>
+struct property
+{
+    property();
+    property(const std::string &amp;, const <computeroutput><link linkend="boost.any">boost::any</link></computeroutput> &amp;);
+
+    std::string name;
+    <computeroutput><link linkend="boost.any">boost::any</link></computeroutput> value;
+};
+
+typedef std::list&lt;property&gt; properties;
+</programlisting>
+
+    <para>The following base class demonstrates one approach to
+    runtime polymorphism based callbacks that also require arbitrary
+    argument types. The absence of virtual member templates requires
+    that different solutions have different trade-offs in terms of
+    efficiency, safety, and generality. Using a checked variant type
+    offers one approach:</para>
+
+<programlisting>
+class consumer
+{
+public:
+    virtual void notify(const <computeroutput><link linkend="boost.any">any</link></computeroutput> &amp;) = 0;
+    ...
+};
+</programlisting>
+  </section>
+
+  <section id="any.reference"><title>Reference</title>
+    <section xml:id="any.ValueType">
+      <title><emphasis role="bold">ValueType</emphasis> requirements</title>
+
+      <para>Values are strongly informational objects for which
+      identity is not significant, i.e. the focus is principally on
+      their state content and any behavior organized around
+      that. Another distinguishing feature of values is their
+      granularity: normally fine-grained objects representing simple
+      concepts in the system such as quantities.</para>
+
+      <para>As the emphasis of a value lies in its state not its
+      identity, values can be copied and typically assigned one to
+      another, requiring the explicit or implicit definition of a
+      public copy constructor and public assignment operator. Values
+      typically live within other scopes, i.e. within objects or
+      blocks, rather than on the heap. Values are therefore normally
+      passed around and manipulated directly as variables or through
+      references, but not as pointers that emphasize identity and
+      indirection.</para>
+
+      <para>The specific requirements on value types to be used in an
+      <computeroutput><link linkend="boost.any">any</link></computeroutput>
+      are:</para>
+
+      <itemizedlist spacing="compact">
+        <listitem><simpara>A <emphasis>ValueType</emphasis> is
+          <emphasis>CopyConstructible</emphasis> [20.1.3].</simpara>
+        </listitem>
+        
+        <listitem><simpara>A <emphasis>ValueType</emphasis> is
+        optionally <emphasis>Assignable</emphasis> [23.1]. The strong
+        exception-safety guarantee is required for all forms of
+        assignment.</simpara>
+        </listitem>
+        
+        <listitem><simpara>The destructor for a
+        <emphasis>ValueType</emphasis> upholds the no-throw
+        exception-safety guarantee.</simpara>
+        </listitem>
+      </itemizedlist>
+    </section>
+
+    <section id="header.boost.any_hpp"><title>Header &lt;<ulink url="../../boost/any.hpp">boost/any.hpp</ulink>&gt;</title><synopsis><phrase role="keyword">namespace</phrase> <phrase role="identifier">boost</phrase> <phrase role="special">{</phrase>
+  <phrase role="keyword">class</phrase> <link linkend="boost.bad_any_cast">bad_any_cast</link><phrase role="special">;</phrase>
+  <phrase role="keyword">class</phrase> <link linkend="boost.any">any</link><phrase role="special">;</phrase>
+  <phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <phrase role="identifier">T</phrase> <link linkend="boost.any_cast"><phrase role="identifier">any_cast</phrase></link><phrase role="special">(</phrase><link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+  <phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <phrase role="identifier">T</phrase> <link linkend="boost.any_cast"><phrase role="identifier">any_cast</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+  <phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <phrase role="keyword">const</phrase> <phrase role="identifier">ValueType</phrase> <phrase role="special">*</phrase> <link linkend="boost.any_cast"><phrase role="identifier">any_cast</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.any">any</link> <phrase role="special">*</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+  <phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <phrase role="identifier">ValueType</phrase> <phrase role="special">*</phrase> <link linkend="boost.any_cast"><phrase role="identifier">any_cast</phrase></link><phrase role="special">(</phrase><link linkend="boost.any">any</link> <phrase role="special">*</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+<phrase role="special">}</phrase></synopsis>
+      <refentry id="boost.bad_any_cast"><refmeta><refentrytitle>Class bad_any_cast</refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::bad_any_cast</refname><refpurpose>The exception thrown in the event of a failed
+          <computeroutput><link linkend="boost.any_cast">any_cast</link></computeroutput> of an
+          <computeroutput><link linkend="boost.any">any</link></computeroutput> value.</refpurpose></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: &lt;<link linkend="header.boost.any_hpp">boost/any.hpp</link>&gt;
+
+</phrase>
+<phrase role="keyword">class</phrase> <link linkend="boost.bad_any_cast">bad_any_cast</link> <phrase role="special">:</phrase> <phrase role="keyword">public</phrase> std::bad_cast <phrase role="special">{</phrase>
+<phrase role="keyword">public</phrase><phrase role="special">:</phrase>
+  <phrase role="keyword">virtual</phrase> <phrase role="keyword">const</phrase> <phrase role="keyword">char</phrase> <phrase role="special">*</phrase> <link linkend="id61674-bb"><phrase role="identifier">what</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
+<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="keyword">virtual</phrase> <phrase role="keyword">const</phrase> <phrase role="keyword">char</phrase> <phrase role="special">*</phrase> <anchor id="id61674-bb"/><phrase role="identifier">what</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para></refsect1></refentry><refentry id="boost.any"><refmeta><refentrytitle>Class any</refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::any</refname><refpurpose>A class whose instances can hold instances of any
+          type that satisfies <link linkend="any.ValueType">ValueType</link>
+          requirements.</refpurpose></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: &lt;<link linkend="header.boost.any_hpp">boost/any.hpp</link>&gt;
+
+</phrase>
+<phrase role="keyword">class</phrase> <link linkend="boost.any">any</link> <phrase role="special">{</phrase>
+<phrase role="keyword">public</phrase><phrase role="special">:</phrase>
+  <phrase role="comment">// <link linkend="boost.anyconstruct-copy-destruct">construct/copy/destruct</link></phrase>
+  <link linkend="id61705-bb"><phrase role="identifier">any</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+  <link linkend="id61718-bb"><phrase role="identifier">any</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+  <phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <link linkend="id61766-bb"><phrase role="identifier">any</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">ValueType</phrase> <phrase role="special">&amp;</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+  <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> <link linkend="id61826-bb"><phrase role="keyword">operator</phrase><phrase role="special">=</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+  <phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> <link linkend="id61883-bb"><phrase role="keyword">operator</phrase><phrase role="special">=</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">ValueType</phrase> <phrase role="special">&amp;</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+  <link linkend="id61812-bb"><phrase role="special">~</phrase><phrase role="identifier">any</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+
+  <phrase role="comment">// <link linkend="id61937-bb">modifiers</link></phrase>
+  <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> <link linkend="id61941-bb"><phrase role="identifier">swap</phrase></link><phrase role="special">(</phrase><link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
+
+  <phrase role="comment">// <link linkend="id61992-bb">queries</link></phrase>
+  <phrase role="keyword">bool</phrase> <link linkend="id61996-bb"><phrase role="identifier">empty</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
+  <phrase role="keyword">const</phrase> std::type_info <phrase role="special">&amp;</phrase> <link linkend="id62025-bb"><phrase role="identifier">type</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
+<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><refsect2><title><anchor id="boost.anyconstruct-copy-destruct"/><computeroutput>any</computeroutput> 
+        public
+       construct/copy/destruct</title><orderedlist><listitem><para><literallayout class="monospaced"><anchor id="id61705-bb"/><phrase role="identifier">any</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Postconditions:</term><listitem><simpara><computeroutput>this-&gt;<link linkend="id61996-bb">empty</link>()</computeroutput></simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><anchor id="id61718-bb"/><phrase role="identifier">any</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> other<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Effects:</term><listitem><simpara> Copy constructor that copies content of
+            <computeroutput>other</computeroutput> into new instance, so that any content
+            is equivalent in both type and value to the content of
+            <computeroutput>other</computeroutput>, or empty if <computeroutput>other</computeroutput> is
+            empty. </simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>May fail with a
+            <computeroutput>std::bad_alloc</computeroutput>
+            exception or any exceptions arising from the copy
+            constructor of the contained type.</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <anchor id="id61766-bb"/><phrase role="identifier">any</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">ValueType</phrase> <phrase role="special">&amp;</phrase> value<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Effects:</term><listitem><simpara>Makes a copy of <computeroutput>value</computeroutput>, so
+            that the initial content of the new instance is equivalent
+            in both type and value to
+            <computeroutput>value</computeroutput>.</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara><computeroutput>std::bad_alloc</computeroutput>
+            or any exceptions arising from the copy constructor of the
+            contained type.</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> <anchor id="id61826-bb"/><phrase role="keyword">operator</phrase><phrase role="special">=</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> rhs<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Effects:</term><listitem><simpara>Copies content of <computeroutput>rhs</computeroutput> into
+            current instance, discarding previous content, so that the
+            new content is equivalent in both type and value to the
+            content of <computeroutput>rhs</computeroutput>, or empty if
+            <computeroutput>rhs.<link linkend="id61996-bb">empty</link>()</computeroutput>.</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara><computeroutput>std::bad_alloc</computeroutput>
+            or any exceptions arising from the copy constructor of the
+            contained type. Assignment satisfies the strong guarantee
+            of exception safety.</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> <anchor id="id61883-bb"/><phrase role="keyword">operator</phrase><phrase role="special">=</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">ValueType</phrase> <phrase role="special">&amp;</phrase> rhs<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Effects:</term><listitem><simpara>Makes a copy of <computeroutput>rhs</computeroutput>,
+            discarding previous content, so that the new content of is
+            equivalent in both type and value to
+            <computeroutput>rhs</computeroutput>.</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara><computeroutput>std::bad_alloc</computeroutput>
+            or any exceptions arising from the copy constructor of the
+            contained type. Assignment satisfies the strong guarantee
+            of exception safety.</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><anchor id="id61812-bb"/><phrase role="special">~</phrase><phrase role="identifier">any</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Effects:</term><listitem><simpara>Releases any and all resources used in
+            management of instance.</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>Nothing.</simpara></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refsect2><title><anchor id="id61937-bb"/><computeroutput>any</computeroutput> modifiers</title><orderedlist><para><literallayout class="monospaced"><link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> <anchor id="id61941-bb"/><phrase role="identifier">swap</phrase><phrase role="special">(</phrase><link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> rhs<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Effects:</term><listitem><simpara>Exchange of the contents of
+              <computeroutput>*this</computeroutput> and
+              <computeroutput>rhs</computeroutput>.</simpara></listitem></varlistentry><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>*this</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>Nothing.</simpara></listitem></varlistentry></variablelist></orderedlist></refsect2><refsect2><title><anchor id="id61992-bb"/><computeroutput>any</computeroutput> queries</title><orderedlist><para><literallayout class="monospaced"><phrase role="keyword">bool</phrase> <anchor id="id61996-bb"/><phrase role="identifier">empty</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>true</computeroutput> if instance is
+              empty, otherwise <computeroutput>false</computeroutput>.</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>Will not throw.</simpara></listitem></varlistentry></variablelist><para><literallayout class="monospaced"><phrase role="keyword">const</phrase> std::type_info <phrase role="special">&amp;</phrase> <anchor id="id62025-bb"/><phrase role="identifier">type</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Returns:</term><listitem><simpara>the <computeroutput>typeid</computeroutput> of the
+              contained value if instance is non-empty, otherwise
+              <computeroutput>typeid(void)</computeroutput>.</simpara></listitem></varlistentry><varlistentry><term>Notes:</term><listitem><simpara>Useful for querying against types known
+              either at compile time or only at
+              runtime.</simpara></listitem></varlistentry></variablelist></orderedlist></refsect2></refsect1></refentry><refentry id="boost.any_cast"><refmeta><refentrytitle>Function any_cast</refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::any_cast</refname><refpurpose>Custom keyword cast for extracting a value
+          of a given type from an
+          <computeroutput><link linkend="boost.any">any</link></computeroutput>.</refpurpose></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: &lt;<link linkend="header.boost.any_hpp">boost/any.hpp</link>&gt;
+
+</phrase>
+<phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <phrase role="identifier">T</phrase> <phrase role="identifier">any_cast</phrase><phrase role="special">(</phrase><link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> operand<phrase role="special">)</phrase><phrase role="special">;</phrase>
+<phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <phrase role="identifier">T</phrase> <phrase role="identifier">any_cast</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.any">any</link> <phrase role="special">&amp;</phrase> operand<phrase role="special">)</phrase><phrase role="special">;</phrase>
+<phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <phrase role="keyword">const</phrase> <phrase role="identifier">ValueType</phrase> <phrase role="special">*</phrase> <phrase role="identifier">any_cast</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.any">any</link> <phrase role="special">*</phrase> operand<phrase role="special">)</phrase><phrase role="special">;</phrase>
+<phrase role="keyword">template</phrase><phrase role="special">&lt;</phrase><phrase role="special">&gt;</phrase> <phrase role="identifier">ValueType</phrase> <phrase role="special">*</phrase> <phrase role="identifier">any_cast</phrase><phrase role="special">(</phrase><link linkend="boost.any">any</link> <phrase role="special">*</phrase> operand<phrase role="special">)</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><variablelist spacing="compact"><?dbhtml 
+          list-presentation="table"
+        ?><varlistentry><term>Returns:</term><listitem><simpara> If passed a pointer, it returns a
+          similarly qualified pointer to the value content if
+         successful, otherwise null is returned.
+         If T is ValueType, it returns a copy of the held value, otherwise, if T is a reference 
+         to (possibly const qualified) ValueType, it returns a reference to the held 
+         value.</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>Overloads taking an
+          <computeroutput><link linkend="boost.any">any</link></computeroutput> pointer do not
+          throw; overloads taking an
+          <computeroutput><link linkend="boost.any">any</link></computeroutput> value or reference
+          throws <computeroutput><link linkend="boost.bad_any_cast">bad_any_cast</link></computeroutput> if
+          unsuccessful.</simpara></listitem></varlistentry></variablelist></refsect1></refentry>
+    </section>
+  </section>
+
+  <section xml:id="any.acknowledgments">
+    <title>Acknowledgements</title>
+
+    <para>Doug Gregor ported the documentation to the BoostBook format.</para>
+  </section>
+</chapter>
+
+  </part>
+
+  <part xml:id="tools"><info><title>Boost Tools</title></info>
+    
+    <partintro>
+      <para>
+        Boost developers, testers, and maintainers have developed various programs to 
+        help with the administration of the Boost Libraries. Like everything else about 
+        Boost, these tools are available in source form, and are part of the regular 
+        Boost distribution.
+      </para>
+      <para>
+        Users may find these tools useful when porting Boost libraries to a new platform, 
+        or for use with their own applications.
+      </para>
+    </partintro>
+
+  </part>
+</book>
diff --git a/docbook/relaxng/api/tests/boost.xml b/docbook/relaxng/api/tests/boost.xml
new file mode 100644 (file)
index 0000000..d4a87c7
--- /dev/null
@@ -0,0 +1,550 @@
+<!-- Converted by db4-upgrade version 1.0 -->
+
+<api xmlns="http://docbook.org/ns/docbook" 
+xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" last-revision="$Date: 2010-03-05 04:59:16 +0000 (Fri, 05 Mar 2010) $">
+  
+
+  <preface xml:id="about"><info><title>What's Included in This Document</title></info>
+    
+
+    <para>This document represents only a subset of the full Boost
+    documentation: that part which is generated from BoostBook or
+    QuickBook sources.  Eventually all Boost libraries may use these
+    formats, but in the meantime, much of Boost's documentation is not
+    available here.  Please
+    see <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs">http://www.boost.org/libs</link>
+    for complete documentation.
+    </para>
+
+    <para>
+      Documentation for some of the libraries described in this document is
+      available in alternative formats:
+       <itemizedlist>
+         <listitem>
+           <simpara><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/doc/boost-doc-html.tar.gz">HTML (tarred, gzipped)</link></simpara>
+         </listitem>
+         <listitem>
+           <simpara><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/doc/boost.pdf">PDF</link></simpara>
+         </listitem>
+         <listitem>
+           <simpara>
+             <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/doc/boost-doc-man.tar.gz">Unix man pages</link>
+           </simpara>
+         </listitem>
+         <listitem>
+           <simpara><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../boost.docbook">DocBook</link></simpara>
+         </listitem>
+         <listitem>
+           <simpara>
+             <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../boost.fo">XSL Formatting Objects</link>
+           </simpara>
+         </listitem>
+       </itemizedlist>
+    </para>
+
+  </preface>
+
+  <part xml:id="libraries"><info><title>The Boost C++ Libraries (BoostBook Subset)</title></info>
+    
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="any.xml"/>
+<!--     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="array.xml"/>
+   <library name="Asio" dirname="asio" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Christopher</firstname><surname>Kohlhoff</surname></personname></author>
+
+       <librarypurpose>Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs</librarypurpose>
+       <librarycategory name="category:io"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Bind" dirname="bind" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Peter</firstname><surname>Dimov</surname></personname></author>
+       <librarypurpose>Generalized binders for function/object/pointers and member functions</librarypurpose>
+       <librarycategory name="category:higher-order"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Mem_fn" dirname="bind" html-only="1" url="../../libs/bind/mem_fn.html">
+     <libraryinfo>
+       <author><personname><firstname>Peter</firstname><surname>Dimov</surname></personname></author>
+       <librarypurpose>Generalized binders for member functions</librarypurpose>
+       <librarycategory name="category:higher-order"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Call Traits" dirname="call_traits" html-only="1" url="../../libs/utility/call_traits.htm">
+     <libraryinfo>
+       <author><personname><firstname>John</firstname><surname>Maddock</surname></personname></author>
+       <author><personname><firstname>Howard</firstname><surname>Hinnant</surname></personname></author>
+       <librarypurpose>Defines types for passing parameters</librarypurpose>
+       <librarycategory name="category:generic"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Circular Buffer" dirname="circular_buffer" html-only="1" url="../../libs/circular_buffer/index.html">
+     <libraryinfo>
+       <author><personname><firstname>Jan</firstname><surname>Gaspar</surname></personname></author>
+       <librarypurpose>A STL compliant container also known as ring or cyclic buffer</librarypurpose>
+       <librarycategory name="category:containers"/> 
+     </libraryinfo>
+   </library>
+   <library name="Compatibility" dirname="compatibility" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Ralf</firstname><surname>Grosse-Kunstleve</surname></personname></author>
+       <author><personname><firstname>Jens</firstname><surname>Maurer</surname></personname></author>
+       <librarypurpose>Help for non-conforming standard libraries</librarypurpose>
+       <librarycategory name="category:broken"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Compose" dirname="compose" html-only="1" url="../../libs/compose/index.htm">
+     <libraryinfo>
+       <author><personname><firstname>Nicolai</firstname><surname>Josuttis</surname></personname></author>
+    
+       <librarypurpose>Functional composition adapters for the STL</librarypurpose>
+       <librarycategory name="category:higher-order"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Compressed Pair" dirname="compressed_pair" html-only="1" url="../../libs/utility/compressed_pair.htm">
+     <libraryinfo>
+       <author><personname><firstname>John</firstname><surname>Maddock</surname></personname></author>
+       <author><personname><firstname>Howard</firstname><surname>Hinnant</surname></personname></author>
+       <librarypurpose>Empty member optimization</librarypurpose>
+       <librarycategory name="category:data-structures"/>
+       <librarycategory name="category:misc"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Concept Check" dirname="concept_check">
+     <libraryinfo>
+       <author><personname><firstname>Jeremy</firstname><surname>Siek</surname></personname></author>
+       <librarypurpose>Tools for generic programming</librarypurpose>
+       <librarycategory name="category:generic"/>
+       <librarycategory name="category:testing"/>
+     </libraryinfo>
+     <title>Boost.Concept_Check</title>
+     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="concepts.xml"/>
+   </library>
+
+   <library name="Config" dirname="config" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>John</firstname><surname>Maddock</surname></personname></author>
+       <author><personname><firstname>Beman</firstname><surname>Dawes</surname></personname></author>
+       <author><personname><firstname>Vesa</firstname><surname>Karvonen</surname></personname></author>
+
+       <librarypurpose>Helps boost library developers adapt to compiler idiosyncrasies; not intended for library users</librarypurpose>
+       <librarycategory name="category:broken"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Conversion" dirname="conversion" html-only="1" url="../../libs/conversion/index.html">
+     <libraryinfo>
+       <author><personname><firstname>Dave</firstname><surname>Abrahams</surname></personname></author>
+       <author><personname><firstname>Kevlin</firstname><surname>Henney</surname></personname></author>
+
+       <librarypurpose>Numeric, polymorphic, and lexical casts</librarypurpose>
+       <librarycategory name="category:misc"/>
+     </libraryinfo>
+   </library>
+
+   <library name="CRC" dirname="crc" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Daryle</firstname><surname>Walker</surname></personname></author>
+
+       <librarypurpose>Cyclic Redundancy Code</librarypurpose>
+       <librarycategory name="category:misc"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/date_time/xmldoc/date_time.xml"/>
+
+   <library name="Dynamic Bitset" dirname="dynamic_bitset" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Jeremy</firstname><surname>Siek</surname></personname></author>
+       <author><personname><firstname>Chuck</firstname><surname>Allison</surname></personname></author>
+       <librarypurpose>A runtime sized version of <code>std::bitset</code></librarypurpose>
+       <librarycategory name="category:containers"/> 
+     </libraryinfo>
+   </library>
+   
+   <library name="Format" dirname="format" html-only="1" url="../../libs/format/index.html">
+     <libraryinfo>
+       <author><personname><firstname>Samuel</firstname><surname>Krempp</surname></personname></author>
+
+       <librarypurpose>Type-safe 'printf-like' format operations</librarypurpose>
+       <librarycategory name="category:string-text"/>
+       <librarycategory name="category:io"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Filesystem" dirname="filesystem" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Beman</firstname><surname>Dawes</surname></personname></author>
+
+       <librarypurpose>Portable paths, iteration over directories, and other useful filesystem operations</librarypurpose>
+       <librarycategory name="category:misc"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="foreach.xml"/>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/function/doc/function.xml"/>
+
+   <library name="Functional" dirname="functional" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Mark</firstname><surname>Rodgers</surname></personname></author>
+       <librarypurpose>Enhanced function object adaptors</librarypurpose>
+       <librarycategory name="category:higher-order"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hash.xml"/>
+
+   <library name="Graph" dirname="graph" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Jeremy</firstname><surname>Siek</surname></personname></author>
+       <author><personname><firstname>University of Notre Dame</firstname><surname>Team</surname></personname></author>
+       <librarypurpose>Generic graph components and algorithms</librarypurpose>
+       <librarycategory name="category:containers"/>
+       <librarycategory name="category:iterators"/>
+       <librarycategory name="category:algorithms"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Integer" dirname="integer" html-only="1" url="../../libs/integer/index.html">
+     <libraryinfo>
+       <author><personname><firstname>various</firstname><surname>authors</surname></personname></author>
+
+       <librarypurpose>Headers to ease dealing with integral types</librarypurpose>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="interprocess.xml"/>
+
+   <library name="Interval" dirname="numeric/interval" html-only="1" url="../../libs/numeric/interval/doc/index.html">
+     <libraryinfo>
+       <author><personname><firstname>Guillaume</firstname><surname>Melquiond</surname></personname></author>
+       <author><personname><firstname>Hervé</firstname><surname>Brönnimann</surname></personname></author>
+       <author><personname><firstname>Sylvain</firstname><surname>Pion</surname></personname></author>
+
+       <librarypurpose>Extends the usual arithmetic functions to mathematical intervals</librarypurpose>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="intrusive.xml"/>
+
+   <library name="I/O State Savers" dirname="io" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Daryle</firstname><surname>Walker</surname></personname></author>
+
+       <librarypurpose>Save I/O state to prevent jumbled data</librarypurpose>
+       <librarycategory name="category:io"/>
+     </libraryinfo>
+   </library>
+   <library name="Iterator Adaptors" dirname="utility" html-only="1" url="../../libs/utility/iterator_adaptors.htm">
+     <libraryinfo>
+       <author><personname><firstname>Dave</firstname><surname>Abrahams</surname></personname></author>
+       <author><personname><firstname>Jeremy</firstname><surname>Siek</surname></personname></author>
+       <author><personname><firstname>John</firstname><surname>Potter</surname></personname></author>
+
+       <librarypurpose>Adapt a base type into a standard conforming iterator</librarypurpose>
+       <librarycategory name="category:iterators"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/lambda/doc/lambda.xml"/>
+
+   <library name="Math" dirname="math" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>various</firstname><surname>authors</surname></personname></author>
+
+       <librarypurpose>Several contributions in the domain of mathematics</librarypurpose>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Math/Common Factor" dirname="math/common_factor" html-only="1" url="../../libs/math/doc/common_factor.html">
+     <libraryinfo>
+       <author><personname><firstname>Daryle</firstname><surname>Walker</surname></personname></author>
+
+       <librarypurpose>Greatest common divisor and least common multiple</librarypurpose>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Math/Octonion" dirname="math/octonion" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Hubert</firstname><surname>Holin</surname></personname></author>
+
+       <librarypurpose>Octonions</librarypurpose>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Math/Quaternion" dirname="math/quaternion" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Hubert</firstname><surname>Holin</surname></personname></author>
+
+       <librarypurpose>Quaternions</librarypurpose>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Math/Special Functions" dirname="math/special_functions" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Hubert</firstname><surname>Holin</surname></personname></author>
+
+       <librarypurpose>Mathematical special functions such as atanh, sinc, and sinhc</librarypurpose>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <library name="MPL" dirname="mpl" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Aleksey</firstname><surname>Gurtovoy</surname></personname></author>
+
+       <librarypurpose>Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes</librarypurpose>
+       <librarycategory name="category:template"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Multi Array" dirname="multi_array" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Ron</firstname><surname>Garcia</surname></personname></author>
+
+       <librarypurpose>Multidimensional containers and adaptors for arrays of contiguous data</librarypurpose>
+       <librarycategory name="category:math"/>
+       <librarycategory name="category:containers"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Operators" dirname="utility" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Dave</firstname><surname>Abrahams</surname></personname></author>
+       <author><personname><firstname>Jeremy</firstname><surname>Siek</surname></personname></author>
+
+       <librarypurpose>Templates ease arithmetic classes and iterators</librarypurpose>
+       <librarycategory name="category:generic"/>
+       <librarycategory name="category:iterators"/>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Optional" dirname="optional" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Fernando</firstname><surname>Cacciola</surname></personname></author>
+
+       <librarypurpose>Discriminated-union wrapper for optional values</librarypurpose>
+       <librarycategory name="category:misc"/>
+       <librarycategory name="category:data-structures"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpi.xml"/>
+
+   <library name="Pool" dirname="pool" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Steve</firstname><surname>Cleary</surname></personname></author>
+
+       <librarypurpose>Memory pool management</librarypurpose>
+       <librarycategory name="category:memory"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Preprocessor" dirname="preprocessor" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Vesa</firstname><surname>Karvonen</surname></personname></author>
+       <author><personname><firstname>Paul</firstname><surname>Mensonides</surname></personname></author>
+
+       <librarypurpose>Preprocessor metaprogramming tools including repetition and recursion</librarypurpose>
+       <librarycategory name="category:preprocessor"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/program_options/doc/program_options.xml"/>
+
+   <library name="Property Map" dirname="property_map" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Jeremy</firstname><surname>Siek</surname></personname></author>
+       <librarypurpose>Concepts defining interfaces which map key objects to value objects</librarypurpose>
+       <librarycategory name="category:containers"/>
+       <librarycategory name="category:generic"/>
+     </libraryinfo>
+   </library>
+   
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="property_tree.xml"/>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="proto.xml"/>
+
+   <library name="Python" dirname="python" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Dave</firstname><surname>Abrahams</surname></personname></author>
+       <librarypurpose>Reflects C++ classes and functions into <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.python.org">Python</link></librarypurpose>
+       <librarycategory name="category:lang"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="random.xml"/>
+
+   <library name="Rational" dirname="rational" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Paul</firstname><surname>Moore</surname></personname></author>
+       <librarypurpose>A rational number class</librarypurpose>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/bind/doc/ref.xml"/>
+
+   <library name="Regex" dirname="regex" html-only="1" url="../../libs/regex/index.html">
+     <libraryinfo>
+       <author><personname><firstname>John</firstname><surname>Maddock</surname></personname></author>
+       <librarypurpose>Regular expression library</librarypurpose>
+       <librarycategory name="category:string-text"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Serialization" dirname="serialization" html-only="1" url="../../libs/serialization/index.html">
+     <libraryinfo>
+       <author><personname><firstname>Robert</firstname><surname>Ramey</surname></personname></author>
+       <librarypurpose>Serialization of C++ objects for persistence and marshalling</librarypurpose>
+       <librarycategory name="category:io"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/signals/doc/signals.xml"/>
+   
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/signals2/doc/signals.xml"/>
+
+   <library name="Smart Pointer" dirname="smart_ptr" html-only="1" url="../../libs/smart_ptr/index.html">
+     <libraryinfo>
+       <author><personname><firstname>Greg</firstname><surname>Colvin</surname></personname></author>
+       <author><personname><firstname>Beman</firstname><surname>Dawes</surname></personname></author>
+       <author><personname><firstname>Peter</firstname><surname>Dimov</surname></personname></author>
+       <author><personname><firstname>Darin</firstname><surname>Adler</surname></personname></author>
+       <librarypurpose>Six smart pointer class templates</librarypurpose>
+       <librarycategory name="category:memory"/>
+     </libraryinfo>
+   </library>  
+
+   <library name="Spirit" dirname="spirit" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Joel</firstname><surname>de Guzman</surname></personname></author>
+       <author><personname><firstname>team</firstname></personname></author>
+
+       <librarypurpose>LL parser framework represents parsers directly as EBNF grammars in inlined C++</librarypurpose>
+       <librarycategory name="category:text"/>
+       <librarycategory name="category:parsing"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="static_assert.xml"/>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/algorithm/string/doc/string_algo.xml"/>
+
+   <library name="Test" dirname="test" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Gennadiy</firstname><surname>Rozental</surname></personname></author>
+       <librarypurpose>Support for simple program testing, full unit testing, and for program execution monitoring</librarypurpose>
+       <librarycategory name="category:testing"/>
+     </libraryinfo>
+   </library>
+   
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="thread.xml"/>
+
+   <library name="Timer" dirname="timer" html-only="1" url="../../libs/timer/index.html">
+     <libraryinfo>
+       <author><personname><firstname>Beman</firstname><surname>Dawes</surname></personname></author>
+       <librarypurpose>Event timer, progress timer, and progress display classes</librarypurpose>
+       <librarycategory name="category:misc"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Tokenizer" dirname="tokenizer" html-only="1" url="../../libs/tokenizer/index.html">
+     <libraryinfo>
+       <author><personname><firstname>John</firstname><surname>Bandela</surname></personname></author>
+       <librarypurpose>Break of a string or other character sequence into a series of tokens</librarypurpose>
+       <librarycategory name="category:string-text"/>
+       <librarycategory name="category:iterators"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tr1.xml"/>
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/logic/doc/tribool.boostbook"/>
+
+   <library name="Tuple" dirname="tuple" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Jaakko</firstname><surname>Järvi</surname></personname></author>
+       <librarypurpose>Ease definition of functions returning multiple values, and more</librarypurpose>
+       <librarycategory name="category:data-structures"/>
+     </libraryinfo>
+   </library>
+
+   <library name="Type Traits" dirname="type_traits" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>John</firstname><surname>Maddock</surname></personname></author>
+       <librarypurpose>Meta-programming support library.</librarypurpose>
+       <librarycategory name="category:generic"/>
+     </libraryinfo>
+   </library>
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="typeof.xml"/>
+
+   <library name="uBLAS" dirname="numeric/ublas" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Joerg</firstname><surname>Walter</surname></personname></author>
+       <author><personname><firstname>Mathias</firstname><surname>Koch</surname></personname></author>
+       <librarypurpose>Basic linear algebra for dense, packed and sparse matrices</librarypurpose>
+       <librarycategory name="category:math"/>
+     </libraryinfo>
+   </library>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="units.xml"/>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="unordered.xml"/>
+
+   <library name="Utility" dirname="utility" html-only="1">
+     <libraryinfo>
+       <author><personname><firstname>Dave</firstname><surname>Abrahams</surname></personname></author>
+       <author><personname><firstname>others</firstname></personname></author>
+
+       <librarypurpose>Class noncopyable  plus <functionname>checked_delete</functionname>, <functionname>checked_array_delete</functionname>, <functionname>next</functionname>,  <functionname>prior</functionname>  function templates, plus base-from-member idiom</librarypurpose>
+       <librarycategory name="category:misc"/>
+       <librarycategory name="category:memory"/>
+       <librarycategory name="category:algorithms"/>
+     </libraryinfo>
+   </library>
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../libs/variant/doc/variant.xml"/>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xpressive.xml"/>
+ -->
+  </part>
+
+  <part xml:id="tools"><info><title>Boost Tools</title></info>
+    
+    <partintro>
+      <para>
+        Boost developers, testers, and maintainers have developed various programs to 
+        help with the administration of the Boost Libraries. Like everything else about 
+        Boost, these tools are available in source form, and are part of the regular 
+        Boost distribution.
+      </para>
+      <para>
+        Users may find these tools useful when porting Boost libraries to a new platform, 
+        or for use with their own applications.
+      </para>
+    </partintro>
+<!--
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="any.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="quickbook.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bjam.xml"/>
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../tools/build/v2/doc/src/userman.xml"/>
+     -->
+  </part>
+</api>
diff --git a/docbook/relaxng/api/tests/html/any/acknowledgments.html b/docbook/relaxng/api/tests/html/any/acknowledgments.html
new file mode 100644 (file)
index 0000000..57899e6
--- /dev/null
@@ -0,0 +1,32 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href=".././api.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="">
+<link rel="up" href="../id18968-bb.html" title="Chapter&#160;1.&#160;Boost.Any">
+<link rel="prev" href="../boost/any_cast.html" title="Function any_cast">
+<link rel="next" href="../tools.html" title="Part&#160;II.&#160;Boost Tools">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr class="api-head"><td valign="top" style="background-color: rgb(0,165,165); width: 100%;"><a href="http://wiki.docbook.org/topic/BoostBookIntegration"><img alt="DocBook API Dcoumentation" width="300" height="100" src=".././images/db-api.png"></a></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost/any_cast.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../id18968-bb.html"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="../tools.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="any.acknowledgments"></a>Acknowledgements</h2></div></div></div>
+<p>Doug Gregor ported the documentation to the BoostBook format.</p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost/any_cast.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../id18968-bb.html"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="../tools.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/docbook/relaxng/api/tests/html/any/examples.html b/docbook/relaxng/api/tests/html/any/examples.html
new file mode 100644 (file)
index 0000000..5c00ae5
--- /dev/null
@@ -0,0 +1,137 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Examples</title>
+<link rel="stylesheet" href=".././api.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="">
+<link rel="up" href="../id18968-bb.html" title="Chapter&#160;1.&#160;Boost.Any">
+<link rel="prev" href="../id18968-bb.html" title="Chapter&#160;1.&#160;Boost.Any">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr class="api-head"><td valign="top" style="background-color: rgb(0,165,165); width: 100%;"><a href="http://wiki.docbook.org/topic/BoostBookIntegration"><img alt="DocBook API Dcoumentation" width="300" height="100" src=".././images/db-api.png"></a></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id18968-bb.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../id18968-bb.html"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="any.examples"></a>Examples</h2></div></div></div>
+<p>The following code demonstrates the syntax for using
+    implicit conversions to and copying of any objects:</p>
+<pre class="programlisting">
+#include &lt;list&gt;
+#include &lt;boost/any.hpp&gt;
+
+using <code class="computeroutput"><a class="link" href="../boost/any_cast.html" title="Function any_cast">boost::any_cast</a></code>;
+typedef std::list&lt;<code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code>&gt; many;
+
+void append_int(many &amp; values, int value)
+{
+    <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code> to_append = value;
+    values.push_back(to_append);
+}
+
+void append_string(many &amp; values, const std::string &amp; value)
+{
+    values.push_back(value);
+}
+
+void append_char_ptr(many &amp; values, const char * value)
+{
+    values.push_back(value);
+}
+
+void append_any(many &amp; values, const <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code> &amp; value)
+{
+    values.push_back(value);
+}
+
+void append_nothing(many &amp; values)
+{
+    values.push_back(<code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code>());
+}
+</pre>
+<p>The following predicates follow on from the previous
+    definitions and demonstrate the use of queries on any
+    objects:</p>
+<pre class="programlisting">
+bool is_empty(const <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code> &amp; operand)
+{
+    return operand.<code class="computeroutput"><a class="link" href="../boost/any.html#id61996-bb">empty</a></code>();
+}
+
+bool is_int(const <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code> &amp; operand)
+{
+    return operand.<code class="computeroutput"><a class="link" href="../boost/any.html#id62025-bb">type</a></code>() == typeid(int);
+}
+
+bool is_char_ptr(const <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code> &amp; operand)
+{
+    try
+    {
+        <code class="computeroutput"><a class="link" href="../boost/any_cast.html" title="Function any_cast">any_cast</a></code>&lt;const char *&gt;(operand);
+        return true;
+    }
+    catch(const <code class="computeroutput"><a class="link" href="../boost/bad_any_cast.html" title="Class bad_any_cast">boost::bad_any_cast</a></code> &amp;)
+    {
+        return false;
+    }
+}
+
+bool is_string(const <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code> &amp; operand)
+{
+    return <code class="computeroutput"><a class="link" href="../boost/any_cast.html" title="Function any_cast">any_cast</a></code>&lt;std::string&gt;(&amp;operand);
+}
+
+void count_all(many &amp; values, std::ostream &amp; out)
+{
+    out &lt;&lt; "#empty == "
+        &lt;&lt; std::count_if(values.begin(), values.end(), is_empty) &lt;&lt; std::endl;
+    out &lt;&lt; "#int == "
+        &lt;&lt; std::count_if(values.begin(), values.end(), is_int) &lt;&lt; std::endl;
+    out &lt;&lt; "#const char * == "
+        &lt;&lt; std::count_if(values.begin(), values.end(), is_char_ptr) &lt;&lt; std::endl;
+    out &lt;&lt; "#string == "
+        &lt;&lt; std::count_if(values.begin(), values.end(), is_string) &lt;&lt; std::endl;
+}
+</pre>
+<p>The following type, patterned after the OMG's Property Service, defines name-value pairs for arbitrary value types:</p>
+<pre class="programlisting">
+struct property
+{
+    property();
+    property(const std::string &amp;, const <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code> &amp;);
+
+    std::string name;
+    <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">boost::any</a></code> value;
+};
+
+typedef std::list&lt;property&gt; properties;
+</pre>
+<p>The following base class demonstrates one approach to
+    runtime polymorphism based callbacks that also require arbitrary
+    argument types. The absence of virtual member templates requires
+    that different solutions have different trade-offs in terms of
+    efficiency, safety, and generality. Using a checked variant type
+    offers one approach:</p>
+<pre class="programlisting">
+class consumer
+{
+public:
+    virtual void notify(const <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">any</a></code> &amp;) = 0;
+    ...
+};
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../id18968-bb.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../id18968-bb.html"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/docbook/relaxng/api/tests/html/any/reference.html b/docbook/relaxng/api/tests/html/any/reference.html
new file mode 100644 (file)
index 0000000..051ee93
--- /dev/null
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Reference</title>
+<link rel="stylesheet" href=".././api.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="">
+<link rel="up" href="../id18968-bb.html" title="Chapter&#160;1.&#160;Boost.Any">
+<link rel="prev" href="examples.html" title="Examples">
+<link rel="next" href="../boost/bad_any_cast.html" title="Class bad_any_cast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr class="api-head"><td valign="top" style="background-color: rgb(0,165,165); width: 100%;"><a href="http://wiki.docbook.org/topic/BoostBookIntegration"><img alt="DocBook API Dcoumentation" width="300" height="100" src=".././images/db-api.png"></a></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../id18968-bb.html"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="../boost/bad_any_cast.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="any.reference"></a>Reference</h2></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="any.ValueType"></a><span class="bold"><strong>ValueType</strong></span> requirements</h3></div></div></div>
+<p>Values are strongly informational objects for which
+      identity is not significant, i.e. the focus is principally on
+      their state content and any behavior organized around
+      that. Another distinguishing feature of values is their
+      granularity: normally fine-grained objects representing simple
+      concepts in the system such as quantities.</p>
+<p>As the emphasis of a value lies in its state not its
+      identity, values can be copied and typically assigned one to
+      another, requiring the explicit or implicit definition of a
+      public copy constructor and public assignment operator. Values
+      typically live within other scopes, i.e. within objects or
+      blocks, rather than on the heap. Values are therefore normally
+      passed around and manipulated directly as variables or through
+      references, but not as pointers that emphasize identity and
+      indirection.</p>
+<p>The specific requirements on value types to be used in an
+      <code class="computeroutput"><a class="link" href="../boost/any.html" title="Class any">any</a></code>
+      are:</p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc" compact>
+<li class="listitem">A <span class="emphasis"><em>ValueType</em></span> is
+          <span class="emphasis"><em>CopyConstructible</em></span> [20.1.3].</li>
+<li class="listitem">A <span class="emphasis"><em>ValueType</em></span> is
+        optionally <span class="emphasis"><em>Assignable</em></span> [23.1]. The strong
+        exception-safety guarantee is required for all forms of
+        assignment.</li>
+<li class="listitem">The destructor for a
+        <span class="emphasis"><em>ValueType</em></span> upholds the no-throw
+        exception-safety guarantee.</li>
+</ul></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.any_hpp"></a>Header &lt;<a class="ulink" href="../../boost/any.hpp" target="_top">boost/any.hpp</a>&gt;</h3></div></div></div>
+<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+  <span class="keyword">class</span> <a class="link" href="../boost/bad_any_cast.html" title="Class bad_any_cast">bad_any_cast</a><span class="special">;</span>
+  <span class="keyword">class</span> <a class="link" href="../boost/any.html" title="Class any">any</a><span class="special">;</span>
+  <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="../boost/any_cast.html" title="Function any_cast"><span class="identifier">any_cast</span></a><span class="special">(</span><a class="link" href="../boost/any.html" title="Class any">any</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+  <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="../boost/any_cast.html" title="Function any_cast"><span class="identifier">any_cast</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/any.html" title="Class any">any</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+  <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">ValueType</span> <span class="special">*</span> <a class="link" href="../boost/any_cast.html" title="Function any_cast"><span class="identifier">any_cast</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/any.html" title="Class any">any</a> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
+  <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="identifier">ValueType</span> <span class="special">*</span> <a class="link" href="../boost/any_cast.html" title="Function any_cast"><span class="identifier">any_cast</span></a><span class="special">(</span><a class="link" href="../boost/any.html" title="Class any">any</a> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
+<span class="special">}</span></pre>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../id18968-bb.html"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="../boost/bad_any_cast.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/docbook/relaxng/api/tests/html/boost/any.html b/docbook/relaxng/api/tests/html/boost/any.html
new file mode 100644 (file)
index 0000000..79f8618
--- /dev/null
@@ -0,0 +1,257 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class any</title>
+<link rel="stylesheet" href=".././api.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="">
+<link rel="up" href="../any/reference.html#header.boost.any_hpp" title="Header &lt;boost/any.hpp&gt;">
+<link rel="prev" href="bad_any_cast.html" title="Class bad_any_cast">
+<link rel="next" href="any_cast.html" title="Function any_cast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr class="api-head"><td valign="top" style="background-color: rgb(0,165,165); width: 100%;"><a href="http://wiki.docbook.org/topic/BoostBookIntegration"><img alt="DocBook API Dcoumentation" width="300" height="100" src=".././images/db-api.png"></a></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_any_cast.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../any/reference.html#header.boost.any_hpp"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="any_cast.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.any"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class any</span></h2>
+<p>boost::any &#8212; A class whose instances can hold instances of any
+          type that satisfies <a class="link" href="../any/reference.html#any.ValueType" title="ValueType requirements">ValueType</a>
+          requirements.</p>
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../any/reference.html#header.boost.any_hpp" title="Header &lt;boost/any.hpp&gt;">boost/any.hpp</a>&gt;
+
+</span>
+<span class="keyword">class</span> <a class="link" href="any.html" title="Class any">any</a> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+  <span class="comment">// <a class="link" href="any.html#boost.anyconstruct-copy-destruct">construct/copy/destruct</a></span>
+  <a class="link" href="any.html#id61705-bb"><span class="identifier">any</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+  <a class="link" href="any.html#id61718-bb"><span class="identifier">any</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+  <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <a class="link" href="any.html#id61766-bb"><span class="identifier">any</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ValueType</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+  <a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> <a class="link" href="any.html#id61826-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+  <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> <a class="link" href="any.html#id61883-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ValueType</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+  <a class="link" href="any.html#id61812-bb"><span class="special">~</span><span class="identifier">any</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+
+  <span class="comment">// <a class="link" href="any.html#id61937-bb">modifiers</a></span>
+  <a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> <a class="link" href="any.html#id61941-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+
+  <span class="comment">// <a class="link" href="any.html#id61992-bb">queries</a></span>
+  <span class="keyword">bool</span> <a class="link" href="any.html#id61996-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+  <span class="keyword">const</span> std::type_info <span class="special">&amp;</span> <a class="link" href="any.html#id62025-bb"><span class="identifier">type</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre>
+</div>
+<div class="refsect1">
+<a name="id775478"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id775481"></a><h3>
+<a name="boost.anyconstruct-copy-destruct"></a><code class="computeroutput">any</code> 
+        public
+       construct/copy/destruct</h3>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<pre class="literallayout"><a name="id61705-bb"></a><span class="identifier">any</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term">Postconditions:</span></p></td>
+<td><code class="computeroutput">this-&gt;<a class="link" href="any.html#id61996-bb">empty</a>()</code></td>
+</tr></tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a name="id61718-bb"></a><span class="identifier">any</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Effects:</span></p></td>
+<td> Copy constructor that copies content of
+            <code class="computeroutput">other</code> into new instance, so that any content
+            is equivalent in both type and value to the content of
+            <code class="computeroutput">other</code>, or empty if <code class="computeroutput">other</code> is
+            empty. </td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>May fail with a
+            <code class="computeroutput">std::bad_alloc</code>
+            exception or any exceptions arising from the copy
+            constructor of the contained type.</td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <a name="id61766-bb"></a><span class="identifier">any</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ValueType</span> <span class="special">&amp;</span> value<span class="special">)</span><span class="special">;</span></pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Effects:</span></p></td>
+<td>Makes a copy of <code class="computeroutput">value</code>, so
+            that the initial content of the new instance is equivalent
+            in both type and value to
+            <code class="computeroutput">value</code>.</td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>
+<code class="computeroutput">std::bad_alloc</code>
+            or any exceptions arising from the copy constructor of the
+            contained type.</td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> <a name="id61826-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Effects:</span></p></td>
+<td>Copies content of <code class="computeroutput">rhs</code> into
+            current instance, discarding previous content, so that the
+            new content is equivalent in both type and value to the
+            content of <code class="computeroutput">rhs</code>, or empty if
+            <code class="computeroutput">rhs.<a class="link" href="any.html#id61996-bb">empty</a>()</code>.</td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>
+<code class="computeroutput">std::bad_alloc</code>
+            or any exceptions arising from the copy constructor of the
+            contained type. Assignment satisfies the strong guarantee
+            of exception safety.</td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> <a name="id61883-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ValueType</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Effects:</span></p></td>
+<td>Makes a copy of <code class="computeroutput">rhs</code>,
+            discarding previous content, so that the new content of is
+            equivalent in both type and value to
+            <code class="computeroutput">rhs</code>.</td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>
+<code class="computeroutput">std::bad_alloc</code>
+            or any exceptions arising from the copy constructor of the
+            contained type. Assignment satisfies the strong guarantee
+            of exception safety.</td>
+</tr>
+</tbody>
+</table></div>
+</li>
+<li class="listitem">
+<pre class="literallayout"><a name="id61812-bb"></a><span class="special">~</span><span class="identifier">any</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Effects:</span></p></td>
+<td>Releases any and all resources used in
+            management of instance.</td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing.</td>
+</tr>
+</tbody>
+</table></div>
+</li>
+</ol></div>
+</div>
+<div class="refsect2">
+<a name="id775932"></a><h3>
+<a name="id61937-bb"></a><code class="computeroutput">any</code> modifiers</h3>
+<div class="orderedlist">
+<pre class="literallayout"><a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> <a name="id61941-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span></pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Effects:</span></p></td>
+<td>Exchange of the contents of
+              <code class="computeroutput">*this</code> and
+              <code class="computeroutput">rhs</code>.</td>
+</tr>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td><code class="computeroutput">*this</code></td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Nothing.</td>
+</tr>
+</tbody>
+</table></div>
+<ol class="orderedlist" type="1"></ol>
+</div>
+</div>
+<div class="refsect2">
+<a name="id776016"></a><h3>
+<a name="id61992-bb"></a><code class="computeroutput">any</code> queries</h3>
+<div class="orderedlist">
+<pre class="literallayout"><span class="keyword">bool</span> <a name="id61996-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td>
+<code class="computeroutput">true</code> if instance is
+              empty, otherwise <code class="computeroutput">false</code>.</td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Will not throw.</td>
+</tr>
+</tbody>
+</table></div>
+<pre class="literallayout"><span class="keyword">const</span> std::type_info <span class="special">&amp;</span> <a name="id62025-bb"></a><span class="identifier">type</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td>the <code class="computeroutput">typeid</code> of the
+              contained value if instance is non-empty, otherwise
+              <code class="computeroutput">typeid(void)</code>.</td>
+</tr>
+<tr>
+<td><p><span class="term">Notes:</span></p></td>
+<td>Useful for querying against types known
+              either at compile time or only at
+              runtime.</td>
+</tr>
+</tbody>
+</table></div>
+<ol class="orderedlist" type="1"></ol>
+</div>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bad_any_cast.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../any/reference.html#header.boost.any_hpp"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="any_cast.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/docbook/relaxng/api/tests/html/boost/any_cast.html b/docbook/relaxng/api/tests/html/boost/any_cast.html
new file mode 100644 (file)
index 0000000..108e1b8
--- /dev/null
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function any_cast</title>
+<link rel="stylesheet" href=".././api.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="">
+<link rel="up" href="../any/reference.html#header.boost.any_hpp" title="Header &lt;boost/any.hpp&gt;">
+<link rel="prev" href="any.html" title="Class any">
+<link rel="next" href="../any/acknowledgments.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr class="api-head"><td valign="top" style="background-color: rgb(0,165,165); width: 100%;"><a href="http://wiki.docbook.org/topic/BoostBookIntegration"><img alt="DocBook API Dcoumentation" width="300" height="100" src=".././images/db-api.png"></a></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="any.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../any/reference.html#header.boost.any_hpp"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="../any/acknowledgments.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.any_cast"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Function any_cast</span></h2>
+<p>boost::any_cast &#8212; Custom keyword cast for extracting a value
+          of a given type from an
+          <code class="computeroutput"><a class="link" href="any.html" title="Class any">any</a></code>.</p>
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../any/reference.html#header.boost.any_hpp" title="Header &lt;boost/any.hpp&gt;">boost/any.hpp</a>&gt;
+
+</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">any_cast</span><span class="special">(</span><a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> operand<span class="special">)</span><span class="special">;</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">any_cast</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="any.html" title="Class any">any</a> <span class="special">&amp;</span> operand<span class="special">)</span><span class="special">;</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">ValueType</span> <span class="special">*</span> <span class="identifier">any_cast</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="any.html" title="Class any">any</a> <span class="special">*</span> operand<span class="special">)</span><span class="special">;</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="identifier">ValueType</span> <span class="special">*</span> <span class="identifier">any_cast</span><span class="special">(</span><a class="link" href="any.html" title="Class any">any</a> <span class="special">*</span> operand<span class="special">)</span><span class="special">;</span></pre>
+</div>
+<div class="refsect1">
+<a name="id776408"></a><h2>Description</h2>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term">Returns:</span></p></td>
+<td> If passed a pointer, it returns a
+          similarly qualified pointer to the value content if
+         successful, otherwise null is returned.
+         If T is ValueType, it returns a copy of the held value, otherwise, if T is a reference 
+         to (possibly const qualified) ValueType, it returns a reference to the held 
+         value.</td>
+</tr>
+<tr>
+<td><p><span class="term">Throws:</span></p></td>
+<td>Overloads taking an
+          <code class="computeroutput"><a class="link" href="any.html" title="Class any">any</a></code> pointer do not
+          throw; overloads taking an
+          <code class="computeroutput"><a class="link" href="any.html" title="Class any">any</a></code> value or reference
+          throws <code class="computeroutput"><a class="link" href="bad_any_cast.html" title="Class bad_any_cast">bad_any_cast</a></code> if
+          unsuccessful.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="any.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../any/reference.html#header.boost.any_hpp"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="../any/acknowledgments.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/docbook/relaxng/api/tests/html/boost/bad_any_cast.html b/docbook/relaxng/api/tests/html/boost/bad_any_cast.html
new file mode 100644 (file)
index 0000000..0cb9c34
--- /dev/null
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class bad_any_cast</title>
+<link rel="stylesheet" href=".././api.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="">
+<link rel="up" href="../any/reference.html#header.boost.any_hpp" title="Header &lt;boost/any.hpp&gt;">
+<link rel="prev" href="../any/reference.html" title="Reference">
+<link rel="next" href="any.html" title="Class any">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr class="api-head"><td valign="top" style="background-color: rgb(0,165,165); width: 100%;"><a href="http://wiki.docbook.org/topic/BoostBookIntegration"><img alt="DocBook API Dcoumentation" width="300" height="100" src=".././images/db-api.png"></a></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../any/reference.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../any/reference.html#header.boost.any_hpp"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="any.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+<div class="refentry">
+<a name="boost.bad_any_cast"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Class bad_any_cast</span></h2>
+<p>boost::bad_any_cast &#8212; The exception thrown in the event of a failed
+          <code class="computeroutput"><a class="link" href="any_cast.html" title="Function any_cast">any_cast</a></code> of an
+          <code class="computeroutput"><a class="link" href="any.html" title="Class any">any</a></code> value.</p>
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../any/reference.html#header.boost.any_hpp" title="Header &lt;boost/any.hpp&gt;">boost/any.hpp</a>&gt;
+
+</span>
+<span class="keyword">class</span> <a class="link" href="bad_any_cast.html" title="Class bad_any_cast">bad_any_cast</a> <span class="special">:</span> <span class="keyword">public</span> std::bad_cast <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="bad_any_cast.html#id61674-bb"><span class="identifier">what</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">}</span><span class="special">;</span></pre>
+</div>
+<div class="refsect1">
+<a name="id774994"></a><h2>Description</h2>
+<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="id61674-bb"></a><span class="identifier">what</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../any/reference.html"><img src=".././images/prev.png" alt="Prev"></a><a accesskey="u" href="../any/reference.html#header.boost.any_hpp"><img src=".././images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src=".././images/home.png" alt="Home"></a><a accesskey="n" href="any.html"><img src=".././images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>