Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50018 - in sandbox/tools/auto_index: . build example/type_traits/doc example/type_traits/doc/html example/type_traits/doc/html/boost_typetraits example/type_traits/doc/html/boost_typetraits/category example/type_traits/doc/html/boost_typetraits/reference example/type_traits/doc/html/index src
From: john_at_[hidden]
Date: 2008-11-29 12:20:06


Author: johnmaddock
Date: 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
New Revision: 50018
URL: http://svn.boost.org/trac/boost/changeset/50018

Log:
Added Boost.Build integration and rebuilt type_traits as proof-of-concept.
Fixed a few bugs in the source.
Added:
   sandbox/tools/auto_index/auto-index.jam (contents, props changed)
Binary files modified:
   sandbox/tools/auto_index/example/type_traits/doc/type_traits.pdf
Text files modified:
   sandbox/tools/auto_index/build/Jamfile.v2 | 2
   sandbox/tools/auto_index/example/type_traits/doc/Jamfile.v2 | 7 ++
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/background.html | 22 ++++----
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/category/transform.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/intrinsics.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_const.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_cv.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_pointer.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_reference.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_volatile.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/decay.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/function_traits.html | 4
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/make_signed.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/promote.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_const.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_cv.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_extent.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_reference.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/index.html | 4
   sandbox/tools/auto_index/example/type_traits/doc/html/index/s10.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/index/s11.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/index/s12.html | 2
   sandbox/tools/auto_index/example/type_traits/doc/html/index/s13.html | 2
   sandbox/tools/auto_index/src/auto_index.cpp | 95 +++++++++++++++++++++++++++++++--------
   30 files changed, 120 insertions(+), 62 deletions(-)

