Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56702 - in branches/release: . boost/algorithm/string boost/archive boost/config boost/fusion boost/graph boost/numeric/ublas boost/program_options boost/property_tree boost/python boost/regex boost/serialization boost/signals boost/signals2 boost/spirit boost/system boost/tr1 boost/type_traits boost/unordered/detail boost/utility boost/wave doc/html libs libs/config libs/functional/hash/test libs/fusion libs/graph_parallel libs/mpl/doc/refmanual libs/mpl/doc/src/refmanual libs/numeric/ublas libs/program_options libs/property_tree libs/python libs/regex libs/serialization libs/signals libs/signals2 libs/spirit libs/spirit/classic/example libs/spirit/example libs/spirit/phoenix libs/spirit/test libs/system libs/timer libs/tr1 libs/type_traits libs/unordered/test/helpers libs/unordered/test/unordered libs/utility libs/wave status tools/boostbook/doc tools/boostbook/test tools/boostbook/test/doxygen tools/boostbook/test/doxygen/boost tools/boostbook/xsl/doxygen tools/build/v2 tools/regression tools/wave
From: daniel_james_at_[hidden]
Date: 2009-10-10 10:53:48


Author: danieljames
Date: 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
New Revision: 56702
URL: http://svn.boost.org/trac/boost/changeset/56702

Log:
Merge some documentation changes and inspect fixes.

Merged revisions 55370,55729,56440,56570-56571,56603,56697-56699 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r55370 | danieljames | 2009-08-02 19:18:14 +0100 (Sun, 02 Aug 2009) | 1 line
  
  Pass through more elements in doxygen2boostbook. Refs #3309.
........
  r55729 | danieljames | 2009-08-23 11:07:25 +0100 (Sun, 23 Aug 2009) | 3 lines
  
  Add depencies on doxygen documentation to standalone documentation targets.
  
  This seems to be needed for building pdfs.
........
  r56440 | danieljames | 2009-09-27 20:11:39 +0100 (Sun, 27 Sep 2009) | 1 line
  
  Fix silly error in doxygen test file.
........
  r56570 | danieljames | 2009-10-04 11:37:36 +0100 (Sun, 04 Oct 2009) | 1 line
  
  Clean up some unordered TODOs.
........
  r56571 | danieljames | 2009-10-04 11:37:56 +0100 (Sun, 04 Oct 2009) | 1 line
  
  Detab.
........
  r56603 | danieljames | 2009-10-05 22:29:39 +0100 (Mon, 05 Oct 2009) | 1 line
  
  Various inspect fixes.
........
  r56697 | danieljames | 2009-10-10 14:00:28 +0100 (Sat, 10 Oct 2009) | 1 line
  
  Add forwarding html file for accumulators.
........
  r56698 | danieljames | 2009-10-10 14:01:14 +0100 (Sat, 10 Oct 2009) | 1 line
  
  Missing newline.
........
  r56699 | danieljames | 2009-10-10 14:01:30 +0100 (Sat, 10 Oct 2009) | 1 line
  
  Add copyright to boostbook reference xml.
........

Added:
   branches/release/doc/html/accumulators.html
      - copied unchanged from r56699, /trunk/doc/html/accumulators.html
   branches/release/doc/html/quickbook.html
      - copied unchanged from r56603, /trunk/doc/html/quickbook.html
Properties modified:
   branches/release/ (props changed)
   branches/release/boost/algorithm/string/ (props changed)
   branches/release/boost/archive/ (props changed)
   branches/release/boost/config/ (props changed)
   branches/release/boost/fusion/ (props changed)
   branches/release/boost/graph/ (props changed)
   branches/release/boost/numeric/ublas/ (props changed)
   branches/release/boost/program_options/ (props changed)
   branches/release/boost/property_tree/ (props changed)
   branches/release/boost/python/ (props changed)
   branches/release/boost/regex/ (props changed)
   branches/release/boost/serialization/ (props changed)
   branches/release/boost/signals/ (props changed)
   branches/release/boost/signals2/ (props changed)
   branches/release/boost/spirit/ (props changed)
   branches/release/boost/system/ (props changed)
   branches/release/boost/tr1/ (props changed)
   branches/release/boost/type_traits/ (props changed)
   branches/release/boost/utility/value_init.hpp (props changed)
   branches/release/boost/wave/ (props changed)
   branches/release/index.html (props changed)
   branches/release/libs/config/ (props changed)
   branches/release/libs/fusion/ (props changed)
   branches/release/libs/graph_parallel/ (props changed)
   branches/release/libs/libraries.htm (props changed)
   branches/release/libs/maintainers.txt (props changed)
   branches/release/libs/mpl/doc/refmanual/broken-compiler-workarounds.html (props changed)
   branches/release/libs/mpl/doc/refmanual/categorized-index-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/cfg-no-preprocessed-headers.html (props changed)
   branches/release/libs/mpl/doc/refmanual/composition-and-argument-binding.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-miscellaneous.html (props changed)
   branches/release/libs/mpl/doc/refmanual/extensible-associative-sequence.html (props changed)
   branches/release/libs/mpl/doc/refmanual/inserter-class.html (props changed)
   branches/release/libs/mpl/doc/refmanual/tag-dispatched-metafunction.html (props changed)
   branches/release/libs/mpl/doc/refmanual/trivial-metafunctions-summary.html (props changed)
   branches/release/libs/mpl/doc/src/refmanual/Iterators-Iterator.rst (props changed)
   branches/release/libs/numeric/ublas/ (props changed)
   branches/release/libs/program_options/ (props changed)
   branches/release/libs/property_tree/ (props changed)
   branches/release/libs/python/ (props changed)
   branches/release/libs/regex/ (props changed)
   branches/release/libs/serialization/ (props changed)
   branches/release/libs/signals/ (props changed)
   branches/release/libs/signals2/ (props changed)
   branches/release/libs/spirit/ (props changed)
   branches/release/libs/spirit/classic/example/ (props changed)
   branches/release/libs/spirit/example/ (props changed)
   branches/release/libs/spirit/phoenix/ (props changed)
   branches/release/libs/spirit/test/ (props changed)
   branches/release/libs/system/ (props changed)
   branches/release/libs/timer/ (props changed)
   branches/release/libs/tr1/ (props changed)
   branches/release/libs/type_traits/ (props changed)
   branches/release/libs/utility/swap.html (props changed)
   branches/release/libs/utility/value_init.htm (props changed)
   branches/release/libs/utility/value_init_test.cpp (props changed)
   branches/release/libs/wave/ (props changed)
   branches/release/status/ (props changed)
   branches/release/tools/build/v2/ (props changed)
   branches/release/tools/regression/ (props changed)
   branches/release/tools/wave/ (props changed)
Text files modified:
   branches/release/boost/unordered/detail/buckets.hpp | 7 ++---
   branches/release/boost/unordered/detail/equivalent.hpp | 1
   branches/release/boost/unordered/detail/table.hpp | 19 +++++----------
   branches/release/libs/functional/hash/test/namespace_fail_test.cpp | 2
   branches/release/libs/unordered/test/helpers/list.hpp | 4 +-
   branches/release/libs/unordered/test/unordered/rehash_tests.cpp | 43 ++++++++++++++++++++++++++++++++++++
   branches/release/tools/boostbook/doc/reference.xml | 7 +++++
   branches/release/tools/boostbook/test/alt.xml | 9 ++++++
   branches/release/tools/boostbook/test/doxygen/Jamfile.v2 | 5 ++++
   branches/release/tools/boostbook/test/doxygen/boost/example.hpp | 47 +++++++++++++++++++++++++++++++++++++++
   branches/release/tools/boostbook/test/doxygen/example.xml | 9 ++++++
   branches/release/tools/boostbook/xsl/doxygen/doxygen2boostbook.xsl | 21 +++++++++++++----
   12 files changed, 146 insertions(+), 28 deletions(-)

Modified: branches/release/boost/unordered/detail/buckets.hpp
==============================================================================
--- branches/release/boost/unordered/detail/buckets.hpp (original)
+++ branches/release/boost/unordered/detail/buckets.hpp 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -15,7 +15,6 @@
     
     ////////////////////////////////////////////////////////////////////////////
     // Buckets
- // TODO: Are these needed?
     
     template <class A, class G>
     inline BOOST_DEDUCED_TYPENAME hash_buckets<A, G>::bucket_ptr