Added: sandbox/tools/auto_index/auto-index.jam
==============================================================================
--- (empty file)
+++ sandbox/tools/auto_index/auto-index.jam 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -0,0 +1,186 @@
+
+import feature ;
+import generators ;
+import "class" ;
+import toolset ;
+import targets ;
+import "class" : new ;
+import project ;
+
+feature.feature auto-index : off "on" ;
+feature.feature auto-index-internal : off "on" ;
+feature.feature auto-index-verbose : off "on" ;
+feature.feature auto-index-no-duplicates : off "on" ;
+feature.feature auto-index-script : : free ;
+
+toolset.flags auto-index.auto-index FLAGS <auto-index-internal>on : --internal-index ;
+toolset.flags auto-index.auto-index SCRIPT <auto-index-script> ;
+toolset.flags auto-index.auto-index FLAGS <auto-index-verbose>on : --verbose ;
+toolset.flags auto-index.auto-index FLAGS <auto-index-no-duplicates>on : --no-duplicates ;
+
+# <auto-index-binary> shell command to run AutoIndex
+# <auto-index-binary-dependencies> targets to build AutoIndex from sources.
+feature.feature <auto-index-binary> : : free ;
+feature.feature <auto-index-binary-dependencies> : : free dependency ;
+
+class auto-index-generator : generator
+{
+ import common modules path targets build-system ;
+ rule run ( project name ? : property-set : sources * )
+ {
+ # AutoIndex invocation command and dependencies.
+ local auto-index-binary = [ modules.peek auto-index : .command ] ;
+ local auto-index-binary-dependencies ;
+
+ if $(auto-index-binary)
+ {
+ # Use user-supplied command.
+ auto-index-binary = [ common.get-invocation-command auto-index : auto-index : $(auto-index-binary) ] ;
+ }
+ else
+ {
+ # Search for AutoIndex sources in sensible places, like
+ # $(BOOST_ROOT)/tools/auto_index
+ # $(BOOST_BUILD_PATH)/../../auto_index
+
+ # And build auto-index executable from sources.
+
+ local boost-root = [ modules.peek : BOOST_ROOT ] ;
+ local boost-build-path = [ build-system.location ] ;
+ local boost-build-path2 = [ modules.peek : BOOST_BUILD_PATH ] ;
+
+ local auto-index-dir ;
+
+ if $(boost-root)
+ {
+ auto-index-dir += [ path.join $(boost-root) tools ] ;
+ }
+
+ if $(boost-build-path)
+ {
+ auto-index-dir += $(boost-build-path)/../.. ;
+ }
+ if $(boost-build-path2)
+ {
+ auto-index-dir += $(boost-build-path2)/.. ;
+ }
+
+ #ECHO $(auto-index-dir) ;
+ auto-index-dir = [ path.glob $(auto-index-dir) : auto_index ] ;
+ #ECHO $(auto-index-dir) ;
+
+ # If the AutoIndex source directory was found, mark its main target
+ # as a dependency for the current project. Otherwise, try to find
+ # 'auto-index' in user's PATH
+ if $(auto-index-dir)
+ {
+ auto-index-dir = [ path.make $(auto-index-dir[1]) ] ;
+ auto-index-dir = $(auto-index-dir)/build ;
+
+ #ECHO $(auto-index-dir) ;
+
+ # Get the main-target in AutoIndex directory.
+ local auto-index-main-target = [ targets.resolve-reference $(auto-index-dir) : $(project) ] ;
+
+ #ECHO $(auto-index-main-target) ;
+
+ # The first element are actual targets, the second are
+ # properties found in target-id. We do not care about these
+ # since we have passed the id ourselves.
+ auto-index-main-target =
+ [ $(auto-index-main-target[1]).main-target auto_index ] ;
+
+ #ECHO $(auto-index-main-target) ;
+
+ auto-index-binary-dependencies =
+ [ $(auto-index-main-target).generate [ $(property-set).propagated ] ] ;
+
+ # Ignore usage-requirements returned as first element.
+ auto-index-binary-dependencies = $(auto-index-binary-dependencies[2-]) ;
+
+ # Some toolsets generate extra targets (e.g. RSP). We must mark
+ # all targets as dependencies for the project, but we will only
+ # use the EXE target for auto-index-to-boostbook translation.
+ for local target in $(auto-index-binary-dependencies)
+ {
+ if [ $(target).type ] = EXE
+ {
+ auto-index-binary =
+ [ path.native
+ [ path.join
+ [ $(target).path ]
+ [ $(target).name ]
+ ]
+ ] ;
+ }
+ }
+ }
+ else
+ {
+ ECHO "AutoIndex warning: The path to the auto-index executable was" ;
+ ECHO " not provided. Additionally, couldn't find AutoIndex" ;
+ ECHO " sources searching in" ;
+ ECHO " * BOOST_ROOT/tools/auto-index" ;
+ ECHO " * BOOST_BUILD_PATH/../../auto-index" ;
+ ECHO " Will now try to find a precompiled executable by searching" ;
+ ECHO " the PATH for 'auto-index'." ;
+ ECHO " To disable this warning in the future, or to completely" ;
+ ECHO " avoid compilation of auto-index, you can explicitly set the" ;
+ ECHO " path to a auto-index executable command in user-config.jam" ;
+ ECHO " or site-config.jam with the call" ;
+ ECHO " using auto-index : /path/to/auto-index ;" ;
+
+ # As a last resort, search for 'auto-index' command in path. Note
+ # that even if the 'auto-index' command is not found,
+ # get-invocation-command will still return 'auto-index' and might
+ # generate an error while generating the virtual-target.
+
+ auto-index-binary = [ common.get-invocation-command auto-index : auto-index ] ;
+ }
+ }
+
+ # Add $(auto-index-binary-dependencies) as a dependency of the current
+ # project and set it as the <auto-index-binary> feature for the
+ # auto-index-to-boostbook rule, below.
+ property-set = [ $(property-set).add-raw
+ <dependency>$(auto-index-binary-dependencies)
+ <auto-index-binary>$(auto-index-binary)
+ <auto-index-binary-dependencies>$(auto-index-binary-dependencies)
+ ] ;
+
+ #ECHO "binary = " $(auto-index-binary) ;
+ #ECHO "dependencies = " $(auto-index-binary-dependencies) ;
+
+ if [ $(property-set).get <auto-index> ] = "on"
+ {
+ return [ generator.run $(project) $(name) : $(property-set) : $(sources) ] ;
+ }
+ else
+ {
+ return [ generators.construct $(project) $(name) : DOCBOOK : $(property-set)
+ : $(sources) ] ;
+ }
+ }
+}
+
+toolset.flags auto-index.auto-index AI-COMMAND <auto-index-binary> ;
+toolset.flags auto-index.auto-index AI-DEPENDENCIES <auto-index-binary-dependencies> ;
+
+generators.register [ class.new auto-index-generator auto-index.auto-index : DOCBOOK : DOCBOOK(%.modified) ] ;
+generators.override auto-index.auto-index : boostbook.boostbook-to-docbook ;
+
+rule auto-index ( target : source : properties * )
+{
+ # Signal dependency of auto-index sources on <auto-index-binary-dependencies>
+ # upon invocation of auto-index-to-boostbook.
+ #ECHO "AI-COMMAND= " $(AI-COMMAND) ;
+ DEPENDS $(target) : [ on $(target) return $(AI-DEPENDENCIES) ] ;
+ DEPENDS $(target) : [ on $(target) return $(SCRIPT) ] ;
+}
+
+actions auto-index
+{
+ $(AI-COMMAND) $(FLAGS) script=$(SCRIPT) in=$(>) out=$(<)
+}
+
+

Modified: sandbox/tools/auto_index/build/Jamfile.v2
==============================================================================
--- sandbox/tools/auto_index/build/Jamfile.v2 (original)
+++ sandbox/tools/auto_index/build/Jamfile.v2 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -2,6 +2,7 @@
 
 exe auto_index : ../src/auto_index.cpp ../src/tiny_xml.cpp /boost/regex /boost/filesystem
 : <define>BOOST_ALL_NO_LIB=1 <link>static
+: release
 ;
 
 install dist : auto_index ;
@@ -9,3 +10,4 @@
 
 
 
+

Modified: sandbox/tools/auto_index/example/type_traits/doc/Jamfile.v2
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/Jamfile.v2 (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/Jamfile.v2 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -4,6 +4,7 @@
 # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 using quickbook ;
+import auto-index ;
 
 path-constant boost-images : html/images ;
 
@@ -12,6 +13,10 @@
     :
         type_traits
     :
+ <auto-index>on
+ <format>pdf:<auto-index-internal>off
+ <format>html:<auto-index-internal>on
+ <auto-index-script>index.idx
         # Path for links to Boost:
         #<xsl:param>boost.root=../../../..
         # Path for libraries index:
@@ -68,5 +73,3 @@
 
 
 
-
-

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/background.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/background.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/background.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -56,7 +56,7 @@
       method available to them.
     </p>
 <a name="boost_typetraits.background.type_traits"></a><h5>
-<a name="id473418"></a>
+<a name="id473484"></a>
       <a class="link" href="background.html#boost_typetraits.background.type_traits">Type Traits</a>
     </h5>
 <p>
@@ -84,7 +84,7 @@
       given.
     </p>
 <a name="boost_typetraits.background.implementation"></a><h5>
-<a name="id473527"></a>
+<a name="id473588"></a>
       <a class="link" href="background.html#boost_typetraits.background.implementation">Implementation</a>
     </h5>
 <p>
@@ -174,7 +174,7 @@
       in the default template.
     </p>
 <a name="boost_typetraits.background.optimized_copy"></a><h5>
-<a name="id490308"></a>
+<a name="id490298"></a>
       <a class="link" href="background.html#boost_typetraits.background.optimized_copy">Optimized copy</a>
     </h5>
 <p>
@@ -247,7 +247,7 @@
       otherwise it will call the "slow but safe version".
     </p>
 <a name="boost_typetraits.background.was_it_worth_it_"></a><h5>
-<a name="id541873"></a>
+<a name="id541859"></a>
       <a class="link" href="background.html#boost_typetraits.background.was_it_worth_it_">Was it worth it?</a>
     </h5>
 <p>
@@ -280,7 +280,7 @@
       </li>
 </ul></div>
 <div class="table">
-<a name="id541949"></a><p class="title"><b>Table 1.1. Time taken to copy 1000 elements using `copy&lt;const
+<a name="id541939"></a><p class="title"><b>Table 1.1. Time taken to copy 1000 elements using `copy&lt;const
     T*, T*&gt;` (times in micro-seconds)</b></p>
 <div class="table-contents"><table class="table" summary="Time taken to copy 1000 elements using `copy&lt;const
     T*, T*&gt;` (times in micro-seconds)">
@@ -379,7 +379,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="boost_typetraits.background.pair_of_references"></a><h5>
-<a name="id542113"></a>
+<a name="id542102"></a>
       <a class="link" href="background.html#boost_typetraits.background.pair_of_references">Pair of References</a>
     </h5>
 <p>
@@ -416,7 +416,7 @@
       to hold non-reference types, references, and constant references:
     </p>
 <div class="table">
-<a name="id542458"></a><p class="title"><b>Table 1.2. Required Constructor Argument Types</b></p>
+<a name="id542445"></a><p class="title"><b>Table 1.2. Required Constructor Argument Types</b></p>
 <div class="table-contents"><table class="table" summary="Required Constructor Argument Types">
 <colgroup>
 <col>
@@ -481,7 +481,7 @@
       adds a reference to its type, unless it is already a reference.
     </p>
 <div class="table">
-<a name="id542583"></a><p class="title"><b>Table 1.3. Using add_reference to synthesize the correct constructor
+<a name="id542572"></a><p class="title"><b>Table 1.3. Using add_reference to synthesize the correct constructor
     type</b></p>
 <div class="table-contents"><table class="table" summary="Using add_reference to synthesize the correct constructor
     type">
@@ -598,7 +598,7 @@
       easier to maintain and easier to understand.
     </p>
 <a name="boost_typetraits.background.conclusion"></a><h5>
-<a name="id543171"></a>
+<a name="id543158"></a>
       <a class="link" href="background.html#boost_typetraits.background.conclusion">Conclusion</a>
     </h5>
 <p>
@@ -611,7 +611,7 @@
       can be optimal as well as generic.
     </p>
 <a name="boost_typetraits.background.acknowledgements"></a><h5>
-<a name="id543195"></a>
+<a name="id543196"></a>
       <a class="link" href="background.html#boost_typetraits.background.acknowledgements">Acknowledgements</a>
     </h5>
 <p>
@@ -619,7 +619,7 @@
       comments when preparing this article.
     </p>
 <a name="background.references"></a><a name="boost_typetraits.background.references"></a><h5>
-<a name="id543226"></a>
+<a name="id543227"></a>
       <a class="link" href="background.html#boost_typetraits.background.references">References</a>
     </h5>
 <div class="orderedlist"><ol type="1">

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/category/transform.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/category/transform.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/category/transform.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -91,7 +91,7 @@
 <span class="keyword">struct</span> <a class="link" href="../reference/remove_volatile.html" title="remove_volatile">remove_volatile</a><span class="special">;</span>
 </pre>
 <a name="boost_typetraits.category.transform.broken_compiler_workarounds_"></a><h5>
-<a name="id546647"></a>
+<a name="id546661"></a>
         <a class="link" href="transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">Broken
         Compiler Workarounds:</a>
       </h5>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/intrinsics.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/intrinsics.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/intrinsics.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -71,7 +71,7 @@
       of the following macros:
     </p>
 <div class="table">
-<a name="id548706"></a><p class="title"><b>Table 1.4. Macros for Compiler Intrinsics</b></p>
+<a name="id548718"></a><p class="title"><b>Table 1.4. Macros for Compiler Intrinsics</b></p>
 <div class="table-contents"><table class="table" summary="Macros for Compiler Intrinsics">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_const.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_const.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_const.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id553590"></a><p class="title"><b>Table 1.5. Examples</b></p>
+<a name="id553606"></a><p class="title"><b>Table 1.5. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_cv.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_cv.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_cv.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id554174"></a><p class="title"><b>Table 1.6. Examples</b></p>
+<a name="id554189"></a><p class="title"><b>Table 1.6. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_pointer.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_pointer.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_pointer.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -56,7 +56,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id554822"></a><p class="title"><b>Table 1.7. Examples</b></p>
+<a name="id554838"></a><p class="title"><b>Table 1.7. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_reference.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_reference.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_reference.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id555406"></a><p class="title"><b>Table 1.8. Examples</b></p>
+<a name="id555422"></a><p class="title"><b>Table 1.8. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_volatile.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_volatile.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/add_volatile.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id555981"></a><p class="title"><b>Table 1.9. Examples</b></p>
+<a name="id555996"></a><p class="title"><b>Table 1.9. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/decay.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/decay.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/decay.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -48,7 +48,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id557536"></a><p class="title"><b>Table 1.10. Examples</b></p>
+<a name="id557553"></a><p class="title"><b>Table 1.10. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/floating_point_promotion.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -49,7 +49,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id559320"></a><p class="title"><b>Table 1.11. Examples</b></p>
+<a name="id559337"></a><p class="title"><b>Table 1.11. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/function_traits.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/function_traits.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/function_traits.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -59,7 +59,7 @@
         </p></td></tr>
 </table></div>
 <div class="table">
-<a name="id559808"></a><p class="title"><b>Table 1.12. Function Traits Members</b></p>
+<a name="id559824"></a><p class="title"><b>Table 1.12. Function Traits Members</b></p>
 <div class="table-contents"><table class="table" summary="Function Traits Members">
 <colgroup>
 <col>
@@ -122,7 +122,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id560089"></a><p class="title"><b>Table 1.13. Examples</b></p>
+<a name="id560105"></a><p class="title"><b>Table 1.13. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/integral_promotion.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -49,7 +49,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id565687"></a><p class="title"><b>Table 1.14. Examples</b></p>
+<a name="id565705"></a><p class="title"><b>Table 1.14. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/make_signed.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/make_signed.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/make_signed.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id586321"></a><p class="title"><b>Table 1.15. Examples</b></p>
+<a name="id586339"></a><p class="title"><b>Table 1.15. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id586967"></a><p class="title"><b>Table 1.16. Examples</b></p>
+<a name="id586986"></a><p class="title"><b>Table 1.16. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/promote.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/promote.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/promote.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -51,7 +51,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id587675"></a><p class="title"><b>Table 1.17. Examples</b></p>
+<a name="id587693"></a><p class="title"><b>Table 1.17. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id589121"></a><p class="title"><b>Table 1.18. Examples</b></p>
+<a name="id589138"></a><p class="title"><b>Table 1.18. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_const.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_const.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_const.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id589848"></a><p class="title"><b>Table 1.19. Examples</b></p>
+<a name="id589865"></a><p class="title"><b>Table 1.19. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_cv.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_cv.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_cv.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id590556"></a><p class="title"><b>Table 1.20. Examples</b></p>
+<a name="id590573"></a><p class="title"><b>Table 1.20. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_extent.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_extent.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_extent.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -54,7 +54,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id591265"></a><p class="title"><b>Table 1.21. Examples</b></p>
+<a name="id591282"></a><p class="title"><b>Table 1.21. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id592006"></a><p class="title"><b>Table 1.22. Examples</b></p>
+<a name="id592023"></a><p class="title"><b>Table 1.22. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_reference.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_reference.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_reference.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id592690"></a><p class="title"><b>Table 1.23. Examples</b></p>
+<a name="id592708"></a><p class="title"><b>Table 1.23. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -53,7 +53,7 @@
         or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
       </p>
 <div class="table">
-<a name="id593301"></a><p class="title"><b>Table 1.24. Examples</b></p>
+<a name="id593319"></a><p class="title"><b>Table 1.24. Examples</b></p>
 <div class="table-contents"><table class="table" summary="Examples">
 <colgroup>
 <col>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/index.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/index.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/index.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -30,7 +30,7 @@
       Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
       Ramey and Jeremy Siek</p></div>
 <div><div class="legalnotice">
-<a name="id473793"></a><p>
+<a name="id477828"></a><p>
         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)
       </p>
@@ -165,7 +165,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: November 28, 2008 at 11:41:38 +0000</small></p></td>
+<td align="left"><p><small>Last revised: November 28, 2008 at 12:41:45 +0000</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/index/s10.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/index/s10.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/index/s10.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -24,7 +24,7 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id594086"></a>Class Index</h2></div></div></div>
+<a name="id594103"></a>Class Index</h2></div></div></div>
 <p><a class="link" href="s10.html#idx_id_0">A</a> <a class="link" href="s10.html#idx_id_1">D</a> <a class="link" href="s10.html#idx_id_2">E</a> <a class="link" href="s10.html#idx_id_3">F</a> <a class="link" href="s10.html#idx_id_4">H</a> <a class="link" href="s10.html#idx_id_5">I</a> <a class="link" href="s10.html#idx_id_6">M</a> <a class="link" href="s10.html#idx_id_7">P</a> <a class="link" href="s10.html#idx_id_8">R</a> <a class="link" href="s10.html#idx_id_9">T</a> </p>
 <div class="variablelist"><dl>
 <dt>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/index/s11.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/index/s11.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/index/s11.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -24,7 +24,7 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id598390"></a>Typedef Index</h2></div></div></div>
+<a name="id598408"></a>Typedef Index</h2></div></div></div>
 <p><a class="link" href="s11.html#idx_id_10">F</a> <a class="link" href="s11.html#idx_id_11">R</a> <a class="link" href="s11.html#idx_id_12">T</a> </p>
 <div class="variablelist"><dl>
 <dt>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/index/s12.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/index/s12.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/index/s12.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -24,7 +24,7 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id599476"></a>Macro Index</h2></div></div></div>
+<a name="id599493"></a>Macro Index</h2></div></div></div>
 <p><a class="link" href="s12.html#idx_id_13">B</a> </p>
 <div class="variablelist"><dl>
 <dt>

Modified: sandbox/tools/auto_index/example/type_traits/doc/html/index/s13.html
==============================================================================
--- sandbox/tools/auto_index/example/type_traits/doc/html/index/s13.html (original)
+++ sandbox/tools/auto_index/example/type_traits/doc/html/index/s13.html 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -23,7 +23,7 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id599861"></a>Index</h2></div></div></div>
+<a name="id599878"></a>Index</h2></div></div></div>
 <p><a class="link" href="s13.html#idx_id_14">A</a> <a class="link" href="s13.html#idx_id_15">B</a> <a class="link" href="s13.html#idx_id_16">C</a> <a class="link" href="s13.html#idx_id_17">D</a> <a class="link" href="s13.html#idx_id_18">E</a> <a class="link" href="s13.html#idx_id_19">F</a> <a class="link" href="s13.html#idx_id_20">G</a> <a class="link" href="s13.html#idx_id_21">H</a> <a class="link" href="s13.html#idx_id_22">I</a> <a class="link" href="s13.html#idx_id_23">M</a> <a class="link" href="s13.html#idx_id_24">O</a> <a class="link" href="s13.html#idx_id_25">P</a> <a class="link" href="s13.html#idx_id_26">R</a> <a class="link" href="s13.html#idx_id_27">S</a> <a class="link" href="s13.html#idx_id_28">T</a> <a class="link" href="s13.html#idx_id_29">U</a> </p>
 <div class="variablelist"><dl>
 <dt>

Modified: sandbox/tools/auto_index/example/type_traits/doc/type_traits.pdf
==============================================================================
Binary files. No diff available.

Modified: sandbox/tools/auto_index/src/auto_index.cpp
==============================================================================
--- sandbox/tools/auto_index/src/auto_index.cpp (original)
+++ sandbox/tools/auto_index/src/auto_index.cpp 2008-11-29 12:20:03 EST (Sat, 29 Nov 2008)
@@ -79,6 +79,7 @@
 std::multiset<index_info> index_terms;
 std::set<std::pair<std::string, std::string> > found_terms;
 bool no_duplicates = false;
+bool verbose = false;
 
 struct index_entry;
 typedef boost::shared_ptr<index_entry> index_entry_ptr;
@@ -209,11 +210,14 @@
       // not this tag itself:
       //
       title.prev->title = get_consolidated_content(node);
- std::cout << "Indexing section: " << title.prev->title << std::endl;
+ if(verbose)
+ std::cout << "Indexing section: " << title.prev->title << std::endl;
    }
    else if(node->name == "index")
    {
       indexes.push_back(node);
+ if(parent_node->name == "para")
+ parent_node->name = "";
    }
 
    //
@@ -345,6 +349,8 @@
 
 void scan_file(const char* file)
 {
+ if(verbose)
+ std::cout << "Scanning file... " << file << std::endl;
    static const boost::regex class_e(
          // possibly leading whitespace:
          "^[[:space:]]*"
@@ -371,6 +377,8 @@
    std::ifstream is(file);
    load_file(text, is);
    {
+ if(verbose)
+ std::cout << "Scanning for class names... " << std::endl;
       boost::sregex_token_iterator i(text.begin(), text.end(), class_e, 5), j;
       while(i != j)
       {
@@ -380,7 +388,8 @@
          info.category = "class_name";
          if(index_terms.count(info) == 0)
          {
- std::cout << "Indexing class " << info.term << std::endl;
+ if(verbose)
+ std::cout << "Indexing class " << info.term << std::endl;
             index_terms.insert(info);
          }
          ++i;
@@ -391,8 +400,10 @@
    // Now typedefs:
    //
    {
+ if(verbose)
+ std::cout << "Scanning for typedef names... " << std::endl;
       static const boost::regex typedef_exp(
- "typedef.+?(\\w+)\\s*;");
+ "typedef[^;{}#]+?(\\w+)\\s*;");
       boost::sregex_token_iterator i(text.begin(), text.end(), typedef_exp, 1), j;
       while(i != j)
       {
@@ -402,7 +413,8 @@
          info.category = "typedef_name";
          if(index_terms.count(info) == 0)
          {
- std::cout << "Indexing typedef " << info.term << std::endl;
+ if(verbose)
+ std::cout << "Indexing typedef " << info.term << std::endl;
             index_terms.insert(info);
          }
          ++i;
@@ -413,6 +425,8 @@
    // Now macros:
    //
    {
+ if(verbose)
+ std::cout << "Scanning for macro names... " << std::endl;
       static const boost::regex e(
          "^\\s*#\\s*define\\s+(\\w+)"
          );
@@ -425,7 +439,8 @@
          info.category = "macro_name";
          if(index_terms.count(info) == 0)
          {
- std::cout << "Indexing macro " << info.term << std::endl;
+ if(verbose)
+ std::cout << "Indexing macro " << info.term << std::endl;
             index_terms.insert(info);
          }
          ++i;
@@ -435,6 +450,8 @@
    // Now functions:
    //
    {
+ if(verbose)
+ std::cout << "Scanning for function names... " << std::endl;
       static const boost::regex e(
          "\\w+\\s+(\\w+)\\s*\\([^\\)]*\\)\\s*\\{"
          );
@@ -447,7 +464,8 @@
          info.category = "function_name";
          if(index_terms.count(info) == 0)
          {
- std::cout << "Indexing function " << info.term << std::endl;
+ if(verbose)
+ std::cout << "Indexing function " << info.term << std::endl;
             index_terms.insert(info);
          }
          ++i;
@@ -506,13 +524,13 @@
       "([^\"[:space:]]+|\"(?:[^\"\\\\]|\\\\.)+\")"
       "(?:"
          "[[:space:]]+"
- "([^\"[:space:]]+|\"(?:[^\"\\\\]|\\\\.)+\")"
+ "([^\"[:space:]]+|\"(?:[^\"\\\\]|\\\\.)*\")"
          "(?:"
             "[[:space:]]+"
- "([^\"[:space:]]+|\"(?:[^\"\\\\]|\\\\.)+\")"
+ "([^\"[:space:]]+|\"(?:[^\"\\\\]|\\\\.)*\")"
             "(?:"
                "[[:space:]]+"
- "([^\"[:space:]]+|\"(?:[^\"\\\\]|\\\\.)+\")"
+ "([^\"[:space:]]+|\"(?:[^\"\\\\]|\\\\.)*\")"
             ")?"
          ")?"
       ")?"
@@ -522,19 +540,24 @@
       "([^\"[:space:]]+|\"(?:[^\"\\\\]|\\\\.)+\")\\s+"
       "([^\"[:space:]]+|\"(?:[^\"\\\\]|\\\\.)+\")"
       );
+ if(verbose)
+ std::cout << "Processing script " << script << std::endl;
    boost::smatch what;
    std::string line;
    std::ifstream is(script);
    if(is.bad())
    {
- std::cerr << "Could not open script " << script << std::endl;
- return;
+ throw std::runtime_error("Could not open script file");
    }
    while(std::getline(is, line).good())
    {
       if(regex_match(line, what, scan_parser))
       {
          std::string f = unquote(what[1].str());
+ boost::filesystem::path base(script);
+ base.remove_filename();
+ base /= f;
+ f = base.file_string();
          scan_file(f.c_str());
       }
       else if(regex_match(line, what, scan_dir_parser))
@@ -542,6 +565,12 @@
          std::string d = unquote(what[1].str());
          std::string m = unquote(what[2].str());
          bool r = unquote(what[3].str()) == "true";
+ boost::filesystem::path base(script);
+ base.remove_filename();
+ base /= d;
+ d = base.directory_string();
+ if(verbose)
+ std::cout << "Scanning directory " << d << std::endl;
          scan_dir(d, m, r);
       }
       else if(regex_match(line, what, rewrite_parser))
@@ -577,8 +606,10 @@
             info.search_text = boost::regex(s, boost::regex::icase|boost::regex::perl);
          else
             info.search_text = boost::regex("\\<" + what.str(1) + "\\>", boost::regex::icase|boost::regex::perl);
- if(what[3].matched)
- info.search_id = unquote(what.str(3));
+
+ s = unquote(what.str(3));
+ if(s.size())
+ info.search_id = s;
          if(what[4].matched)
             info.category = unquote(what.str(4));
          index_terms.insert(info);
@@ -613,11 +644,7 @@
       }
 
       boost::tiny_xml::element_ptr navbar(new boost::tiny_xml::element());
- navbar->name = "simplelist";
- boost::tiny_xml::attribute attr;
- attr.name = "type";
- attr.value = "horiz";
- navbar->attributes.push_back(attr);
+ navbar->name = "para";
       node->elements.push_back(navbar);
 
       char last_c = 0;
@@ -639,8 +666,9 @@
                listentry.reset(new boost::tiny_xml::element());
                listentry->name = "varlistentry";
                boost::tiny_xml::attribute id;
- id.name = "ID";
+ id.name = "id";
                id.value = id_name;
+ listentry->attributes.push_back(id);
                boost::tiny_xml::element_ptr term(new boost::tiny_xml::element());
                term->name = "term";
                term->content.assign(&last_c, 1);
@@ -652,8 +680,10 @@
                sublist->name = "variablelist";
                listitem->elements.push_back(sublist);
                listentry->elements.push_back(listitem);
+
                boost::tiny_xml::element_ptr nav(new boost::tiny_xml::element());
- nav->name = "member";
+ nav->name = "";
+ nav->content = " ";
                boost::tiny_xml::element_ptr navlink(new boost::tiny_xml::element());
                navlink->name = "link";
                navlink->content = term->content;
@@ -661,7 +691,7 @@
                navid.name = "linkend";
                navid.value = id_name;
                navlink->attributes.push_back(navid);
- nav->elements.push_back(navlink);
+ navbar->elements.push_back(navlink);
                navbar->elements.push_back(nav);
             }
             boost::tiny_xml::element_ptr subentry(new boost::tiny_xml::element());
@@ -731,6 +761,8 @@
 
 int main(int argc, char* argv[])
 {
+ try{
+
    if(argc < 2)
       return help();
 
@@ -763,6 +795,15 @@
       {
          internal_indexes = true;
       }
+ else if(std::strcmp(argv[i], "--verbose") == 0)
+ {
+ verbose = true;
+ }
+ else
+ {
+ std::cerr << "Unrecognosed option " << argv[i] << std::endl;
+ return 1;
+ }
    }
 
    if(infile.empty())
@@ -800,5 +841,17 @@
    os << header << std::endl;
    boost::tiny_xml::write(*xml, os);
 
+ }
+ catch(const std::exception& e)
+ {
+ std::cerr << e.what() << std::endl;
+ return 1;
+ }
+ catch(const std::string& s)
+ {
+ std::cerr << s << std::endl;
+ return 1;
+ }
+
    return 0;
 }


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