@@ -32,7 +31,7 @@
     }
     
     template <class A, class G>
- inline std::size_t hash_buckets<A, G>::bucket_size(std::size_t index) const
+ std::size_t hash_buckets<A, G>::bucket_size(std::size_t index) const
     {
         if(!buckets_) return 0;
         bucket_ptr ptr = get_bucket(index)->next_;
@@ -157,7 +156,7 @@
     template <class A, class G>
     inline void hash_buckets<A, G>::move(hash_buckets& other)
     {
- BOOST_ASSERT(node_alloc() == other.node_alloc());
+ BOOST_ASSERT(node_alloc() == other.node_alloc());
         if(this->buckets_) { this->delete_buckets(); }
         this->buckets_ = other.buckets_;
         this->bucket_count_ = other.bucket_count_;
@@ -168,7 +167,7 @@
     template <class A, class G>
     inline void hash_buckets<A, G>::swap(hash_buckets<A, G>& other)
     {
- BOOST_ASSERT(node_alloc() == other.node_alloc());
+ BOOST_ASSERT(node_alloc() == other.node_alloc());
         std::swap(buckets_, other.buckets_);
         std::swap(bucket_count_, other.bucket_count_);
     }

Modified: branches/release/boost/unordered/detail/equivalent.hpp
==============================================================================
--- branches/release/boost/unordered/detail/equivalent.hpp (original)
+++ branches/release/boost/unordered/detail/equivalent.hpp 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -257,7 +257,6 @@
 
     // if hash function throws, or inserting > 1 element, basic exception safety
     // strong otherwise
- // TODO: Should I special case an empty container?
     template <class H, class P, class A, class K>
     template <class I>
     void hash_equivalent_table<H, P, A, K>::insert_range(I i, I j)

Modified: branches/release/boost/unordered/detail/table.hpp
==============================================================================
--- branches/release/boost/unordered/detail/table.hpp (original)
+++ branches/release/boost/unordered/detail/table.hpp 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -193,7 +193,7 @@
         BOOST_ASSERT(this->bucket_count_ != 0);
         return static_cast<float>(this->size_)
             / static_cast<float>(this->bucket_count_);
- }
+ }
 
     ////////////////////////////////////////////////////////////////////////////
     // Constructors
@@ -431,23 +431,20 @@
 
     // if hash function throws, basic exception safety
     // strong otherwise.
- // TODO: Should this always create buckets?
+
     template <class H, class P, class A, class G, class K>
     inline void hash_table<H, P, A, G, K>::rehash(std::size_t min_buckets)
     {
         using namespace std;
 
- if(!this->buckets_) {
+ if(!this->size_) {
+ if(this->buckets_) this->delete_buckets();
             this->bucket_count_ = next_prime(min_buckets);
- this->create_buckets();
- this->init_buckets();
         }
         else {
             // no throw:
- // TODO: Needlessly calling next_prime twice.
- min_buckets = (std::max)(
- next_prime(min_buckets),
- this->min_buckets_for_size(this->size_));
+ min_buckets = next_prime((std::max)(min_buckets,
+ double_to_size_t(floor(this->size_ / (double) mlf_)) + 1));
             if(min_buckets != this->bucket_count_) rehash_impl(min_buckets);
         }
     }
@@ -619,7 +616,6 @@
     template <class H, class P, class A, class G, class K>
     void hash_table<H, P, A, G, K>::clear()
     {
- // TODO: Is this check needed when called internally?
         if(!this->size_) return;
 
         bucket_ptr end = this->get_bucket(this->bucket_count_);
@@ -645,8 +641,7 @@
     }
     
     template <class H, class P, class A, class G, class K>
- std::size_t hash_table<H, P, A, G, K>
- ::erase_key(key_type const& k)
+ std::size_t hash_table<H, P, A, G, K>::erase_key(key_type const& k)
     {
         if(!this->size_) return 0;
     

Modified: branches/release/libs/functional/hash/test/namespace_fail_test.cpp
==============================================================================
--- branches/release/libs/functional/hash/test/namespace_fail_test.cpp (original)
+++ branches/release/libs/functional/hash/test/namespace_fail_test.cpp 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -11,4 +11,4 @@
 
 typedef list<int> foo;
 
-int main() {}
\ No newline at end of file
+int main() {}

Modified: branches/release/libs/unordered/test/helpers/list.hpp
==============================================================================
--- branches/release/libs/unordered/test/helpers/list.hpp (original)
+++ branches/release/libs/unordered/test/helpers/list.hpp 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -29,8 +29,8 @@
         template <typename T>
         class list_node
         {
- list_node(list_node const&);
- list_node& operator=(list_node const&);
+ list_node(list_node const&);
+ list_node& operator=(list_node const&);
         public:
             T value_;
             list_node* next_;

Modified: branches/release/libs/unordered/test/unordered/rehash_tests.cpp
==============================================================================
--- branches/release/libs/unordered/test/unordered/rehash_tests.cpp (original)
+++ branches/release/libs/unordered/test/unordered/rehash_tests.cpp 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -33,6 +33,43 @@
 }
 
 template <class X>
+void rehash_empty_test2(X* = 0, test::random_generator generator = test::default_generator)
+{
+ test::random_values<X> v(1000, generator);
+ test::ordered<X> tracker;
+
+ X x;
+
+ x.rehash(10000);
+ BOOST_TEST(postcondition(x, 10000));
+
+ tracker.insert_range(v.begin(), v.end());
+ x.insert(v.begin(), v.end());
+ tracker.compare(x);
+
+ BOOST_TEST(postcondition(x, 10000));
+}
+
+template <class X>
+void rehash_empty_test3(X* = 0, test::random_generator generator = test::default_generator)
+{
+ test::random_values<X> v(1000, generator);
+ test::ordered<X> tracker;
+
+ X x;
+
+ x.rehash(0);
+ BOOST_TEST(postcondition(x, 0));
+
+ tracker.insert_range(v.begin(), v.end());
+ x.insert(v.begin(), v.end());
+ tracker.compare(x);
+
+ BOOST_TEST(postcondition(x, 0));
+}
+
+
+template <class X>
 void rehash_test1(X* = 0, test::random_generator generator = test::default_generator)
 {
     test::random_values<X> v(1000, generator);
@@ -63,6 +100,12 @@
 UNORDERED_TEST(rehash_empty_test1,
     ((int_set_ptr)(int_multiset_ptr)(int_map_ptr)(int_multimap_ptr))
 )
+UNORDERED_TEST(rehash_empty_test2,
+ ((int_set_ptr)(int_multiset_ptr)(int_map_ptr)(int_multimap_ptr))
+)
+UNORDERED_TEST(rehash_empty_test3,
+ ((int_set_ptr)(int_multiset_ptr)(int_map_ptr)(int_multimap_ptr))
+)
 UNORDERED_TEST(rehash_test1,
     ((int_set_ptr)(int_multiset_ptr)(int_map_ptr)(int_multimap_ptr))
 )

Modified: branches/release/tools/boostbook/doc/reference.xml
==============================================================================
--- branches/release/tools/boostbook/doc/reference.xml (original)
+++ branches/release/tools/boostbook/doc/reference.xml 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -1,4 +1,11 @@
 <?xml version="1.0" standalone="yes"?>
+<!--
+ Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+ -->
 <chapter id="reference">
   <title>Reference</title>
   <para>Elements:<itemizedlist spacing="compact"><listitem><simpara><link linkend="boostbook.dtd.access">Element <sgmltag>access</sgmltag> - Declares an access specification for class members</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.boostbook">Element <sgmltag>boostbook</sgmltag> - Defines a BoostBook book</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.class">Element <sgmltag>class</sgmltag> - Declares a class or class template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.class-specialization">Element <sgmltag>class-specialization</sgmltag> - A specialization (partial or full) of a class template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.code">Element <sgmltag>code</sgmltag> - Mimics the <sgmltag>code</sgmltag> tag in HTML</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.compile-fail-test">Element <sgmltag>compile-fail-test</sgmltag> - A testcase that should
fail to compile</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.compile-test">Element <sgmltag>compile-test</sgmltag> - A testcase that should compile correctly</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.complexity">Element <sgmltag>complexity</sgmltag> - The time/space/etc. complexity of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.constructor">Element <sgmltag>constructor</sgmltag> - Declares a constructor of the enclosing class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.copy-assignment">Element <sgmltag>copy-assignment</sgmltag> - Declares a copy-assignment operator</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.data-member">Element <sgmltag>data-member</sgmltag> - Declares a data member of a class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.default">Element <sgmltag>default</sgmltag> - The default value of a function
 or template parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.description">Element <sgmltag>description</sgmltag> - Detailed description of a construct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.destructor">Element <sgmltag>destructor</sgmltag> - Declares a destructor for the enclosing class</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.effects">Element <sgmltag>effects</sgmltag> - Declares the side effects of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enum">Element <sgmltag>enum</sgmltag> - Declares an enumeration type</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enumname">Element <sgmltag>enumname</sgmltag> - References an enumeration type with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.enumvalue">Element <sgmltag>enumvalue</sgmltag> - A single value of an enumeration</link></simpara></listite
m><listitem><simpara><link linkend="boostbook.dtd.free-function-group">Element <sgmltag>free-function-group</sgmltag> - A set of functions that are grouped together under one name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.function">Element <sgmltag>function</sgmltag> - Declares a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.functionname">Element <sgmltag>functionname</sgmltag> - References a function with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.globalname">Element <sgmltag>globalname</sgmltag> - References a global with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.header">Element <sgmltag>header</sgmltag> - Declares a C++ header with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.headername">Element <sgmltag>headername</sgmltag> - References a C++ header with the given name</link></simpara></listitem><
listitem><simpara><link linkend="boostbook.dtd.if-fails">Element <sgmltag>if-fails</sgmltag> - What it means when a testcase fails</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.inherit">Element <sgmltag>inherit</sgmltag> - Declares a base class of the enclosing class or struct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.lib">Element <sgmltag>lib</sgmltag> - A library dependency</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.library">Element <sgmltag>library</sgmltag> - Top-level element for a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.library-reference">Element <sgmltag>library-reference</sgmltag> - Declares the reference material for a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategory">Element <sgmltag>librarycategory</sgmltag> - Declares that the enclosing library is in this category</link></simpara></listitem><listitem><simpara><li
nk linkend="boostbook.dtd.librarycategorydef">Element <sgmltag>librarycategorydef</sgmltag> - Defines a new library category</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarycategorylist">Element <sgmltag>librarycategorylist</sgmltag> - Categorized listing of libraries</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.libraryinfo">Element <sgmltag>libraryinfo</sgmltag> - Provides information about a library</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarylist">Element <sgmltag>librarylist</sgmltag> - Placeholder for an alphabetical list of libraries</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.libraryname">Element <sgmltag>libraryname</sgmltag> - References a library of the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.librarypurpose">Element <sgmltag>librarypurpose</sgmltag> - Describes in one short sentence or phrase the purpose of a library</link
></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.link-fail-test">Element <sgmltag>link-fail-test</sgmltag> - Declares a test that should compile but fail to link</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.link-test">Element <sgmltag>link-test</sgmltag> - Declares a test that should compile and link</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.macroname">Element <sgmltag>macroname</sgmltag> - References a macro with the given name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.method">Element <sgmltag>method</sgmltag> - Declares a method, i.e., a member function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.method-group">Element <sgmltag>method-group</sgmltag> - A set of methods that are grouped together under one name</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.namespace">Element <sgmltag>namespace</sgmltag> - Declares a namespace</link></s
impara></listitem><listitem><simpara><link linkend="boostbook.dtd.notes">Element <sgmltag>notes</sgmltag> - Non-normative notes about a function's semantics</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.overloaded-function">Element <sgmltag>overloaded-function</sgmltag> - An overloaded function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.overloaded-method">Element <sgmltag>overloaded-method</sgmltag> - An overloaded method</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.parameter">Element <sgmltag>parameter</sgmltag> - A function parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.paramtype">Element <sgmltag>paramtype</sgmltag> - The type of a function parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.postconditions">Element <sgmltag>postconditions</sgmltag> - Conditions that must hold after the function returns</link></simpara></listitem><listitem><simpar
a><link linkend="boostbook.dtd.precondition">Element <sgmltag>precondition</sgmltag> - Conditions that must be met prior to executing a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.programlisting">Element <sgmltag>programlisting</sgmltag> - A sample of program code</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.purpose">Element <sgmltag>purpose</sgmltag> - A short description of an entity's use</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.rationale">Element <sgmltag>rationale</sgmltag> - Describes the rationale for a particular function's design</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.requirement">Element <sgmltag>requirement</sgmltag> - A requirement/property in the Jamfile for a testcase</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.requires">Element <sgmltag>requires</sgmltag> - Declares the requirements of a function</link></simpara></listitem><l
istitem><simpara><link linkend="boostbook.dtd.returns">Element <sgmltag>returns</sgmltag> - Description of the return value of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.run-fail-test">Element <sgmltag>run-fail-test</sgmltag> - A testcase that should compile and link, but fail on execution</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.run-test">Element <sgmltag>run-test</sgmltag> - A testcase that should compile, link, and execute</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.signature">Element <sgmltag>signature</sgmltag> - One signature of an overloaded function or method</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.snippet">Element <sgmltag>snippet</sgmltag> - Pulls in a code snippet from a <sgmltag>programlisting</sgmltag> element</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.source">Element <sgmltag>source</sgmltag> - Defines source code for a te
st</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.specialization">Element <sgmltag>specialization</sgmltag> - Defines the specialization arguments for a class specialization</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.static-constant">Element <sgmltag>static-constant</sgmltag> - Declares a static constant, e.g., <code>const int foo = 5;</code>.</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.struct">Element <sgmltag>struct</sgmltag> - Declares a C++ struct</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.struct-specialization">Element <sgmltag>struct-specialization</sgmltag> - A specialization (full or partial) of a struct template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template">Element <sgmltag>template</sgmltag> - Declares the template parameters of a class or function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-arg">Ele
ment <sgmltag>template-arg</sgmltag> - A template argument in a specialization</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-nontype-parameter">Element <sgmltag>template-nontype-parameter</sgmltag> - A nontype template parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-type-parameter">Element <sgmltag>template-type-parameter</sgmltag> - Declares a template type parameter</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.template-varargs">Element <sgmltag>template-varargs</sgmltag> - Declares a variable-length list of template parameters</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.testsuite">Element <sgmltag>testsuite</sgmltag> - Describes a library testsuite</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.throws">Element <sgmltag>throws</sgmltag> - Description of the exceptions thrown by a function</link></simpara></listitem><listitem><simpara><li
nk linkend="boostbook.dtd.type">Element <sgmltag>type</sgmltag> - The type of an element or return type of a function</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.typedef">Element <sgmltag>typedef</sgmltag> - Declares a typedef</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.union">Element <sgmltag>union</sgmltag> - Declares a C++ union or union template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.union-specialization">Element <sgmltag>union-specialization</sgmltag> - A specialization (full or partial) of a union template</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.using-class">Element <sgmltag>using-class</sgmltag> - Injects the method and function names of a class into the local scope</link></simpara></listitem><listitem><simpara><link linkend="boostbook.dtd.using-namespace">Element <sgmltag>using-namespace</sgmltag> - Injects the declared names from a namespace into the local scope</link>
</simpara></listitem></itemizedlist></para>

Modified: branches/release/tools/boostbook/test/alt.xml
==============================================================================
--- branches/release/tools/boostbook/test/alt.xml (original)
+++ branches/release/tools/boostbook/test/alt.xml 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -1,3 +1,10 @@
+
+<!--
+Copyright Daniel James 2009
+Distributed under the Boost Software License, Version 1.0. (See accompanying
+file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+-->
+
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML//EN"
   "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
@@ -37,4 +44,4 @@
       </macro>
     </header>
   </library-reference>
-</library>
\ No newline at end of file
+</library>

Modified: branches/release/tools/boostbook/test/doxygen/Jamfile.v2
==============================================================================
--- branches/release/tools/boostbook/test/doxygen/Jamfile.v2 (original)
+++ branches/release/tools/boostbook/test/doxygen/Jamfile.v2 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -1,3 +1,8 @@
+
+# Copyright 2009 Daniel James.
+# Distributed under the Boost Software License, Version 1.0. (See accompanying
+# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
 import doxygen ;
 
 doxygen autodoc

Modified: branches/release/tools/boostbook/test/doxygen/boost/example.hpp
==============================================================================
--- branches/release/tools/boostbook/test/doxygen/boost/example.hpp (original)
+++ branches/release/tools/boostbook/test/doxygen/boost/example.hpp 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -1,8 +1,25 @@
+
+// Copyright 2009 Daniel James.
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+/*!
+ \class example::example
+
+ \brief Documentation for class example
+ */
+
+/*!
+ \def EXAMPLE
+
+ \brief Documentation for macro example
+ */
+
 int global_integer;
 static int global_static_integer;
 const int global_const_integer = 1;
 static const int global_static_const_integer = 2;
-enum global_enum { enumerator };
+enum global_enum { enumerator1 = 1, enumerator2 };
 
 namespace example
 {
@@ -48,7 +65,35 @@
         enum private_class_enum { enumerator3 };
     };
     
+ /**
+ * Test some doxygen markup
+ *
+ * Embedded docbook list:
+ *
+ * \xmlonly
+ * <orderedlist><listitem>1</listitem><listitem>2</listitem></orderedlist>
+ * \endxmlonly
+ *
+ * \a Special \b Bold \c Typewriter \e Italics \em emphasis \p parameter
+ *
+ * \arg Arg1 first argument.
+ * \arg Arg2 second argument.
+ *
+ * \li First list item.
+ * \li Second list item
+ *
+ * Line 1\n
+ * Line 2
+ *
+ * \code
+ * void foo() {}
+ * \endcode
+ *
+ */
+
     template <typename TypeParameter, int NonTypeParameter,
         typename TypeParameterWithDefault = int>
     struct example_template {};
 }
+
+#define EXAMPLE(m) The macro

Modified: branches/release/tools/boostbook/test/doxygen/example.xml
==============================================================================
--- branches/release/tools/boostbook/test/doxygen/example.xml (original)
+++ branches/release/tools/boostbook/test/doxygen/example.xml 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -1,6 +1,13 @@
+
+<!--
+Copyright Daniel James 2009
+Distributed under the Boost Software License, Version 1.0. (See accompanying
+file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+-->
+
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
 <library id="example" name="Example" dirname="example" xmlns:xi="http://www.w3.org/2001/XInclude">
 <title>Example</title>
 <xi:include href="autodoc.xml" />
-</library>
\ No newline at end of file
+</library>

Modified: branches/release/tools/boostbook/xsl/doxygen/doxygen2boostbook.xsl
==============================================================================
--- branches/release/tools/boostbook/xsl/doxygen/doxygen2boostbook.xsl (original)
+++ branches/release/tools/boostbook/xsl/doxygen/doxygen2boostbook.xsl 2009-10-10 10:53:46 EDT (Sat, 10 Oct 2009)
@@ -308,7 +308,7 @@
 
           <xsl:if test="initializer">
             <default>
- <xsl:apply-templates select="initializer" mode="passthrough"/>
+ <xsl:apply-templates select="initializer/*|initializer/text()" mode="passthrough"/>
             </default>
           </xsl:if>
 
@@ -1216,12 +1216,13 @@
     </xsl:if>
   </xsl:template>
 
- <xsl:template match="computeroutput|orderedlist|itemizedlist|listitem"
- mode="passthrough">
- <xsl:element name="{name(.)}">
+ <xsl:template match="*" mode="passthrough">
+ <xsl:copy>
+ <xsl:copy-of select="@*"/>
       <xsl:apply-templates mode="passthrough"/>
- </xsl:element>
+ </xsl:copy>
   </xsl:template>
+
   <xsl:template match="parameterlist" mode="passthrough"/>
 
   <xsl:template match="bold" mode="passthrough">
@@ -1230,6 +1231,10 @@
     </emphasis>
   </xsl:template>
 
+ <xsl:template match="linebreak" mode="passthrough">
+ <sbr/>
+ </xsl:template>
+
   <xsl:template match="briefdescription" mode="passthrough">
     <xsl:if test="text()|*">
       <purpose>
@@ -1254,6 +1259,12 @@
     </xsl:if>
   </xsl:template>
 
+ <!-- Ignore ref elements for now, as there is a lot of documentation which
+ will have incorrect ref elements at the moment -->
+ <xsl:template match="ref" mode="passthrough">
+ <xsl:apply-templates mode="passthrough"/>
+ </xsl:template>
+
   <!-- Handle function clauses -->
   <xsl:template match="simplesect" mode="function-clauses">
     <xsl:if test="@kind='pre'">


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk