Boost logo

Boost-Commit :

From: matias_at_[hidden]
Date: 2007-06-25 14:35:33


Author: matias
Date: 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
New Revision: 7144
URL: http://svn.boost.org/trac/boost/changeset/7144

Log:
Improving boost docs project repository

Added:
   sandbox/boost_docs/
   sandbox/boost_docs/branches/
   sandbox/boost_docs/sandbox/
   sandbox/boost_docs/sandbox/style_vault/
   sandbox/boost_docs/tags/
   sandbox/boost_docs/trunk/
   sandbox/boost_docs/trunk/doc/
   sandbox/boost_docs/trunk/doc/chapters.xml
   sandbox/boost_docs/trunk/doc/doc_test/
   sandbox/boost_docs/trunk/doc/doc_test/doc/
   sandbox/boost_docs/trunk/doc/doc_test/doc/--stringparam
   sandbox/boost_docs/trunk/doc/doc_test/doc/HTML4_symbols.qbk
   sandbox/boost_docs/trunk/doc/doc_test/doc/Jamfile.v2
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/HTML.manifest
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/basic_formatting.html
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/blurbs.html
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/code_blocks.html
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/images.html
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/introduction.html
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/lists_and_tables.html
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/test.html
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/beta_dist_kurtosis.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/digamma3.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/doctest.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/open_clipart_library_logo.svg
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/index.html
   sandbox/boost_docs/trunk/doc/doc_test/doc/html/sections.xml
   sandbox/boost_docs/trunk/doc/doc_test/doc/project-root.jam
   sandbox/boost_docs/trunk/doc/doc_test/doc/stub.cpp
   sandbox/boost_docs/trunk/doc/doc_test/doc/test.qbk
   sandbox/boost_docs/trunk/doc/doc_test/doc/test_HTML4_symbols.qbk
   sandbox/boost_docs/trunk/doc/javascript/
   sandbox/boost_docs/trunk/doc/javascript/common.js
   sandbox/boost_docs/trunk/doc/javascript/cookies.js
   sandbox/boost_docs/trunk/doc/javascript/load_file.js (contents, props changed)
   sandbox/boost_docs/trunk/doc/javascript/main.js
   sandbox/boost_docs/trunk/doc/javascript/nested_links/
   sandbox/boost_docs/trunk/doc/javascript/nested_links.js (contents, props changed)
   sandbox/boost_docs/trunk/doc/javascript/nested_links/css/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/css/grouped_links.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/jamfile.v2 (contents, props changed)
   sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/nested_links.qbk (contents, props changed)
   sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/HTML.manifest
   sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/images/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/images/grouped_links.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/index.html
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/example.qbk (contents, props changed)
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/jamfile.v2 (contents, props changed)
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/HTML.manifest
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/final.html
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first.html
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first/sub_b.html
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first/sub_c.html
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/second/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/second.html
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/second/sub_b.html
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/build_grouped_links.cpp
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/index.html
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/sections.xml
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/simple/
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/simple/boost_libs.xml
   sandbox/boost_docs/trunk/doc/javascript/nested_links/example/simple/simple.html
   sandbox/boost_docs/trunk/doc/javascript/nested_links/index.html (contents, props changed)
   sandbox/boost_docs/trunk/doc/javascript/style_switcher/
   sandbox/boost_docs/trunk/doc/javascript/style_switcher.js
   sandbox/boost_docs/trunk/doc/javascript/style_switcher/doc/
   sandbox/boost_docs/trunk/doc/javascript/style_switcher/doc/TODO
   sandbox/boost_docs/trunk/doc/style/
   sandbox/boost_docs/trunk/doc/style/html/
   sandbox/boost_docs/trunk/doc/style/html/blurbs.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/box_wrapper.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/callouts.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/conversion/
   sandbox/boost_docs/trunk/doc/style/html/conversion/boostbook_to_quickbook.css
   sandbox/boost_docs/trunk/doc/style/html/conversion/html_to_quickbook.css
   sandbox/boost_docs/trunk/doc/style/html/conversion/html_to_quickbook_general.css
   sandbox/boost_docs/trunk/doc/style/html/conversion/quickbook_common.css
   sandbox/boost_docs/trunk/doc/style/html/footer.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/general.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/header.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/headings.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/caution.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/important.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/note.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/caution.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/important.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/note.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/tip.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/warning.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/tip.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/admonitions/warning.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/bottom-left.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/bottom-right.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/bottom.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/bottom-left.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/bottom-right.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/bottom.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/top-left.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/top-right.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/top.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/top-left.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/top-right.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/top.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/1.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/10.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/11.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/12.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/13.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/14.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/15.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/2.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/3.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/4.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/5.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/6.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/7.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/8.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/callouts/9.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/footer/
   sandbox/boost_docs/trunk/doc/style/html/images/footer/background-left.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/footer/background-right.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/footer/background.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/header/
   sandbox/boost_docs/trunk/doc/style/html/images/header/background-more.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/header/background.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/navigation/
   sandbox/boost_docs/trunk/doc/style/html/images/navigation/home.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/navigation/next.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/navigation/prev.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/navigation/up.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/bc.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/cw.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/em.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/kd.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/sc.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/bc.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/cw.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/em.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/kd.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/sc.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/vs.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/images/syntax/vs.png (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/lists.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/main.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/nested_links.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/programlisting.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/spirit_nav.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/syntax/
   sandbox/boost_docs/trunk/doc/style/html/syntax.xml
   sandbox/boost_docs/trunk/doc/style/html/syntax/bc.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/syntax/cw.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/syntax/em.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/syntax/kd.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/syntax/sc.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/syntax/vs.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/table.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/html/toc.css (contents, props changed)
   sandbox/boost_docs/trunk/doc/style/pdf/
   sandbox/boost_docs/trunk/doc/style/pdf/images/
   sandbox/boost_docs/trunk/doc/style/pdf/images/DangerGeneral.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/caution.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/home.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/important.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/next.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/note.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/prev.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/tip.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/tip2.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/up.svg
   sandbox/boost_docs/trunk/doc/style/pdf/images/warning.svg
   sandbox/boost_docs/trunk/libs/
   sandbox/boost_docs/trunk/libs/smart_ptr/
   sandbox/boost_docs/trunk/libs/smart_ptr/doc/
   sandbox/boost_docs/trunk/libs/smart_ptr/doc/Jamfile.v2
   sandbox/boost_docs/trunk/libs/smart_ptr/doc/project-root.jam
   sandbox/boost_docs/trunk/libs/smart_ptr/doc/smart_ptr.qbk
   sandbox/boost_docs/trunk/tools/
   sandbox/boost_docs/trunk/tools/boostbook/
   sandbox/boost_docs/trunk/tools/boostbook/xsl/
   sandbox/boost_docs/trunk/tools/boostbook/xsl/admon.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/annotation.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/box-wrapper.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/callout.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/chunk-common.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/docbook-layout.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/docbook-params.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/docbook.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/error.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/fo.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/footer.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/function.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/global.xsl (contents, props changed)
   sandbox/boost_docs/trunk/tools/boostbook/xsl/header.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/html-single.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/html.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/index.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/javascript.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/library.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/lookup.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/macro.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/manpages.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/navbar.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/reference.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/relative-href.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/source-highlight.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/template.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/type.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/user-params.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/utility.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/xhtml.xsl
   sandbox/boost_docs/trunk/tools/boostbook/xsl/xref.xsl
   sandbox/boost_docs/trunk/tools/quickbook/
   sandbox/boost_docs/trunk/tools/quickbook/detail/
   sandbox/boost_docs/trunk/tools/quickbook/detail/actions.hpp (contents, props changed)

Added: sandbox/boost_docs/trunk/doc/chapters.xml
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/chapters.xml 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--=========================================================================
+
+ Grouped links for Boost Libraries documentation
+
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+
+===========================================================================-->
+
+
+<nestedLinks version="1.0">
+
+<title tag="Boost Libraries" href="index.html" />
+
+<link tag="Text processing" href="index.html" >
+<!--=======================================================================-->
+ <link tag="lexical_cast" href="conversion/lexical_cast.htm" />
+ <link tag="format" href="format/index.html" />
+ <link tag="iostreams" href="iostreams/doc/index.html" />
+ <link tag="regex" href="regex/index.html" />
+ <link tag="spirit" href="spirit/index.html" />
+ <link tag="string_algo" href="algorithm/string/index.html" />
+ <link tag="tokenizer" href="tokenizer/index.html" />
+ <link tag="wave" href="wave/index.html" />
+ <link tag="xpressive" href="xpressive/index.html" />
+
+</link>
+
+
+<link tag="Data structures" href="index.html" >
+<!--=======================================================================-->
+ <link tag="any" href="any/index.html" />
+ <link tag="array" href="array/index.html" />
+ <link tag="bimap" href="http://tinyhref.com/22sja5" />
+ <link tag="compressed_pair" href="utility/compressed_pair.htm" />
+ <link tag="dynamic_bitset" href="dynamic_bitset/dynamic_bitset.html" />
+ <link tag="graph" href="graph/doc/table_of_contents.html" />
+ <link tag="multi_array" href="multi_array/doc/index.html" />
+ <link tag="multi_index" href="multi_index/doc/index.html" />
+ <link tag="optional" href="libs/optional/doc/optional.html" />
+ <link tag="ptr_container" href="ptr_container/index.html" />
+ <link tag="property_map" href="property_map/property_map.html" />
+ <link tag="tribool" href="doc/html/tribool.html" />
+ <link tag="tuple" href="tuple/doc/tuple_users_guide.html" />
+ <link tag="variant" href="variant/index.html" />
+
+</link>
+
+
+<link tag="Algorithms" href="index.html" >
+<!--=======================================================================-->
+ <link tag="foreach" href="foreach/index.html" />
+ <link tag="minmax" href="algorithm/minmax/index.html" />
+ <link tag="range" href="range/index.html" />
+
+</link>
+
+
+<link tag="Functional" href="index.html" >
+<!--=======================================================================-->
+ <link tag="bind" href="bind/bind.html" />
+ <link tag="function" href="function/index.html" />
+ <link tag="functional" href="functional/index.htm" />
+ <link tag="hash" href="functional/hash/index.html" />
+ <link tag="lambda" href="lambda/index.html" />
+ <link tag="bind" href="bind/ref.html" />
+ <link tag="signals" href="signals/index.html" />
+ <link tag="result_of" href="utility/utility.htm#result_of" />
+
+</link>
+
+
+<link tag="Generic Programming" href="index.html" >
+<!--=======================================================================-->
+ <link tag="call_traits" href="utility/call_traits.htm" />
+ <link tag="concept_check" href="concept_check/concept_check.htm" />
+ <link tag="enable_if" href="utility/enable_if.html" />
+ <link tag="in_place_factory" href="utility/in_place_factories.html" />
+ <link tag="iterators" href="iterator/doc/index.html" />
+ <link tag="operators" href="utility/operators.htm" />
+ <link tag="typeof" href="typeof/index.html" />
+
+</link>
+
+
+<link tag="Metaprogramming" href="index.html" >
+<!--=======================================================================-->
+ <link tag="mpl" href="mpl/doc/index.html" />
+ <link tag="static_assert" href="static_assert/static_assert.htm" />
+ <link tag="type_traits" href="type_traits/index.html" />
+
+</link>
+
+
+<link tag="Concurrent" href="index.html" >
+<!--=======================================================================-->
+ <link tag="thread" href="thread/doc/index.html" />
+
+</link>
+
+
+<link tag="Math and numerics" href="index.html" >
+<!--=======================================================================-->
+ <link tag="math" href="math/doc/index.html" />
+ <link tag="conversion" href="numeric/conversion/index.html" />
+ <link tag="integer" href="integer/index.html" />
+ <link tag="interval" href="numeric/interval/doc/interval.htm" />
+ <link tag="random" href="random/index.html" />
+ <link tag="rational" href="rational/index.html" />
+ <link tag="ublas" href="numeric/ublas/doc/index.htm" />
+
+</link>
+
+
+<link tag="Input Output" href="index.html" >
+<!--=======================================================================-->
+ <link tag="io state savers" href="io/doc/ios_state.html" />
+ <link tag="program_options" href="../doc/html/program_options.html" />
+ <link tag="serialization" href="serialization/doc/index.html" />
+
+</link>
+
+
+<link tag="Memory" href="index.html" >
+<!--=======================================================================-->
+ <link tag="pool" href="pool/doc/index.html" />
+ <link tag="smart_ptr" href="smart_ptr/index.html" />
+ <link tag="utility" href="utility/utility.htm" />
+
+</link>
+
+
+<link tag="Miscellaneous" href="index.html" >
+<!--=======================================================================-->
+ <link tag="assign" href="assign/index.html" />
+ <link tag="base from member" href="utility/base_from_member.html" />
+ <link tag="crc" href="crc/index.html" />
+ <link tag="date_time" href="date_time/doc/index.html" />
+ <link tag="filesystem" href="filesystem/doc/index.htm" />
+ <link tag="parameter" href="parameter/doc/html/index.html" />
+ <link tag="preprocesor" href="preprocessor/doc/index.html" />
+ <link tag="python" href="python/doc/index.html" />
+ <link tag="timer" href="timer/index.html" />
+ <link tag="tr1" href="tr1/index.html" />
+ <link tag="statechart" href="statechart/doc/index.html" />
+ <link tag="value_initialized" href="utility/value_init.htm" />
+
+</link>
+
+
+<link tag="Compiler workarounds" href="index.html" >
+<!--=======================================================================-->
+ <link tag="compatibility" href="compatibility/index.html" />
+ <link tag="config" href="config/config.htm" />
+
+</link>
+
+
+
+</nestedLinks>
+

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/--stringparam
==============================================================================

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/HTML4_symbols.qbk
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/HTML4_symbols.qbk 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,253 @@
+[/ File Latin1_symbols.qbk
+Copyright 2006-2007 Paul A. Bristow.
+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).
+]
+
+
+[/ Symbols and Greek letters (about 120) from HTML4 ]
+[/ File HTML4_symbols.qbk]
+[/ See http://www.htmlhelp.com/reference/html40/entities/symbols.html]
+[/ All (except 2 angle brackets) show OK on Firefox 2.0]
+
+[/ Also some miscellaneous math charaters added to this list - see the end.]
+
+[/ To use, enclose the template name in square brackets.]
+
+[template fnof[]'''&#x192;'''] [/ � Latin small f with hook = function = florin]
+[template Alpha[]'''&#x391;'''] [/ ? Greek capital letter alpha]
+[template Beta[]'''&#x392;'''] [/ ? Greek capital letter beta]
+[template Gamma[]'''&#x393;'''] [/ G Greek capital letter gamma]
+[template Delta[]'''&#x394;'''] [/ ? Greek capital letter delta]
+[template Epsilon[]'''&#x395;'''] [/ ? Greek capital letter epsilon]
+[template Zeta[]'''&#x396;'''] [/ ? Greek capital letter zeta]
+[template Eta[]'''&#x397;'''] [/ ? Greek capital letter eta]
+[template Theta[]'''&#x398;'''] [/ T Greek capital letter theta]
+[template Iota[]'''&#x399;'''] [/ ? Greek capital letter iota]
+[template Kappa[]'''&#x39A;'''] [/ ? Greek capital letter kappa]
+[template Lambda[]'''&#x39B;'''] [/ ? Greek capital letter lambda]
+[template Mu[]'''&#x39C;'''] [/ ? Greek capital letter mu]
+[template Nu[]'''&#x39D;'''] [/ ? Greek capital letter nu]
+[template Xi[]'''&#x39E;'''] [/ ? Greek capital letter xi]
+[template Omicron[]'''&#x39F;'''] [/ ? Greek capital letter omicron]
+[template Pi[]'''&#x3A0;'''] [/ ? Greek capital letter pi]
+[template Rho[]'''&#x3A1;'''] [/ ? Greek capital letter rho]
+[template Sigma[]'''&#x3A3;'''] [/ S Greek capital letter sigma]
+[template Tau[]'''&#x3A4;'''] [/ ? Greek capital letter tau]
+[template Upsilon[]'''&#x3A5;'''] [/ ? Greek capital letter upsilon]
+[template Phi[]'''&#x3A6;'''] [/ F Greek capital letter phi]
+[template Chi[]'''&#x3A7;'''] [/ ? Greek capital letter chi]
+[template Psi[]'''&#x3A8;'''] [/ ? Greek capital letter psi]
+[template Omega[]'''&#x3A9;'''] [/ O Greek capital letter omega]
+[template alpha[]'''&#x3B1;'''] [/ a Greek small letter alpha]
+[template beta[]'''&#x3B2;'''] [/ � Greek small letter beta]
+[template gamma[]'''&#x3B3;'''] [/ ? Greek small letter gamma]
+[template delta[]'''&#x3B4;'''] [/ d Greek small letter delta]
+[template epsilon[]'''&#x3B5;'''] [/ e Greek small letter epsilon]
+[template zeta[]'''&#x3B6;'''] [/ ? Greek small letter zeta]
+[template eta[]'''&#x3B7;'''] [/ ? Greek small letter eta]
+[template theta[]'''&#x3B8;'''] [/ ? Greek small letter theta]
+[template iota[]'''&#x3B9;'''] [/ ? Greek small letter iota]
+[template kappa[]'''&#x3BA;'''] [/ ? Greek small letter kappa]
+[template lambda[]'''&#x3BB;'''] [/ ? Greek small letter lambda]
+[template mu[]'''&#x3BC;'''] [/ � Greek small letter mu]
+[template nu[]'''&#x3BD;'''] [/ ? Greek small letter nu]
+[template xi[]'''&#x3BE;'''] [/ ? Greek small letter xi]
+[template omicron[]'''&#x3BF;'''] [/ ? Greek small letter omicron]
+[template pi[]'''&#x3C0;'''] [/ p Greek small letter pi]
+[template rho[]'''&#x3C1;'''] [/ ? Greek small letter rho]
+[template sigmaf[]'''&#x3C2;'''] [/ ? Greek small letter final sigma]
+[template sigma[]'''&#x3C3;'''] [/ s Greek small letter sigma]
+[template tau[]'''&#x3C4;'''] [/ t Greek small letter tau]
+[template upsilon[]'''&#x3C5;'''] [/ ? Greek small letter upsilon]
+[template phi[]'''&#x3C6;'''] [/ f Greek small letter phi]
+[template chi[]'''&#x3C7;'''] [/ ? Greek small letter chi]
+[template psi[]'''&#x3C8;'''] [/ ? Greek small letter psi]
+[template omega[]'''&#x3C9;'''] [/ ? Greek small letter omega]
+[template thetasym[]'''&#x3D1;'''] [/ ? Greek small letter theta symbol]
+[template upsih[]'''&#x3D2;'''] [/ ? Greek upsilon with hook symbol]
+[template piv[]'''&#x3D6;'''] [/ ? Greek pi symbol]
+[template bull[]'''&#x2022;'''] [/ � bullet = black small circle]
+[template hellip[]'''&#x2026;'''] [/ � horizontal ellipsis = three dot leader]
+[template prime[]'''&#x2032;'''] [/ ' prime = minutes = feet]
+[template Prime[]'''&#x2033;'''] [/ ? double prime = seconds = inches]
+[template oline[]'''&#x203E;'''] [/ ? overline = spacing overscore]
+[template frasl[]'''&#x2044;'''] [/ / fraction slash]
+[template weierp[]'''&#x2118;'''] [/ P script capital P = power set = Weierstrass p]
+[template image[]'''&#x2111;'''] [/ I blackletter capital I = imaginary part]
+[template real[]'''&#x211C;'''] [/ R blackletter capital R = real part symbol]
+[template trade[]'''&#x2122;'''] [/ � trade mark sign]
+[template alefsym[]'''&#x2135;'''] [/ ? alef symbol = first transfinite cardinal]
+[template larr[]'''&#x2190;'''] [/ ? leftwards arrow]
+[template uarr[]'''&#x2191;'''] [/ ? upwards arrow]
+[template rarr[]'''&#x2192;'''] [/ ? rightwards arrow]
+[template darr[]'''&#x2193;'''] [/ ? downwards arrow]
+[template harr[]'''&#x2194;'''] [/ ? left right arrow]
+[template crarr[]'''&#x21B5;'''] [/ ? downwards arrow with corner leftwards = CR]
+[template lArr[]'''&#x21D0;'''] [/ ? leftwards double arrow]
+[template uArr[]'''&#x21D1;'''] [/ ? upwards double arrow]
+[template rArr[]'''&#x21D2;'''] [/ ? rightwards double arrow]
+[template dArr[]'''&#x21D3;'''] [/ ? downwards double arrow]
+[template hArr[]'''&#x21D4;'''] [/ ? left right double arrow]
+[template forall[]'''&#x2200;'''] [/ ? for all]
+[template part[]'''&#x2202;'''] [/ ? partial differential]
+[template exist[]'''&#x2203;'''] [/ ? there exists]
+[template empty[]'''&#x2205;'''] [/ � empty set = null set = diameter]
+[template nabla[]'''&#x2207;'''] [/ ? nabla = backward difference]
+[template isin[]'''&#x2208;'''] [/ ? element of]
+[template notin[]'''&#x2209;'''] [/ ? not an element of]
+[template ni[]'''&#x220B;'''] [/ ? contains as member]
+[template prod[]'''&#x220F;'''] [/ ? n-ary product = product sign]
+[template sum[]'''&#x2211;'''] [/ ? n-ary sumation]
+[template minus[]'''&#x2212;'''] [/ - minus sign]
+[template lowast[]'''&#x2217;'''] [/ * asterisk operator]
+[template radic[]'''&#x221A;'''] [/ v square root = radical sign]
+[template prop[]'''&#x221D;'''] [/ ? proportional to]
+[template infin[]'''&#x221E;'''] [/ 8 infinity]
+[template ang[]'''&#x2220;'''] [/ ? angle]
+[template and[]'''&#x2227;'''] [/ ? logical and = wedge]
+[template or[]'''&#x2228;'''] [/ ? logical or = vee]
+[template cap[]'''&#x2229;'''] [/ n intersection = cap]
+[template cup[]'''&#x222A;'''] [/ ? union = cup]
+[template int[]'''&#x222B;'''] [/ ? integral]
+[template there4[]'''&#x2234;'''] [/ ? therefore]
+[template sim[]'''&#x223C;'''] [/ ~ tilde operator = varies with = similar to]
+[template cong[]'''&#x2245;'''] [/ ? approximately equal to]
+[template asymp[]'''&#x2248;'''] [/ � almost equal to = asymptotic to]
+[template ne[]'''&#x2260;'''] [/ ? not equal to]
+[template equiv[]'''&#x2261;'''] [/ = identical to]
+[template le[]'''&#x2264;'''] [/ = less-than or equal to]
+[template ge[]'''&#x2265;'''] [/ = greater-than or equal to]
+[template subset[]'''&#x2282;'''] [/ ? subset of]
+[template superset[]'''&#x2283;'''] [/ ? superset of]
+[template nsubset[]'''&#x2284;'''] [/ ? not a subset of]
+[template sube[]'''&#x2286;'''] [/ ? subset of or equal to]
+[template supe[]'''&#x2287;'''] [/ ? superset of or equal to]
+[template oplus[]'''&#x2295;'''] [/ ? circled plus = direct sum]
+[template otimes[]'''&#x2297;'''] [/ ? circled times = vector product]
+[template perp[]'''&#x22A5;'''] [/ ? up tack = orthogonal to = perpendicular]
+[template sdot[]'''&#x22C5;'''] [/ � dot operator]
+[template lceil[]'''&#x2308;'''] [/ ? left ceiling = APL upstile]
+[template rceil[]'''&#x2309;'''] [/ ? right ceiling]
+[template lfloor[]'''&#x230A;'''] [/ ? left floor = APL downstile]
+[template rfloor[]'''&#x230B;'''] [/ ? right floor]
+[template lang[]'''&#x2329;'''] [/ < left-pointing angle bracket = bra (Firefox shows ?)]
+[template rang[]'''&#x232A;'''] [/ > right-pointing angle bracket = ket (Firefox shows ?)]
+[template loz[]'''&#x25CA;'''] [/ ? lozenge]
+[template spades[]'''&#x2660;'''] [/ ? black spade suit]
+[template clubs[]'''&#x2663;'''] [/ ? black club suit = shamrock]
+[template hearts[]'''&#x2665;'''] [/ ? black heart suit = valentine]
+[template diams[]'''&#x2666;'''] [/ ? black diamond suit]
+
+[/ Other symbols, not in the HTML4 list:]
+[template space[]''' ''']
+[template plusminus[]'''&#x00B1;'''] [/ ? plus or minus sign]
+
+
+[/ Symbols and accented letters from Latin-1]
+[/ File Latin1_symbols.qbk]
+[/ http://www.htmlhelp.com/reference/html40/entities/latin1.html ]
+[/ based on table Copyright </copyright.html> 1998-2006 Liam Quinn.]
+[/ Glyphs <http://www.unicode.org/charts/> of the characters ]
+[/ are available at the Unicode Consortium <http://www.unicode.org/>. ]
+
+[template nbsp[]'''&#xA0;'''] [/ no-break space = non-breaking space]
+[template iexcl[]'''&#xA1;'''] [/ inverted exclamation mark ]
+[template cent[]'''&#xA2;'''] [/ cent sign ]
+[template pound[]'''&#xA3;'''] [/ pound sign ]
+[template curren[]'''&#xA4;'''] [/ currency sign ]
+[template yen[]'''&#xA5;'''] [/ yen sign = yuan sign ]
+[template brvbar[]'''&#xA6;'''] [/ broken vertical bar ]
+[template sectsign[]'''&#xA7;'''] [/ section sign ]
+[template uml[]'''&#xA8;'''] [/ diaeresis ]
+[template copy[]'''&#xA9;'''] [/ copyright ]
+[template ordf[]'''&#xAA;'''] [/ feminine ordinal indicator ]
+[template laquo[]'''&#xAB;'''] [/ left-pointing double angle quotation mark = left pointing guillemet ]
+[template not[]'''&#xAC;'''] [/ not sign ]
+[template shy[]'''&#xAD;'''] [/ soft hyphen = discretionary hyphen ]
+[template reg[]'''&#xAE;'''] [/ registered sign = registered trade mark sign ]
+[template macron[]'''&#xAF;'''] [/ macron = spacing macron = overline = APL overbar ]
+[template deg[]'''&#xB0;'''] [/ degree sign ]
+[template plusmn[]'''&#xB1;'''] [/ plus-minus sign = plus-or-minus sign ]
+[template sup2[]'''&#xB2;'''] [/ superscript two = superscript digit two = squared ]
+[template cubed[]'''&#xB3;'''] [/ superscript three = superscript digit three = cubed ]
+[template acute[]'''&#xB4;'''] [/ acute accent = spacing acute ]
+[template micro[]'''&#xB5;'''] [/ micro sign ]
+[template para[]'''&#xB6;'''] [/ pilcrow sign = paragraph sign ]
+[template middot[]'''&#xB7;'''] [/ middle dot = Georgian comma = Greek middle dot ]
+[template cedil[]'''&#xB8;'''] [/ cedilla = spacing cedilla ]
+[template sup1[]'''&#xB9;'''] [/ superscript one = superscript digit one ]
+[template ordm[]'''&#xBA;'''] [/ masculine ordinal indicator ]
+[template raquo[]'''&#xBB;'''] [/ right-pointing double angle quotation mark = right pointing guillemet ]
+[template frac14[]'''&#xBC;'''] [/ vulgar fraction one quarter = fraction one quarter ]
+[template frac12[]'''&#xBD;'''] [/ vulgar fraction one half = fraction one half ]
+[template frac34[]'''&#xBE;'''] [/vulgar fraction three quarters = fraction three quarters ]
+[template iquest[]'''&#xBF;'''] [/ inverted question mark = turned question mark ]
+[template Agrave[]'''&#xC0;'''] [/ Latin capital letter A with grave = Latin capital letter A grave ]
+[template Aacute[]'''&#xC1;'''] [/ Latin capital letter A with acute = Latin capital letter A acute ]
+[template Acirc[]'''&#xC2;'''] [/ Latin capital letter A with circumflex ]
+[template Atilde[]'''&#xC3;'''] [/Latin capital letter A with tilde ]
+[template Auml[]'''&#xC4;'''] [/ Latin capital letter A with diaeresis ]
+[template Aring[]'''&#xC5;'''] [/ Latin capital letter A with ring above = Latin capital letter A ring ]
+[template AElig[]'''&#xC6;'''] [/ Latin capital letter AE = Latin capital ligature AE ]
+[template Ccedil[]'''&#xC7;'''] [/ Latin capital letter C with cedilla ]
+[template Egrave[]'''&#xC8;'''] [/ Latin capital letter E with grave ]
+[template Eacute[]'''&#xC9;'''] [/ Latin capital letter E with acute ]
+[template Ecirc[]'''&#xCA;'''] [/ Latin capital letter E with circumflex ]
+[template Euml[]'''&#xCB;'''] [/ Latin capital letter E with diaeresis ]
+[template Igrave[]'''&#xCC;'''] [/ Latin capital letter I with grave ]
+[template Iacute[]'''&#xCD;'''] [/ Latin capital letter I with acute ]
+[template Icirc[]'''&#xCE;'''] [/ Latin capital letter I with circumflex ]
+[template Iuml[]'''&#xCF;'''] [/ Latin capital letter I with diaeresis ]
+[template ETH[]'''&#xD0;'''] [/ Latin capital letter ETH ]
+[template Ntilde[]'''&#xD1;'''] [/ Latin capital letter N with tilde ]
+[template Ograve[]'''&#xD2;'''] [/ Latin capital letter O with grave]
+[template Oacute[]'''&#xD3;'''] [/ Latin capital letter O with acute ]
+[template Ocirc[]'''&#xD4;'''] [/ Latin capital letter O with circumflex ]
+[template Otilde[]'''&#xD5;'''] [/ Latin capital letter O with tilde ]
+[template Ouml[]'''&#xD6;'''] [/ Latin capital letter O with diaeresis ]
+[template times[]'''&#xD7;'''] [/ multiplication sign ]
+[template Oslash[]'''&#xD8;'''] [/ Latin capital letter O with stroke = Latin capital letter O slash ]
+[template Ugrave[]'''&#xD9;'''] [/ Latin capital letter U with grave ]
+[template Uacute[]'''&#xDA;'''] [/ Latin capital letter U with acute ]
+[template Ucirc[]'''&#xDB;'''] [/ Latin capital letter U with circumflex ]
+[template Uuml[]'''&#xDC;'''] [/ Latin capital letter U with diaeresis ]
+[template Yacute[]'''&#xDD;'''] [/ Latin capital letter Y with acute ]
+[template THORN[]'''&#xDE;'''] [/ Latin capital letter THORN ]
+[template szlig[]'''&#xDF;'''] [/ Latin small letter sharp s = ess-zed ]
+[template agrave[]'''&#xE0;'''] [/ Latin small letter a with grave = Latin small letter a grave ]
+[template aacute[]'''&#xE1;'''] [/ Latin small letter a with acute ]
+[template acirc[]'''&#xE2;'''] [/ Latin small letter a with circumflex ]
+[template atilde[]'''&#xE3;'''] [/ Latin small letter a with tilde ]
+[template auml[]'''&#xE4;'''] [/ Latin small letter a with diaeresis ]
+[template aring[]'''&#xE5;'''] [/ Latin small letter a with ring above = Latin small letter a ring ]
+[template aelig[]'''&#xE6;'''] [/ Latin small letter ae = Latin small ligature ae ]
+[template ccedil[]'''&#xE7;'''] [/ Latin small letter c with cedilla ]
+[template egrave[]'''&#xE8;'''] [/ Latin small letter e with grave ]
+[template eacute[]'''&#xE9;'''] [/ Latin small letter e with acute ]
+[template ecirc[]'''&#xEA;'''] [/ Latin small letter e with circumflex ]
+[template euml[]'''&#xEB;'''] [/ Latin small letter e with diaeresis ]
+[template igrave[]'''&#xEC;'''] [/ Latin small letter i with grave ]
+[template iacute[]'''&#xED;'''] [/ Latin small letter i with acute ]
+[template icirc[]'''&#xEE;'''] [/ Latin small letter i with circumflex ]
+[template iuml[]'''&#xEF;'''] [/ Latin small letter i with diaeresis ]
+[template eth[]'''&#xF0;'''] [/ Latin small letter eth ]
+[template ntilde[]'''&#xF1;'''] [/ Latin small letter n with tilde ]
+[template ograve[]'''&#xF2;'''] [/Latin small letter o with grave ]
+[template oacute[]'''&#xF3;'''] [/ Latin small letter o with acute ]
+[template ocirc[]'''&#xF4;'''] [/ Latin small letter o with circumflex ]
+[template otilde[]'''&#xF5;'''] [/ Latin small letter o with tilde ]
+[template ouml[]'''&#xF6;'''] [/ Latin small letter o with diaeresis ]
+[template divide[]'''&#xF7;'''] [/ division sign ]
+[template oslash[]'''&#xF8;'''] [/ Latin small letter o with stroke = Latin small letter o slash ]
+[template ugrave[]'''&#xF9;'''] [/ Latin small letter u with grave ]
+[template uacute[]'''&#xFa;'''] [/ Latin small letter u with acute ]
+[template ucirc[]'''&#xFB;'''] [/ Latin small letter u with circumflex ]
+[template uuml[]'''&#xFC;'''] [/ Latin small letter u with diaeresis ]
+[template yacute[]'''&#xFD;'''] [/ Latin small letter y with acute ]
+[template thorn[]'''&#xFE;'''] [/ Latin small letter thorn ]
+[template yuml[]'''&#xFF;'''] [/ Latin small letter y with diaeresis ]
+
+
+

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/Jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/Jamfile.v2 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,66 @@
+
+# Copyright John Maddock 2005. Use, modification, and distribution are
+# subject to 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)
+
+using quickbook ;
+
+xml test : test.qbk ;
+boostbook standalone
+ :
+ test
+ :
+ # HTML options first:
+ #======================================================================
+
+ # Include a logo in the first page
+ <xsl:param>chapter.logo.img="'images/doctest.png'"
+
+ # Include "Quicbook source" alternate stlysheet
+ <xsl:param>quickbook.source.style.show="'true'"
+
+ # How far down we chunk nested sections, basically all of them:
+ <xsl:param>chunk.section.depth=1
+ # Don't put the first section on the same page as the TOC:
+ <xsl:param>chunk.first.sections=1
+ # How far down sections get TOC's
+ <xsl:param>toc.section.depth=10
+ # Max depth in each TOC:
+ <xsl:param>toc.max.depth=4
+ # How far down we go with TOC's
+ <xsl:param>generate.section.toc.level=10
+
+
+ # PDF Options:
+ #======================================================================
+
+ # TOC Generation: this is needed for FOP-0.9 and later:
+ # <xsl:param>fop1.extensions=1
+ <xsl:param>xep.extensions=1
+ # TOC generation: this is needed for FOP 0.2, but must not be set to
+ # zero for FOP-0.9!
+ <xsl:param>fop.extensions=0
+ # No indent on body text:
+ <xsl:param>body.start.indent=0pt
+ # Margin size:
+ <xsl:param>page.margin.inner=0.5in
+ # Margin size:
+ <xsl:param>page.margin.outer=0.5in
+ # Yes, we want graphics for admonishments:
+ <xsl:param>admon.graphics=1
+ # Set this one for PDF generation *only*:
+ # default pnd graphics are awful in PDF form,
+ # better use SVG's instead:
+ #<xsl:param>admon.graphics.extension=".svg"
+ ;
+
+
+
+
+
+
+
+
+
+
+

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/HTML.manifest 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,8 @@
+index.html
+document_to_test_formatting/introduction.html
+document_to_test_formatting/code_blocks.html
+document_to_test_formatting/basic_formatting.html
+document_to_test_formatting/blurbs.html
+document_to_test_formatting/lists_and_tables.html
+document_to_test_formatting/images.html
+document_to_test_formatting/test.html

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/basic_formatting.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/basic_formatting.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,411 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Basic Formatting</title><link rel="stylesheet" href="../../../../../doc/style/html/main.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="../index.html" title="Document To Test Formatting" /><link rel="up" href="../index.html" title="Document To Test Formatting" /><link rel="prev" href="code_blocks.html" title="Code Blocks" /><link rel="next" href="blurbs.html" title="Blurbs" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../../doc/chapters.xml',
+ '../../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ '../sections.xml',
+ '.././');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="code_blocks.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="blurbs.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title">
+ <a id="document_to_test_formatting.basic_formatting"></a>
+ Basic Formatting
+ </h2>
+ </div>
+ </div>
+ </div>
+ <div class="toc">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.font_styles">Font
+ Styles</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.replaceable_text">Replaceable
+ Text</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Quotations
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.inline_code">Inline
+ Code</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Links
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Footnotes
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Blockquote
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Headings
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.basic_formatting.font_styles"></a>
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.font_styles" title="Font Styles">Font
+ Styles</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Here we go with some inline formatting: <span class="emphasis"><em>italic</em></span>, <span class="bold"><strong>bold</strong></span>, <span class="underline">underline</span>,
+ <code class="literal">teletype</code>, <span class="strikethrough">strikethrough</span>,
+ we can combine styles as well: <span class="emphasis"><em><span class="bold"><strong>bold italic</strong></span></em></span>,
+ <span class="underline"><code class="literal">teletype with underline</code></span>.
+ </p>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.basic_formatting.replaceable_text"></a>
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.replaceable_text" title="Replaceable Text">Replaceable
+ Text</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Text that is intended to be user-replaceable is
+ <em class="replaceable"><code>
+ rendered like this
+ </code></em>
+ .
+ </p>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.basic_formatting.quotations"></a>
+ Quotations
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Here we go: “<span class="quote">A question that sometimes drives me hazy: am I or are
+ the others crazy?</span>”--Einstein
+ </p>
+ <p>
+ Note the proper left and right quote marks. Also, while you can simply use
+ ordinary quote marks like "quoted", our quotation, above, will
+ generate correct DocBook quotations (e.g. &lt;quote&gt;quoted&lt;/quote&gt;).
+ </p>
+ <p>
+ Like all phrase elements, quotations may be nested. Example:
+ </p>
+ <p>
+ “<span class="quote">Here's the rule for bargains: ‘<span class="quote">Do other men, for they would
+ do you.</span>’ That's the true business precept.</span>”
+ </p>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.basic_formatting.inline_code"></a>
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.inline_code" title="Inline Code">Inline
+ Code</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ This text has inlined code <code class="computeroutput"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span> <span class="special">}</span></code>
+ in it. The code should be syntax highlighted.
+ </p>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.basic_formatting.links"></a>
+ Links
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Try this: <a href="http://www.boost.org">this is <span class="bold"><strong>boost's</strong></span>
+ website....</a> it should be visible as a link.
+ </p>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.basic_formatting.footnotes"></a>
+ Footnotes
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Here's one
+ <sup>[<a id="id2580901" href="#ftn.id2580901">1</a>]</sup>
+ .
+ </p>
+ <p>
+ And here's another
+ <sup>[<a id="id2580912" href="#ftn.id2580912">2</a>]</sup>
+ .
+ </p>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.basic_formatting.blockquote"></a>
+ Blockquote
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Lets indent the next paragraph:
+ </p>
+ <div class="blockquote">
+ <blockquote class="blockquote">
+ <p>
+ </p>
+ <p>
+ Here we go!!!
+ </p>
+ <p>
+ </p>
+ </blockquote>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.basic_formatting.headings"></a>
+ Headings
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Now try rendering some heading styles:
+ </p>
+ <a id="document_to_test_formatting.basic_formatting.headings.heading_1"></a>
+ <h2><a id="id2580986"></a>
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.headings.heading_1">Heading
+ 1</a>
+ </h2>
+ <a id="document_to_test_formatting.basic_formatting.headings.heading_2"></a>
+ <h3><a id="id2581008"></a>
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.headings.heading_2">Heading
+ 2</a>
+ </h3>
+ <a id="document_to_test_formatting.basic_formatting.headings.heading_3"></a>
+ <h4><a id="id2581030"></a>
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.headings.heading_3">Heading
+ 3</a>
+ </h4>
+ <a id="document_to_test_formatting.basic_formatting.headings.heading_4"></a>
+ <h5><a id="id2581052"></a>
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.headings.heading_4">Heading
+ 4</a>
+ </h5>
+ <a id="document_to_test_formatting.basic_formatting.headings.heading_5"></a>
+ <h6><a id="id2581074"></a>
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.headings.heading_5">Heading
+ 5</a>
+ </h6>
+ <a id="document_to_test_formatting.basic_formatting.headings.heading_6"></a>
+ <h4><a id="id2581097"></a>
+ <a href="basic_formatting.html#document_to_test_formatting.basic_formatting.headings.heading_6">Heading
+ 6</a>
+ </h4>
+ </div>
+ <div class="footnotes">
+ <div class="footnote">
+ <p><sup>[<a id="ftn.id2580901" href="#id2580901">1</a>] </sup>
+ A sample footnote
+ </p>
+ </div>
+ <div class="footnote">
+ <p><sup>[<a id="ftn.id2580912" href="#id2580912">2</a>] </sup>
+ Another sample footnote
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="code_blocks.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="blurbs.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p>Copyright © 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias
+ Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/blurbs.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/blurbs.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,440 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Blurbs</title><link rel="stylesheet" href="../../../../../doc/style/html/main.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="../index.html" title="Document To Test Formatting" /><link rel="up" href="../index.html" title="Document To Test Formatting" /><link rel="prev" href="basic_formatting.html" title="Basic Formatting" /><link rel="next" href="lists_and_tables.html" title="Lists and Tables" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../../doc/chapters.xml',
+ '../../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ '../sections.xml',
+ '.././');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="basic_formatting.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="lists_and_tables.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title">
+ <a id="document_to_test_formatting.blurbs"></a>
+ Blurbs
+ </h2>
+ </div>
+ </div>
+ </div>
+ <div class="toc">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="blurbs.html#document_to_test_formatting.blurbs.preformatted_text">Preformatted
+ text</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Admonishments
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Blurbs
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.blurbs.preformatted_text"></a>
+ <a href="blurbs.html#document_to_test_formatting.blurbs.preformatted_text" title="Preformatted text">Preformatted
+ text</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Here's some sample program output:
+ </p>
+ <div class="programlisting">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="style-switcher-box" id="id2581153">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id2581153',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+</div>
+ <pre>F test for equal standard deviations
+____________________________________
+
+Sample 1:
+Number of Observations = 240
+Sample Standard Deviation = 65.549
+
+Sample 2:
+Number of Observations = 240
+Sample Standard Deviation = 61.854
+
+Test Statistic = 1.123
+
+CDF of test statistic: = 8.148e-001
+Upper Critical Value at alpha: = 1.238e+000
+Upper Critical Value at alpha/2: = 1.289e+000
+Lower Critical Value at alpha: = 8.080e-001
+Lower Critical Value at alpha/2: = 7.756e-001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Standard deviations are unequal (two sided test) REJECTED
+Standard deviation 1 is less than standard deviation 2 REJECTED
+Standard deviation 1 is greater than standard deviation 2 REJECTED
+</pre>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.blurbs.admonishments"></a>
+ Admonishments
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ There are four admonishments supported by Docbook XML:
+ </p>
+ <div class="note">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="admonition-graphic">
+ <div class="admonition-icon">
+ <div class="note-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Note</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ This is a note
+ </p>
+ <p>
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="tip">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="admonition-graphic">
+ <div class="admonition-icon">
+ <div class="tip-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Tip</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ This is a tip
+ </p>
+ <p>
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="important">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="admonition-graphic">
+ <div class="admonition-icon">
+ <div class="important-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Important</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ This is important
+ </p>
+ <p>
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="caution">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="admonition-graphic">
+ <div class="admonition-icon">
+ <div class="caution-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Caution</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ This is a caution
+ </p>
+ <p>
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="warning">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="admonition-graphic">
+ <div class="admonition-icon">
+ <div class="warning-icon"></div>
+ </div>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Warning</div>
+ <div class="admonition-content">
+ <p>
+ </p>
+ <p>
+ This is a warning
+ </p>
+ <p>
+ </p>
+ <p>
+ They can contain more than one paragraph.
+ </p>
+ <p>
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.blurbs.blurbs"></a>
+ Blurbs
+ </h3>
+ </div>
+ </div>
+ </div>
+ <div class="sidebar">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <p>
+ <span class="bold"><strong>An eye catching advertisement or note...</strong></span>
+ </p>
+ <p>
+ These should be rendered in a manner similar to admonishments.
+ </p>
+ <p>
+ They can contain more than one paragraph.
+ </p>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="basic_formatting.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="lists_and_tables.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p>Copyright © 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias
+ Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/code_blocks.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/code_blocks.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,670 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Code Blocks</title><link rel="stylesheet" href="../../../../../doc/style/html/main.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="../index.html" title="Document To Test Formatting" /><link rel="up" href="../index.html" title="Document To Test Formatting" /><link rel="prev" href="introduction.html" title="Introduction" /><link rel="next" href="basic_formatting.html" title="Basic Formatting" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../../doc/chapters.xml',
+ '../../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ '../sections.xml',
+ '.././');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="introduction.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="basic_formatting.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title">
+ <a id="document_to_test_formatting.code_blocks"></a>
+ Code Blocks
+ </h2>
+ </div>
+ </div>
+ </div>
+ <div class="toc">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="code_blocks.html#document_to_test_formatting.code_blocks.embedded_code">Embedded
+ code</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="code_blocks.html#document_to_test_formatting.code_blocks.imported_code_and_callouts">Imported
+ code and callouts</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="code_blocks.html#document_to_test_formatting.code_blocks.larger_example">Larger
+ example</a>
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.code_blocks.embedded_code"></a>
+ <a href="code_blocks.html#document_to_test_formatting.code_blocks.embedded_code" title="Embedded code">Embedded
+ code</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ These should be syntax highlighted:
+ </p>
+ <div class="programlisting">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="style-switcher-box" id="id2525608">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id2525608',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+</div>
+ <pre>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="comment">// Sample code
+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, World\n"</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.code_blocks.imported_code_and_callouts"></a>
+ <a href="code_blocks.html#document_to_test_formatting.code_blocks.imported_code_and_callouts" title="Imported code and callouts">Imported
+ code and callouts</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Here's some code with left-placed callouts:
+ </p>
+ <p>
+ </p>
+ <p>
+
+</p>
+ <div class="programlisting">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="style-switcher-box" id="id2524460">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id2524460',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+</div>
+ <pre>
+<span class="keyword">class</span> <span class="identifier">x</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+
+ <span class="line_callout_bug"><a id="document_to_test_formatting2co" href="code_blocks.html#document_to_test_formatting2"><img src="../../../../../doc/style/html/images/callouts/1.png" alt="[1&gt;" /></a></span><span class="identifier">x</span><span class="special">()</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="line_callout_bug"><a id="document_to_test_formatting3co" href="code_blocks.html#document_to_test_formatting3"><img src="../../../../../doc/style/html/images/callouts/2.png" alt="[2&gt;" /></a></span><span class="special">~</span><span class="identifier">x</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="line_callout_bug"><a id="document_to_test_formatting4co" href="code_blocks.html#document_to_test_formatting4"><img src="../../../../../doc/style/html/images/callouts/3.png" alt="[3&gt;" /></a></span><span class="keyword">int</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">n</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="line_callout_bug"><a id="document_to_test_formatting5co" href="code_blocks.html#document_to_test_formatting5"><img src="../../../../../doc/style/html/images/callouts/4.png" alt="[4&gt;" /></a></span><span class="keyword">void</span> <span class="identifier">set</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n_</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">n_</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <p>
+ </p>
+ <p>
+ </p>
+ <p>
+ </p>
+ <div class="calloutlist">
+ <dl>
+ <dt><a id="document_to_test_formatting2"></a>[1> </dt>
+ <dd>
+ <p> Constructor </p>
+ </dd>
+ <dt><a id="document_to_test_formatting3"></a>[2> </dt>
+ <dd>
+ <p> Destructor </p>
+ </dd>
+ <dt><a id="document_to_test_formatting4"></a>[3> </dt>
+ <dd>
+ <p> Get the <code class="computeroutput"><span class="identifier">n</span></code>
+ member variable </p>
+ </dd>
+ <dt><a id="document_to_test_formatting5"></a>[4> </dt>
+ <dd>
+ <p> Set the <code class="computeroutput"><span class="identifier">n</span></code>
+ member variable </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ </p>
+ <p>
+ </p>
+ <p>
+ And again with callouts placed exactly where we put them:
+ </p>
+ <p>
+ </p>
+ <p>
+
+</p>
+ <div class="programlisting">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="style-switcher-box" id="id2524821">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id2524821',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+</div>
+ <pre>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">foo_bar</span><span class="special">()</span> <span class="callout_bug"><a id="document_to_test_formatting0co" href="code_blocks.html#document_to_test_formatting0"><img src="../../../../../doc/style/html/images/callouts/1.png" alt="[1&gt;" /></a></span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="string">"foo-bar"</span><span class="special">;</span> <span class="callout_bug"><a id="document_to_test_formatting1co" href="code_blocks.html#document_to_test_formatting1"><img src="../../../../../doc/style/html/images/callouts/2.png" alt="[2&gt;" /></a></span>
+<span class="special">}</span>
+</pre>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <p>
+ </p>
+ <p>
+ </p>
+ <p>
+ </p>
+ <div class="calloutlist">
+ <dl>
+ <dt><a id="document_to_test_formatting0"></a>[1> </dt>
+ <dd>
+ <p> The <span class="emphasis"><em>Mythical</em></span> FooBar. See <a href="http://en.wikipedia.org/wiki/Foobar">Foobar
+ for details</a> </p>
+ </dd>
+ <dt><a id="document_to_test_formatting1"></a>[2> </dt>
+ <dd>
+ <p> return 'em, foo-bar man! </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ </p>
+ <p>
+ </p>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.code_blocks.larger_example"></a>
+ <a href="code_blocks.html#document_to_test_formatting.code_blocks.larger_example" title="Larger example">Larger
+ example</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Now let's include a larger example, this may span several pages and should
+ not be chopped off half way through... some FO processors get this wrong!
+ </p>
+ <div class="programlisting">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="style-switcher-box" id="id2571707">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id2571707',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+</div>
+ <pre>
+<span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">sub_match</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*&gt;</span> <span class="identifier">csub_match</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">wchar_t</span><span class="special">*&gt;</span> <span class="identifier">wcsub_match</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="special">&gt;</span> <span class="identifier">ssub_match</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span><span class="special">::</span><span class="identifier">const_iterator</span><span class="special">&gt;</span> <span class="identifier">wssub_match</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">sub_match</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span> <span class="identifier">difference_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">BidirectionalIterator</span> <span class="identifier">iterator</span><span class="special">;</span>
+
+ <span class="keyword">bool</span> <span class="identifier">matched</span><span class="special">;</span>
+
+ <span class="identifier">difference_type</span> <span class="identifier">length</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">operator</span> <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">&gt;()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">&gt;</span> <span class="identifier">str</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">compare</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">compare</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">&gt;&amp;</span> <span class="identifier">s</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">compare</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">*</span> <span class="identifier">s</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_REGEX_MATCH_EXTRA</span>
+ <span class="keyword">typedef</span> <span class="identifier">implementation</span><span class="special">-</span><span class="keyword">private</span> <span class="identifier">capture_sequence_type</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">capture_sequence_type</span><span class="special">&amp;</span> <span class="identifier">captures</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="special">};</span>
+<span class="comment">//
+</span><span class="comment">// comparisons to another sub_match:
+</span><span class="comment">//
+</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+
+<span class="comment">//
+</span><span class="comment">// comparisons to a basic_string:
+</span><span class="comment">//
+</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="comment">//
+</span><span class="comment">// comparisons to a pointer to a character array:
+</span><span class="comment">//
+</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">]</span>##<span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="comment">//
+</span><span class="comment">// comparisons to a single character:
+</span><span class="comment">//
+</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">lhs</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="comment">//
+</span><span class="comment">// addition operators:
+</span><span class="comment">//
+</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">m</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">m</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span>
+ <span class="identifier">traits</span><span class="special">,</span>
+ <span class="identifier">Allocator</span><span class="special">&gt;&amp;</span> <span class="identifier">s</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">m</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">m</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">*</span> <span class="identifier">s</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">m</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">m</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">m1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">m2</span><span class="special">);</span>
+
+<span class="comment">//
+</span><span class="comment">// stream inserter:
+</span><span class="comment">//
+</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BidirectionalIterator</span><span class="special">&gt;</span>
+<span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span>
+ <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">sub_match</span><span class="special">&lt;</span><span class="identifier">BidirectionalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">m</span><span class="special">);</span>
+
+<span class="special">}</span> <span class="comment">// namespace boost
+</span></pre>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="introduction.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="basic_formatting.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p>Copyright © 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias
+ Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/images.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/images.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Images</title><link rel="stylesheet" href="../../../../../doc/style/html/main.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="../index.html" title="Document To Test Formatting" /><link rel="up" href="../index.html" title="Document To Test Formatting" /><link rel="prev" href="lists_and_tables.html" title="Lists and Tables" /><link rel="next" href="test.html" title="test HTML4 symbols" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../../doc/chapters.xml',
+ '../../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ '../sections.xml',
+ '.././');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="lists_and_tables.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="test.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title">
+ <a id="document_to_test_formatting.images"></a>
+ Images
+ </h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ These are tricky enough that they warrent their own section.
+ </p>
+ <p>
+ Let's start with a PNG file that's set to 120dpi, it should render at a sensible
+ size in both html and PDF forms. It should print OK too!
+ </p>
+ <p>
+ <span class="inlinemediaobject"><img src="../images/digamma3.png" alt="digamma3" /></span>
+ </p>
+ <p>
+ Now try again with a sample SVG image:
+ </p>
+ <p>
+ <span class="inlinemediaobject"><object data="../images/open_clipart_library_logo.svg" type="image/svg+xml"></object></span>
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="lists_and_tables.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="test.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p>Copyright © 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias
+ Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/introduction.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/introduction.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Introduction</title><link rel="stylesheet" href="../../../../../doc/style/html/main.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="../index.html" title="Document To Test Formatting" /><link rel="up" href="../index.html" title="Document To Test Formatting" /><link rel="prev" href="../index.html" title="Document To Test Formatting" /><link rel="next" href="code_blocks.html" title="Code Blocks" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../../doc/chapters.xml',
+ '../../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ '../sections.xml',
+ '.././');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="../index.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="code_blocks.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title">
+ <a id="document_to_test_formatting.introduction"></a>
+ Introduction
+ </h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ This document is purely a test case to test out HTML and PDF generation and
+ style.
+ </p>
+ <p>
+ This is some body text.
+ </p>
+ <div class="programlisting">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <div class="style-switcher-box" id="id2525467">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ 'id2525467',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+</div>
+ <pre>
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">double</span> <span class="identifier">d</span> <span class="special">=</span> <span class="number">2.345</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">d</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <p>
+ We can count in Greek too: α, β, γ.
+ </p>
+ <p>
+ Try some superscrips and subscripts: x<sup>2</sup>, x<sub>i</sub><sup>3</sup>, α<sup>2</sup>, β<sup>α</sup>, ⌊x⌋, ⌊α⌋, ⌈a⌉.
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="../index.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="code_blocks.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p>Copyright © 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias
+ Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/lists_and_tables.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/lists_and_tables.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,591 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Lists and Tables</title><link rel="stylesheet" href="../../../../../doc/style/html/main.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="../index.html" title="Document To Test Formatting" /><link rel="up" href="../index.html" title="Document To Test Formatting" /><link rel="prev" href="blurbs.html" title="Blurbs" /><link rel="next" href="images.html" title="Images" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../../doc/chapters.xml',
+ '../../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ '../sections.xml',
+ '.././');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="blurbs.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="images.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title">
+ <a id="document_to_test_formatting.lists_and_tables"></a>
+ <a href="lists_and_tables.html" title="Lists and Tables">Lists and
+ Tables</a>
+ </h2>
+ </div>
+ </div>
+ </div>
+ <div class="toc">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <dl>
+ <dt>
+ <span class="section">
+ Lists
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="lists_and_tables.html#document_to_test_formatting.lists_and_tables.variable_lists">Variable
+ Lists</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Tables
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.lists_and_tables.lists"></a>
+ Lists
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ A numbered list:
+ </p>
+ <div class="orderedlist">
+ <ol class="ol_1">
+ <li>
+ One
+ </li>
+ <li>
+ Two
+ </li>
+ <li>
+ Three
+ <div class="orderedlist"><ol class="ol_a"><li>
+ Three.a
+ </li><li>
+ Three.b
+ </li><li>
+ Three.c
+ </li></ol></div></li>
+ <li>
+ Four
+ <div class="orderedlist"><ol class="ol_a"><li>
+ Four.a
+ <div class="orderedlist"><ol class="ol_i"><li>
+ Four.a.i
+ </li><li>
+ Four.a.ii
+ </li></ol></div></li></ol></div></li>
+ <li>
+ Five
+ </li>
+ </ol>
+ </div>
+ <p>
+ An unordered list:
+ </p>
+ <div class="itemizedlist">
+ <ul>
+ <li>
+ First
+ </li>
+ <li>
+ Second
+ </li>
+ <li>
+ Third
+ </li>
+ </ul>
+ </div>
+ <p>
+ A mixture of the two:
+ </p>
+ <div class="orderedlist">
+ <ol class="ol_1">
+ <li>
+ 1
+ <div class="itemizedlist"><ul><li>
+ 1.a
+ <div class="orderedlist"><ol class="ol_a"><li>
+ 1.a.1
+ </li><li>
+ 1.a.2
+ </li></ol></div></li><li>
+ 1.b
+ </li></ul></div></li>
+ <li>
+ 2
+ <div class="itemizedlist"><ul><li>
+ 2.a
+ </li><li>
+ 2.b
+ <div class="orderedlist"><ol class="ol_a"><li>
+ 2.b.1
+ </li><li>
+ 2.b.2
+ <div class="itemizedlist"><ul><li>
+ 2.b.2.a
+ </li><li>
+ 2.b.2.b
+ </li></ul></div></li></ol></div></li></ul></div></li>
+ </ol>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.lists_and_tables.variable_lists"></a>
+ <a href="lists_and_tables.html#document_to_test_formatting.lists_and_tables.variable_lists" title="Variable Lists">Variable
+ Lists</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <div class="variablelist">
+ <p class="title">
+ <b>A Variable List</b>
+ </p>
+ <dl>
+ <dt>
+ <span class="term">term 1</span>
+ </dt>
+ <dd>
+ The definition of term 1
+ </dd>
+ <dt>
+ <span class="term">term 2</span>
+ </dt>
+ <dd>
+ The definition of term 2
+ </dd>
+ <dt>
+ <span class="term">term 3</span>
+ </dt>
+ <dd>
+ The definition of term 3
+ </dd>
+ </dl>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.lists_and_tables.tables"></a>
+ Tables
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Here's a big table with code and other tricky things:
+ </p>
+ <div class="table">
+ <a id="id2581610"></a>
+ <p class="title">
+ <b>Table 1. Notes on the Implementation of the Beta Distribution</b>
+ </p>
+ <div class="table-contents">
+ <table class="table" summary="Notes on the Implementation of the Beta Distribution">
+ <colgroup>
+ <col />
+ <col />
+ </colgroup>
+ <thead>
+ <tr>
+ <th>
+ <p>
+ Function
+ </p>
+ </th>
+ <th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>
+ pdf
+ </p>
+ </td>
+ <td>
+ <p>
+ f(x;α,β) = x<sup>α - 1</sup> (1 - x)<sup>β -1</sup> / B(α, β)
+ </p>
+ <p>
+ Implemented using ibeta_derivative(a, b, x).
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ cdf
+ </p>
+ </td>
+ <td>
+ <p>
+ Using the incomplete beta function ibeta(a, b, x)
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+ <td>
+ <p>
+ ibetac(a, b, x)
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ quantile
+ </p>
+ </td>
+ <td>
+ <p>
+ Using the inverse incomplete beta function ibeta_inv(a, b, p)
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+ <td>
+ <p>
+ ibetac_inv(a, b, q)
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ mean
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">/(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ variance
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span> <span class="special">*</span>
+ <span class="identifier">b</span> <span class="special">/</span>
+ <span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">)^</span><span class="number">2</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span> <span class="special">+</span> <span class="number">1</span><span class="special">)</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ mode
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="special">(</span><span class="identifier">a</span><span class="special">-</span><span class="number">1</span><span class="special">)</span>
+ <span class="special">/</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span> <span class="special">+</span> <span class="number">2</span><span class="special">)</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ skewness
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="number">2</span> <span class="special">(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">1</span><span class="special">)/(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">2</span><span class="special">)</span> <span class="special">*</span>
+ <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span> <span class="special">*</span> <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+ <td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../beta_dist_kurtosis.png" alt="beta_dist_kurtosis" /></span>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">kurtosis</span> <span class="special">+</span>
+ <span class="number">3</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ parameter estimation
+ </p>
+ </td>
+ <td>
+ <p>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ alpha
+ </p>
+ <p>
+ from mean and variance
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mean</span> <span class="special">*</span>
+ <span class="special">((</span> <span class="special">(</span><span class="identifier">mean</span> <span class="special">*</span>
+ <span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">mean</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">variance</span><span class="special">)-</span>
+ <span class="number">1</span><span class="special">)</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ beta
+ </p>
+ <p>
+ from mean and variance
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">mean</span><span class="special">)</span> <span class="special">*</span> <span class="special">(((</span><span class="identifier">mean</span>
+ <span class="special">*</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span> <span class="identifier">mean</span><span class="special">))</span>
+ <span class="special">/</span><span class="identifier">variance</span><span class="special">)-</span><span class="number">1</span><span class="special">)</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ The member functions <code class="computeroutput"><span class="identifier">estimate_alpha</span></code>
+ and <code class="computeroutput"><span class="identifier">estimate_beta</span></code>
+ </p>
+ <p>
+ from cdf and probability x and <span class="bold"><strong>either</strong></span>
+ <code class="computeroutput"><span class="identifier">alpha</span></code> or <code class="computeroutput"><span class="identifier">beta</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Implemented in terms of the inverse incomplete beta functions ibeta_inva,
+ and ibeta_invb respectively.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">estimate_alpha</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">beta</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">probability</span><span class="special">)</span></code>
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">estimate_beta</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">,</span>
+ <span class="identifier">x</span><span class="special">,</span>
+ <span class="identifier">probability</span><span class="special">)</span></code>
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="blurbs.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="images.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p>Copyright © 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias
+ Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/test.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/document_to_test_formatting/test.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>test HTML4 symbols</title><link rel="stylesheet" href="../../../../../doc/style/html/main.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="../index.html" title="Document To Test Formatting" /><link rel="up" href="../index.html" title="Document To Test Formatting" /><link rel="prev" href="images.html" title="Images" /><script type="text/javascript" src="../../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../../doc/style/html/syntax.xml',
+ '../../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../../doc/chapters.xml',
+ '../../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ '../sections.xml',
+ '.././');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="images.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title">
+ <a id="document_to_test_formatting.test"></a>
+ test HTML4 symbols
+ </h2>
+ </div>
+ </div>
+ </div>
+ <div class="toc">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="test.html#document_to_test_formatting.test.test_greek_and_math_symbols">test
+ Greek and Math symbols</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="test.html#document_to_test_formatting.test.test_latin1_symbols">test
+ Latin1 symbols</a>
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.test.test_greek_and_math_symbols"></a>
+ <a href="test.html#document_to_test_formatting.test.test_greek_and_math_symbols" title="test Greek and Math symbols">test
+ Greek and Math symbols</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ ƒ, Α, Β, Γ, Δ, Ε, Ζ, Η, Θ, Ι, Κ, Λ, Μ, Ν, Ξ, Ο, Π, Ρ, Σ, Τ, Υ, Φ, Χ, Ψ, Ω, α, β, γ, δ, ε, ζ, η, θ, ι, κ, λ, μ,
+ ν, ξ, ο, π, ρ, ς, σ, τ, υ, φ, χ, ψ, ω, ϑ, ϒ, ϖ, •, …, ′, ″, ‾, ⁄, ℘, ℑ, ℜ, ™, ℵ, ←, ↑, →, ↓, ↔, ↵, ⇐, ⇑, ⇒, ⇓,
+ ⇔, ∀, ∂, ∃, ∅, ∇, ∈, ∉, ∋, ∏, ∑, −, ∗, √, ∝, ∞, ∠, ∧, ∨, ∩, ∪, ∫, ∴, ∼, ≅, ≈, ≠, ≡, ≤, ≥, ⊂, ⊃, ⊄, ⊆, ⊇, ⊕, ⊗,
+ ⊥, ⋅, ⌈, ⌉, ⌊, ⌋, 〈, 〉, ◊, ♠, ♣, ♥, ♦
+ </p>
+ </div>
+ <div class="section">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="document_to_test_formatting.test.test_latin1_symbols"></a>
+ <a href="test.html#document_to_test_formatting.test.test_latin1_symbols" title="test Latin1 symbols">test
+ Latin1 symbols</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+  , ¡, ¢, £, ¤, ¥, ¦, §, ¨, ©, ª, «, ¬, ­, ®, ¯, °, ±, ², ³, ´, µ, ¶, ·, ¸, ¹, º, », ¼, ½, ¾, ¿, À, Á, Â, Ã, Ä,
+ Å, Æ, Ç, È, É, Ê, Ë, Ì, Í, Î, Ï, Ð, Ñ, Ò, Ó, Ô, Õ, Ö, ×, Ø, Ù, Ú, Û, Ü, Ý, Þ, ß, à, á, â, ã, ä, å, æ, ç, è, é,
+ ê, ë, ì, í, î, ï, ð, ñ, ò, ó, ô, õ, ö, ÷, ø, ù, ú, û, ü, ý, þ, ÿ,
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="p" href="images.html">
+ <div class="prev-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="u" href="../index.html">
+ <div class="up-icon"></div>
+ </a>
+ </div>
+ <div class="spirit-nav-icon">
+ <a accesskey="h" href="../index.html">
+ <div class="home-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p>Copyright © 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias
+ Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/beta_dist_kurtosis.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/digamma3.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/doctest.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/open_clipart_library_logo.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/images/open_clipart_library_logo.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ x="0.00000000"
+ y="0.00000000"
+ id="svg6221"
+ width="745.60706"
+ height="513.25690"
+ sodipodi:version="0.32"
+ inkscape:version="0.42"
+ sodipodi:docname="Open_Clipart_Library_logo.svg">
+ <sodipodi:namedview
+ inkscape:cy="893.36713"
+ inkscape:cx="305.25953"
+ inkscape:zoom="0.86831670"
+ inkscape:window-height="913"
+ inkscape:window-width="1272"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:window-x="0"
+ inkscape:window-y="30"
+ inkscape:current-layer="svg6221" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Open Clip Art Logo</dc:title>
+ <dc:date>10-01-2004</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Jon Phillips, Tobias Jakobs</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <dc:description>This is one version of the official Open Clip Art Library logo.</dc:description>
+ <dc:subject>logo, open clip art library logo, logotype</dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3" />
+ <path
+ d="M 405.82430,48.494855 C 396.10958,45.870336 386.13966,51.583653 383.51514,61.298370 L 298.15838,376.92441 C 295.53385,386.63914 301.24717,396.41506 310.96188,399.03957 L 626.58791,484.39635 C 636.30255,487.02086 646.27253,481.30755 648.89705,471.59283 L 734.25375,155.96679 C 735.49097,151.38725 734.71475,146.85751 732.70181,142.96928 L 732.70181,142.77528 L 732.50782,142.38730 L 732.50782,142.19331 C 732.46276,142.11490 732.36008,142.07704 732.31383,141.99931 L 717.76438,111.93045 L 651.80695,114.84034 L 405.82430,48.494855 z "
+ style="fill:#000000;fill-opacity:0.20000000;fill-rule:evenodd;stroke:none;stroke-width:1.6789947;stroke-miterlimit:4.0000000;stroke-opacity:0.20000000"
+ id="rect6080" />
+ <rect
+ width="363.28452"
+ height="363.28452"
+ rx="2.9260478"
+ ry="2.9260478"
+ x="363.42282"
+ y="-78.837021"
+ transform="matrix(0.965391,0.260807,-0.260807,0.965391,0.000000,0.000000)"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.7597070;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ id="rect911" />
+ <rect
+ width="288.49521"
+ height="288.49521"
+ rx="2.3236644"
+ ry="2.3236644"
+ x="398.72931"
+ y="-39.355053"
+ transform="matrix(0.965391,0.260807,-0.260807,0.965391,0.000000,0.000000)"
+ style="fill:#f3e533;fill-opacity:1.0000000;fill-rule:evenodd;stroke-width:0.79413080pt"
+ id="rect912" />
+ <path
+ d="M 552.48969,32.227283 L 486.13725,53.566475 L 486.71922,53.760468 L 235.30476,53.760468 C 225.24184,53.760468 217.26344,61.738811 217.26344,71.801785 L 217.26344,398.87339 C 217.26344,408.93643 225.24178,416.91471 235.30476,416.91471 L 562.37636,416.91471 C 572.43940,416.91471 580.41768,408.93637 580.41768,398.87339 L 580.41768,71.801785 C 580.41768,66.612962 578.25806,62.108236 574.79189,58.804276 L 552.48969,32.227283 z "
+ style="fill:#000000;fill-opacity:0.20000000;fill-rule:evenodd;stroke:none;stroke-width:1.6789950;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ id="rect6079" />
+ <rect
+ width="363.28418"
+ height="363.28418"
+ rx="2.9260466"
+ ry="2.9260466"
+ x="192.47523"
+ y="30.531385"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.7597060;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ id="rect913" />
+ <rect
+ width="288.49512"
+ height="288.49512"
+ rx="2.3236635"
+ ry="2.3236635"
+ x="227.78207"
+ y="70.013809"
+ style="fill:#ff7f00;fill-rule:evenodd;stroke-width:0.79413080pt"
+ id="rect914" />
+ <path
+ d="M 348.20848,28.541423 L 291.17463,66.563983 L 305.14211,68.115925 L 55.667554,157.15854 C 46.188236,160.53570 41.232826,170.76437 44.609974,180.24367 L 138.89040,445.04365 L 132.29465,444.84966 L 128.02682,485.39411 L 163.52746,498.58561 L 163.91546,498.58561 C 168.05181,500.44490 172.88654,501.00342 177.49494,499.36159 L 485.55528,389.56176 C 495.03452,386.18460 499.79600,375.76200 496.41886,366.28264 L 386.81301,58.416291 C 385.25785,54.051177 382.02384,50.975478 378.27734,48.910652 L 348.20848,28.541423 z "
+ style="fill:#000000;fill-opacity:0.20000000;fill-rule:evenodd;stroke:none;stroke-width:1.2500002;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ id="rect6078" />
+ <rect
+ width="363.28326"
+ height="363.28326"
+ rx="2.9260383"
+ ry="2.9260383"
+ x="-41.716114"
+ y="142.20343"
+ transform="matrix(0.942003,-0.335604,0.335604,0.942003,0.000000,0.000000)"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.7596951;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ id="rect915" />
+ <rect
+ width="288.49469"
+ height="288.49469"
+ rx="2.3236592"
+ ry="2.3236592"
+ x="-6.4090877"
+ y="181.68738"
+ transform="matrix(0.942003,-0.335604,0.335604,0.942003,0.000000,0.000000)"
+ style="fill:#bf0000;fill-rule:evenodd;stroke-width:0.79413080pt"
+ id="rect916" />
+</svg>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/index.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,325 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Document To Test Formatting</title><link rel="stylesheet" href="../../../../doc/style/html/main.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.72.0" /><link rel="start" href="index.html" title="Document To Test Formatting" /><link rel="next" href="document_to_test_formatting/introduction.html" title="Introduction" /><script type="text/javascript" src="../../../../doc/javascript/main.js"></script>
+ <script type="text/javascript" > <!--
+ boostscript.init( new Array(
+ boostscript.nested_links,
+ boostscript.style_switcher,
+ boostscript.common
+ ),
+ '../../../../doc/javascript'
+ );
+ //--></script>
+
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '../../../../doc/style/html/syntax.xml',
+ '../../../../doc/style/html'
+ );
+ //--></script>
+<link rel="alternate stylesheet" type="text/css" title="Quickbook source" href="../../../../doc/style/html/conversion/boostbook_to_quickbook.css" />
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ //--></script>
+</head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading-navigation-box">
+ <div class="nested-links-select-box" id="chapters_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'chapters_select_box',
+ '../../../../doc/chapters.xml',
+ '../../../../libs');
+ //--></script>
+</div>
+ <div class="nested-links-select-box" id="sections_select_box">
+ <script type="text/javascript" > <!--
+ boostscript.call( boostscript.nested_links, 'select_box',
+ 'sections_select_box',
+ 'sections.xml',
+ './');
+ //--></script>
+</div>
+ </div>
+ <div class="search-box">
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label"></div>
+ <div>
+ <input type="hidden" name="cref" value="http://tinyurl.com/33np8c" />
+ <input class="search-box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="document_to_test_formatting/introduction.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div class="article">
+ <div class="titlepage">
+ <div>
+ <div class="titlepage_logo">
+ <img src="images/doctest.png" />
+ </div>
+ <div>
+ <h2 class="title"><a id="document_to_test_formatting"></a>Document To Test Formatting</h2>
+ </div>
+ <div>
+ <div class="authorgroup">
+ <div class="author">
+ <h3 class="author"><span class="firstname">John</span> <span class="surname">Maddock</span></h3>
+ </div>
+ <div class="author">
+ <h3 class="author"><span class="firstname">Joel</span> <span class="surname">de Guzman</span></h3>
+ </div>
+ <div class="author">
+ <h3 class="author"><span class="firstname">Eric</span> <span class="surname">Niebler</span></h3>
+ </div>
+ <div class="author">
+ <h3 class="author"><span class="firstname">Matias</span> <span class="surname">Capeletto</span></h3>
+ </div>
+ </div>
+ </div>
+ <div>
+ <p class="copyright">Copyright © 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias
+ Capeletto</p>
+ </div>
+ <div>
+ <div class="legalnotice">
+ <a id="id2562322"></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>
+ </div>
+ </div>
+ </div>
+ <div class="titlepage_separator"></div>
+ </div>
+ <div class="toc">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <p>
+ <b>Table of Contents</b>
+ </p>
+ <dl>
+ <dt>
+ <span class="section">
+ Introduction
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Code Blocks
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/code_blocks.html#document_to_test_formatting.code_blocks.embedded_code">Embedded
+ code</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/code_blocks.html#document_to_test_formatting.code_blocks.imported_code_and_callouts">Imported
+ code and callouts</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/code_blocks.html#document_to_test_formatting.code_blocks.larger_example">Larger
+ example</a>
+ </span>
+ </dt>
+ </dl>
+ </dd>
+ <dt>
+ <span class="section">
+ Basic Formatting
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.font_styles">Font
+ Styles</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.replaceable_text">Replaceable
+ Text</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Quotations
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.inline_code">Inline
+ Code</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Links
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Footnotes
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Blockquote
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Headings
+ </span>
+ </dt>
+ </dl>
+ </dd>
+ <dt>
+ <span class="section">
+ Blurbs
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/blurbs.html#document_to_test_formatting.blurbs.preformatted_text">Preformatted
+ text</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Admonishments
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Blurbs
+ </span>
+ </dt>
+ </dl>
+ </dd>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/lists_and_tables.html">Lists and
+ Tables</a>
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ Lists
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/lists_and_tables.html#document_to_test_formatting.lists_and_tables.variable_lists">Variable
+ Lists</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Tables
+ </span>
+ </dt>
+ </dl>
+ </dd>
+ <dt>
+ <span class="section">
+ Images
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ test HTML4 symbols
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/test.html#document_to_test_formatting.test.test_greek_and_math_symbols">test
+ Greek and Math symbols</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="document_to_test_formatting/test.html#document_to_test_formatting.test.test_latin1_symbols">test
+ Latin1 symbols</a>
+ </span>
+ </dt>
+ </dl>
+ </dd>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <div class="spirit-nav-icon">
+ <a accesskey="n" href="document_to_test_formatting/introduction.html">
+ <div class="next-icon"></div>
+ </a>
+ </div>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="revised">Revised: June 25, 2007 at 18:08:27 GMT</div>
+ <div id="copyright"></div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/html/sections.xml
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/html/sections.xml 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--=========================================================================
+
+ Grouped links for Boost.Bimap documentation
+
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+
+===========================================================================-->
+
+
+<nestedLinks version="1.0">
+
+<title tag="Sections" href="index.html"/>
+
+<link tag="Introduction" href="document_to_test_formatting/introduction.html" />
+
+<link tag="Code Blocks" href="document_to_test_formatting/code_blocks.html" >
+
+<link tag="Embedded code" href="document_to_test_formatting/code_blocks.html#document_to_test_formatting.code_blocks.embedded_code" />
+<link tag="Imported code and callouts" href="document_to_test_formatting/code_blocks.html#document_to_test_formatting.code_blocks.imported_code_and_callouts" />
+<link tag="Larger example" href="document_to_test_formatting/code_blocks.html#document_to_test_formatting.code_blocks.larger_example" />
+
+</link>
+
+<link tag="Basic Formatting" href="document_to_test_formatting/basic_formatting.html">
+
+<link tag="Font Styles" href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.font_styles" />
+<link tag="Replaceable Text" href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.replaceable_text" />
+<link tag="Quotations" href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.quotations" />
+<link tag="Inline Code" href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.inline_code" />
+<link tag="Links" href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.links" />
+<link tag="Footnotes" href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.footnotes" />
+<link tag="Blockquote" href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.blockquote" />
+<link tag="Headings" href="document_to_test_formatting/basic_formatting.html#document_to_test_formatting.basic_formatting.headings" />
+
+</link>
+
+<link tag="Blurbs" href="document_to_test_formatting/blurbs.html">
+
+<link tag="Preformatted text" href="document_to_test_formatting/blurbs.html#document_to_test_formatting.blurbs.preformatted_text" />
+<link tag="Admonishments" href="document_to_test_formatting/blurbs.html#document_to_test_formatting.blurbs.admonishments" />
+<link tag="Blurbs" href="document_to_test_formatting/blurbs.html#document_to_test_formatting.blurbs.blurbs" />
+
+</link>
+
+<link tag="Lists and Tables" href="document_to_test_formatting/lists_and_tables.html">
+
+<link tag="Lists" href="document_to_test_formatting/lists_and_tables.html#document_to_test_formatting.lists_and_tables.lists" />
+<link tag="Variable Lists" href="document_to_test_formatting/lists_and_tables.html#document_to_test_formatting.lists_and_tables.variable_lists" />
+<link tag="Tables" href="document_to_test_formatting/lists_and_tables.html#document_to_test_formatting.lists_and_tables.tables" />
+
+</link>
+
+<link tag="Images" href="document_to_test_formatting/images.html" />
+
+<link tag="test HTML4 symbols" href="document_to_test_formatting/test.html" />
+
+</nestedLinks>

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/project-root.jam
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/project-root.jam 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,60 @@
+#
+# Copyright (c) 2006 João Abecasis
+#
+# 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)
+#
+
+##
+## IMPORTANT NOTE: This file MUST NOT be copied over a boost installation
+##
+
+path-constant top : . ;
+
+import modules ;
+import path ;
+
+local boost-root = [ modules.peek : BOOST_ROOT ] ;
+local math-header-include = $(top)/../.. ;
+
+if ! $(boost-root)
+{
+ local boost-search-dirs = [ modules.peek : BOOST_BUILD_PATH ] ;
+
+ for local dir in $(boost-search-dirs)
+ {
+ if [ path.glob $(dir)/../../../ : boost/version.hpp ]
+ {
+ boost-root += $(dir)/../../../ ;
+ }
+ }
+
+ if $(boost-root)
+ {
+ boost-root = [ path.make $(boost-root[1]) ] ;
+ }
+ else
+ {
+ ECHO "Warning: couldn't find BOOST_ROOT in" $(boost-root) ;
+ }
+}
+
+use-project /boost/regex : $(boost-root)/libs/regex/build ;
+use-project /boost/unit_test : $(boost-root)/libs/test/build ;
+
+project math-toolkit
+ : requirements
+ <include>$(boost-root)
+ <include>$(math-header-include)
+ : # build everything in ./bin.v2
+ build-dir bin.v2
+ ;
+
+
+
+
+
+
+
+

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/stub.cpp
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/stub.cpp 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,69 @@
+/*=============================================================================
+ Copyright (c) 2006 Joel de Guzman
+ http://spirit.sourceforge.net/
+
+ Use, modification and distribution is subject to 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)
+=============================================================================*/
+#include <string>
+
+//[ bar
+//` This is the [*/bar/] function
+std::string bar()
+{
+ // return 'em, bar man!
+ return "bar";
+}
+//]
+
+//[ foo
+/*` This is the [*['foo]] function. */
+std::string foo()
+{
+ // return 'em, foo man!
+ return "foo";
+}
+//]
+
+//[ foo_bar
+std::string foo_bar() /*< The /Mythical/ FooBar.
+ See [@http://en.wikipedia.org/wiki/Foobar Foobar for details] >*/
+{
+ return "foo-bar"; /*< return 'em, foo-bar man! >*/
+}
+//]
+
+//[ class_
+class x
+{
+public:
+
+ /*<< Constructor >>*/
+ x() : n(0)
+ {
+ }
+
+ /*<< Destructor >>*/
+ ~x()
+ {
+ }
+
+ /*<< Get the `n` member variable >>*/
+ int get() const
+ {
+ return n; /*<- this will be ignored by quickbook ->*/
+ }
+
+ /*<< Set the `n` member variable >>*/
+ void set(int n_)
+ {
+ n = n_;
+ }
+//<- this will be ignored by quickbook
+private:
+
+ int n;
+//->
+};
+//]

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/test.qbk
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/test.qbk 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,591 @@
+[article Document To Test Formatting
+ [quickbook 1.4]
+ [copyright 2007 John Maddock, Joel de Guzman, Eric Niebler and Matias Capeletto]
+ [purpose Test Formatting Document]
+ [license
+ 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])
+ ]
+ [authors [Maddock, John], [de Guzman, Joel], [Niebler, Eric], [Capeletto, Matias] ]
+ [category math]
+ [/last-revision $Date: 2007-05-07 10:21:52 +0100 (Mon, 07 May 2007) $]
+]
+
+[include HTML4_symbols.qbk]
+
+[/ Some composite templates]
+[template super[x]'''<superscript>'''[x]'''</superscript>''']
+[template sub[x]'''<subscript>'''[x]'''</subscript>''']
+[template floor[x]'''&#x230A;'''[x]'''&#x230B;''']
+[template floorlr[x][lfloor][x][rfloor]]
+[template ceil[x] '''&#x2308;'''[x]'''&#x2309;''']
+
+[section Introduction]
+
+This document is purely a test case to test out HTML and PDF generation and style.
+
+This is some body text.
+
+ int main()
+ {
+ double d = 2.345;
+ return d;
+ }
+
+We can count in Greek too: [alpha], [beta], [gamma].
+
+Try some superscrips and subscripts: x[super 2], x[sub i][super 3], [alpha][super 2],
+[beta][super [alpha]], [floor x], [floor [alpha]], [ceil a].
+
+[endsect]
+
+[section Code Blocks]
+
+[section Embedded code]
+
+These should be syntax highlighted:
+
+ #include <iostream>
+
+ int main()
+ {
+ // Sample code
+ std::cout << "Hello, World\n";
+ return 0;
+ }
+
+[endsect]
+
+[section Imported code and callouts]
+
+[import stub.cpp]
+
+Here's some code with left-placed callouts:
+
+[class_]
+
+And again with callouts placed exactly where we put them:
+
+[foo_bar]
+
+[endsect]
+
+[section Larger example]
+
+Now let's include a larger example, this may span several pages
+and should not be chopped off half way through... some FO processors
+get this wrong!
+
+ namespace boost{
+
+ template <class BidirectionalIterator>
+ class sub_match;
+
+ typedef sub_match<const char*> csub_match;
+ typedef sub_match<const wchar_t*> wcsub_match;
+ typedef sub_match<std::string::const_iterator> ssub_match;
+ typedef sub_match<std::wstring::const_iterator> wssub_match;
+
+ template <class BidirectionalIterator>
+ class sub_match : public std::pair<BidirectionalIterator, BidirectionalIterator>
+ {
+ public:
+ typedef typename iterator_traits<BidirectionalIterator>::value_type value_type;
+ typedef typename iterator_traits<BidirectionalIterator>::difference_type difference_type;
+ typedef BidirectionalIterator iterator;
+
+ bool matched;
+
+ difference_type length()const;
+ operator basic_string<value_type>()const;
+ basic_string<value_type> str()const;
+
+ int compare(const sub_match& s)const;
+ int compare(const basic_string<value_type>& s)const;
+ int compare(const value_type* s)const;
+ #ifdef BOOST_REGEX_MATCH_EXTRA
+ typedef implementation-private capture_sequence_type;
+ const capture_sequence_type& captures()const;
+ #endif
+ };
+ //
+ // comparisons to another sub_match:
+ //
+ template <class BidirectionalIterator>
+ bool operator == (const sub_match<BidirectionalIterator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator != (const sub_match<BidirectionalIterator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator < (const sub_match<BidirectionalIterator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator <= (const sub_match<BidirectionalIterator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator >= (const sub_match<BidirectionalIterator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator > (const sub_match<BidirectionalIterator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+
+
+ //
+ // comparisons to a basic_string:
+ //
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator == (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator != (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator < (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator > (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator >= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator <= (const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator == (const sub_match<BidirectionalIterator>& lhs,
+ const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator != (const sub_match<BidirectionalIterator>& lhs,
+ const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator < (const sub_match<BidirectionalIterator>& lhs,
+ const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator > (const sub_match<BidirectionalIterator>& lhs,
+ const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator >= (const sub_match<BidirectionalIterator>& lhs,
+ const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& rhs);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ bool operator <= (const sub_match<BidirectionalIterator>& lhs,
+ const std::basic_string<iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& rhs);
+
+ //
+ // comparisons to a pointer to a character array:
+ //
+ template <class BidirectionalIterator>
+ bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const* lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const* lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const* lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const* lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const* lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+
+ template <class BidirectionalIterator>
+ bool operator == (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const* rhs);
+ template <class BidirectionalIterator>
+ bool operator != (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const* rhs);
+ template <class BidirectionalIterator>
+ bool operator < ]``(const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const* rhs);
+ template <class BidirectionalIterator>
+ bool operator > (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const* rhs);
+ template <class BidirectionalIterator>
+ bool operator >= (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const* rhs);
+ template <class BidirectionalIterator>
+ bool operator <= (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const* rhs);
+
+ //
+ // comparisons to a single character:
+ //
+ template <class BidirectionalIterator>
+ bool operator == (typename iterator_traits<BidirectionalIterator>::value_type const& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator != (typename iterator_traits<BidirectionalIterator>::value_type const& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator < (typename iterator_traits<BidirectionalIterator>::value_type const& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator > (typename iterator_traits<BidirectionalIterator>::value_type const& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator >= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+ template <class BidirectionalIterator>
+ bool operator <= (typename iterator_traits<BidirectionalIterator>::value_type const& lhs,
+ const sub_match<BidirectionalIterator>& rhs);
+
+ template <class BidirectionalIterator>
+ bool operator == (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const& rhs);
+ template <class BidirectionalIterator>
+ bool operator != (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const& rhs);
+ template <class BidirectionalIterator>
+ bool operator < (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const& rhs);
+ template <class BidirectionalIterator>
+ bool operator > (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const& rhs);
+ template <class BidirectionalIterator>
+ bool operator >= (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const& rhs);
+ template <class BidirectionalIterator>
+ bool operator <= (const sub_match<BidirectionalIterator>& lhs,
+ typename iterator_traits<BidirectionalIterator>::value_type const& rhs);
+ //
+ // addition operators:
+ //
+ template <class BidirectionalIterator, class traits, class Allocator>
+ std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>
+ operator + (const std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& s,
+ const sub_match<BidirectionalIterator>& m);
+ template <class BidirectionalIterator, class traits, class Allocator>
+ std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type, traits, Allocator>
+ operator + (const sub_match<BidirectionalIterator>& m,
+ const std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type,
+ traits,
+ Allocator>& s);
+ template <class BidirectionalIterator>
+ std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type>
+ operator + (typename iterator_traits<BidirectionalIterator>::value_type const* s,
+ const sub_match<BidirectionalIterator>& m);
+ template <class BidirectionalIterator>
+ std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type>
+ operator + (const sub_match<BidirectionalIterator>& m,
+ typename iterator_traits<BidirectionalIterator>::value_type const * s);
+ template <class BidirectionalIterator>
+ std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type>
+ operator + (typename iterator_traits<BidirectionalIterator>::value_type const& s,
+ const sub_match<BidirectionalIterator>& m);
+ template <class BidirectionalIterator>
+ std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type>
+ operator + (const sub_match<BidirectionalIterator>& m,
+ typename iterator_traits<BidirectionalIterator>::value_type const& s);
+ template <class BidirectionalIterator>
+ std::basic_string<typename iterator_traits<BidirectionalIterator>::value_type>
+ operator + (const sub_match<BidirectionalIterator>& m1,
+ const sub_match<BidirectionalIterator>& m2);
+
+ //
+ // stream inserter:
+ //
+ template <class charT, class traits, class BidirectionalIterator>
+ basic_ostream<charT, traits>&
+ operator << (basic_ostream<charT, traits>& os,
+ const sub_match<BidirectionalIterator>& m);
+
+ } // namespace boost
+
+[endsect]
+
+[endsect]
+
+[section Basic Formatting]
+
+[section Font Styles]
+
+Here we go with some inline formatting:
+['italic], [*bold], [_underline], [^teletype], [-strikethrough],
+we can combine styles as well: ['[*bold italic]], [_[^teletype with underline]].
+
+[endsect]
+
+[section Replaceable Text]
+
+Text that is intended to be user-replaceable is [~rendered like this].
+
+[endsect]
+
+[section Quotations]
+
+Here we go: ["A question that sometimes drives me hazy: am I or are the others crazy?]--Einstein
+
+Note the proper left and right quote marks. Also, while you can simply use ordinary quote marks like "quoted", our quotation, above, will generate correct DocBook quotations (e.g. <quote>quoted</quote>).
+
+Like all phrase elements, quotations may be nested. Example:
+
+["Here's the rule for bargains: ["Do other men, for they would do you.] That's
+the true business precept.]
+
+[endsect]
+
+[section Inline Code]
+
+This text has inlined code `int main() { return 0; }` in it.
+The code should be syntax highlighted.
+
+[endsect]
+
+[section Links]
+
+Try this: [@http://www.boost.org this is [*boost's] website....] it should
+be visible as a link.
+
+[endsect]
+
+[section Footnotes]
+
+Here's one [footnote A sample footnote].
+
+And here's another [footnote Another sample footnote].
+
+[endsect]
+
+[section Blockquote]
+
+Lets indent the next paragraph:
+
+[:Here we go!!!]
+
+[endsect]
+
+[section Headings]
+
+Now try rendering some heading styles:
+
+[h1 Heading 1]
+
+[h2 Heading 2]
+
+[h3 Heading 3]
+
+[h4 Heading 4]
+
+[h5 Heading 5]
+
+[h6 Heading 6]
+
+[endsect]
+
+[endsect]
+
+[section Blurbs]
+
+[section Preformatted text]
+
+Here's some sample program output:
+
+[pre
+'''F test for equal standard deviations
+____________________________________
+
+Sample 1:
+Number of Observations = 240
+Sample Standard Deviation = 65.549
+
+Sample 2:
+Number of Observations = 240
+Sample Standard Deviation = 61.854
+
+Test Statistic = 1.123
+
+CDF of test statistic: = 8.148e-001
+Upper Critical Value at alpha: = 1.238e+000
+Upper Critical Value at alpha/2: = 1.289e+000
+Lower Critical Value at alpha: = 8.080e-001
+Lower Critical Value at alpha/2: = 7.756e-001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Standard deviations are unequal (two sided test) REJECTED
+Standard deviation 1 is less than standard deviation 2 REJECTED
+Standard deviation 1 is greater than standard deviation 2 REJECTED'''
+]
+
+[endsect]
+
+[section Admonishments]
+
+There are four admonishments supported by Docbook XML:
+
+[note This is a note]
+
+[tip This is a tip]
+
+[important This is important]
+
+[caution This is a caution]
+
+[warning This is a warning
+
+They can contain more than one paragraph.
+]
+
+[endsect]
+
+[section Blurbs]
+
+[blurb [*An eye catching advertisement or note...]
+
+These should be rendered in a manner similar to admonishments.
+
+They can contain more than one paragraph.
+]
+
+[endsect]
+
+[endsect]
+
+[section Lists and Tables]
+
+[section Lists]
+
+A numbered list:
+
+# One
+# Two
+# Three
+ # Three.a
+ # Three.b
+ # Three.c
+# Four
+ # Four.a
+ # Four.a.i
+ # Four.a.ii
+# Five
+
+An unordered list:
+
+* First
+* Second
+* Third
+
+A mixture of the two:
+
+# 1
+ * 1.a
+ # 1.a.1
+ # 1.a.2
+ * 1.b
+# 2
+ * 2.a
+ * 2.b
+ # 2.b.1
+ # 2.b.2
+ * 2.b.2.a
+ * 2.b.2.b
+
+
+[endsect]
+
+[section Variable Lists]
+
+[variablelist A Variable List
+ [[term 1] [The definition of term 1]]
+ [[term 2] [The definition of term 2]]
+ [[term 3] [The definition of term 3]]
+]
+
+[endsect]
+
+[section Tables]
+
+Here's a big table with code and other tricky things:
+
+[table Notes on the Implementation of the Beta Distribution
+[[Function][Implementation Notes]]
+[[pdf]
+ [f(x;[alpha],[beta]) = x[super[alpha] - 1] (1 - x)[super[beta] -1] / B([alpha], [beta])
+
+ Implemented using ibeta_derivative(a, b, x).]]
+
+[[cdf][Using the incomplete beta function ibeta(a, b, x)]]
+[[cdf complement][ibetac(a, b, x)]]
+[[quantile][Using the inverse incomplete beta function ibeta_inv(a, b, p)]]
+[[quantile from the complement][ibetac_inv(a, b, q)]]
+[[mean][`a/(a+b)`]]
+[[variance][`a * b / (a+b)^2 * (a + b + 1)`]]
+[[mode][`(a-1) / (a + b + 2)`]]
+[[skewness][`2 (b-a) sqrt(a+b+1)/(a+b+2) * sqrt(a * b)`]]
+[[kurtosis excess][ [$../beta_dist_kurtosis.png] ]]
+[[kurtosis][`kurtosis + 3`]]
+[[parameter estimation][ ]]
+[[alpha
+
+ from mean and variance][`mean * (( (mean * (1 - mean)) / variance)- 1)`]]
+[[beta
+
+ from mean and variance][`(1 - mean) * (((mean * (1 - mean)) /variance)-1)`]]
+[[The member functions `estimate_alpha` and `estimate_beta`
+
+ from cdf and probability x
+
+ and *either* `alpha` or `beta`]
+ [Implemented in terms of the inverse incomplete beta functions
+
+ibeta_inva, and ibeta_invb respectively.]]
+[[`estimate_alpha`][`ibeta_inva(beta, x, probability)`]]
+[[`estimate_beta`][`ibeta_invb(alpha, x, probability)`]]
+]
+
+[endsect]
+
+[endsect]
+
+[section Images]
+
+These are tricky enough that they warrent their own section.
+
+Let's start with a PNG file that's set to 120dpi, it should render at
+a sensible size in both html and PDF forms. It should print OK too!
+
+[$images/digamma3.png]
+
+Now try again with a sample SVG image:
+
+[$images/open_clipart_library_logo.svg]
+
+
+[endsect]
+
+[include test_HTML4_symbols.qbk]
+

Added: sandbox/boost_docs/trunk/doc/doc_test/doc/test_HTML4_symbols.qbk
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/doc_test/doc/test_HTML4_symbols.qbk 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,253 @@
+[section:test test HTML4 symbols]
+[/ Examples of using all the Greek and Math symbols defined in HTML4_symbols.qbk]
+[/ See http://www.htmlhelp.com/reference/html40/entities/symbols.html]
+
+[/ Also some miscellaneous math charaters added to this list - see the end.]
+
+[/ To use, enclose the template name in square brackets.]
+
+[section test Greek and Math symbols]
+
+[fnof],
+[Alpha],
+[Beta],
+[Gamma],
+[Delta],
+[Epsilon],
+[Zeta],
+[Eta],
+[Theta],
+[Iota],
+[Kappa],
+[Lambda],
+[Mu],
+[Nu],
+[Xi],
+[Omicron],
+[Pi],
+[Rho],
+[Sigma],
+[Tau],
+[Upsilon],
+[Phi],
+[Chi],
+[Psi],
+[Omega],
+[alpha],
+[beta],
+[gamma],
+[delta],
+[epsilon],
+[zeta],
+[eta],
+[theta],
+[iota],
+[kappa],
+[lambda],
+[mu],
+[nu],
+[xi],
+[omicron],
+[pi],
+[rho],
+[sigmaf],
+[sigma],
+[tau],
+[upsilon],
+[phi],
+[chi],
+[psi],
+[omega],
+[thetasym],
+[upsih],
+[piv],
+[bull],
+[hellip],
+[prime],
+[Prime],
+[oline],
+[frasl],
+[weierp],
+[image],
+[real],
+[trade],
+[alefsym],
+[larr],
+[uarr],
+[rarr],
+[darr],
+[harr],
+[crarr],
+[lArr],
+[uArr],
+[rArr],
+[dArr],
+[hArr],
+[forall],
+[part],
+[exist],
+[empty],
+[nabla],
+[isin],
+[notin],
+[ni],
+[prod],
+[sum],
+[minus],
+[lowast],
+[radic],
+[prop],
+[infin],
+[ang],
+[and],
+[or],
+[cap],
+[cup],
+[int],
+[there4],
+[sim],
+[cong],
+[asymp],
+[ne],
+[equiv],
+[le],
+[ge],
+[subset],
+[superset],
+[nsubset],
+[sube],
+[supe],
+[oplus],
+[otimes],
+[perp],
+[sdot],
+[lceil],
+[rceil],
+[lfloor],
+[rfloor],
+[lang],
+[rang],
+[loz],
+[spades],
+[clubs],
+[hearts],
+[diams]
+
+[endsect]
+
+[section test Latin1 symbols]
+[/ Examples of using all the symbols defined in Latin1_symbols.qbk]
+[/ http://www.htmlhelp.com/reference/html40/entities/latin1.html ]
+
+[/ To use, enclose the template name in square brackets.]
+
+[nbsp],
+[iexcl],
+[cent],
+[pound],
+[curren],
+[yen],
+[brvbar],
+[sectsign],
+[uml],
+[copy],
+[ordf],
+[laquo],
+[not],
+[shy],
+[reg],
+[macron],
+[deg],
+[plusmn],
+[sup2],
+[cubed],
+[acute],
+[micro],
+[para],
+[middot],
+[cedil],
+[sup1],
+[ordm],
+[raquo],
+[frac14],
+[frac12],
+[frac34],
+[iquest],
+[Agrave],
+[Aacute],
+[Acirc],
+[Atilde],
+[Auml],
+[Aring],
+[AElig],
+[Ccedil],
+[Egrave],
+[Eacute],
+[Ecirc],
+[Euml],
+[Igrave],
+[Iacute],
+[Icirc],
+[Iuml],
+[ETH],
+[Ntilde],
+[Ograve],
+[Oacute],
+[Ocirc],
+[Otilde],
+[Ouml],
+[times],
+[Oslash],
+[Ugrave],
+[Uacute],
+[Ucirc],
+[Uuml],
+[Yacute],
+[THORN],
+[szlig],
+[agrave],
+[aacute],
+[acirc],
+[atilde],
+[auml],
+[aring],
+[aelig],
+[ccedil],
+[egrave],
+[eacute],
+[ecirc],
+[euml],
+[igrave],
+[iacute],
+[icirc],
+[iuml],
+[eth],
+[ntilde],
+[ograve],
+[oacute],
+[ocirc],
+[otilde],
+[ouml],
+[divide],
+[oslash],
+[ugrave],
+[uacute],
+[ucirc],
+[uuml],
+[yacute],
+[thorn],
+[yuml],
+
+[endsect]
+
+
+[endsect]
+
+[/ testsymbols.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ 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).
+]
+
+

Added: sandbox/boost_docs/trunk/doc/javascript/common.js
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/common.js 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,35 @@
+/*===========================================================================
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+===========================================================================*/
+
+/* Common Functions and configuration */
+
+(function() {
+
+// Add the base url if it is relative
+
+function format_url(sUrl,sBaseUrl)
+{
+ return ( sUrl.substring(0,7) == 'http://' ) ? sUrl : ( sBaseUrl + sUrl );
+}
+
+// Add '/' to the end if necesary
+
+function format_base_url(sBaseUrl)
+{
+ return ( sBaseUrl!='' && sBaseUrl.charAt(sBaseUrl.length-1)!='/' ) ?
+ ( sBaseUrl + '/' ) : sBaseUrl;
+}
+
+// Public Interface
+
+boostscript.common.format_url = format_url;
+boostscript.common.format_base_url = format_base_url;
+
+boostscript.common.loaded = true;
+
+})();

Added: sandbox/boost_docs/trunk/doc/javascript/cookies.js
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/cookies.js 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,53 @@
+/*===========================================================================
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+===========================================================================*/
+
+
+(function() {
+
+/* Based on http://www.quirksmode.org/js/cookies.html */
+
+function create_cookie( sName, sValue, nDays )
+{
+ var sExpires;
+ if( nDays )
+ {
+ var dDate = new Date();
+ dDate.setTime( dDate.getTime() + ( nDays * 24*60*60*1000 ) );
+ sExpires = "; expires=" + dDate.toGMTString();
+ }
+ else
+ {
+ sExpires = "";
+ }
+ document.cookie = sName + "=" + sValue + sExpires + "; path=/";
+}
+
+function read_cookie(sName)
+{
+ var sNameEq = sName + "=";
+ var aCookies = document.cookie.split(';');
+ for(var i=0, len = aCookies.length ; i < len ; i++ )
+ {
+ var oCookie = aCookies[i].replace(/^\s+/g, "");
+ if( oCookie.indexOf(sNameEq) == 0 )
+ {
+ return oCookie.substring( sNameEq.length, oCookie.length );
+ }
+ }
+ return null;
+}
+
+// Public Interface
+
+boostscript.cookies.create = create_cookie;
+boostscript.cookies.read = read_cookie;
+
+boostscript.cookies.loaded = true;
+
+})();
+

Added: sandbox/boost_docs/trunk/doc/javascript/load_file.js
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/load_file.js 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,88 @@
+/*===========================================================================
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+===========================================================================*/
+
+(function() {
+
+// File Cache
+
+var file_cache = new Array();
+
+// Load an xml file, and pass it to the callback function when it is ready
+
+function load_xml(sUrl, oCallback, bCached )
+{
+ if( bCached )
+ {
+ var oXml = file_cache[sUrl];
+ if( oXml )
+ {
+ oCallback(oXml);
+ return;
+ }
+ }
+ function add_to_cache( oXml )
+ {
+ if( bCached )
+ {
+ file_cache[sUrl] = oXml;
+ }
+ }
+
+
+ if (document.implementation && document.implementation.createDocument)
+ {
+ oXml = document.implementation.createDocument("", "", null);
+ oXml.onload = function() {
+ add_to_cache(oXml);
+ oCallback(oXml);
+ };
+ oXml.load(sUrl);
+
+ }
+ else if (window.ActiveXObject)
+ {
+ oXml = new ActiveXObject("Microsoft.XMLDOM");
+ oXml.onreadystatechange = function ()
+ {
+ if (oXml.readyState == 4)
+ {
+ add_to_cache(oXml);
+ oCallback(oXml);
+ }
+ };
+ oXml.load(sUrl);
+ }
+ else if( window.XMLHttpRequest )
+ {
+ var XMLHttpRequestObject = new XMLHttpRequest();
+ XMLHttpRequestObject.open("GET", sUrl);
+ XMLHttpRequestObject.onreadystatechange = function()
+ {
+ if (XMLHttpRequestObject.readyState == 4)
+ {
+ var oXml = XMLHttpRequestObject.responseXML;
+ add_to_cache(oXml);
+ oCallback(oXml);
+ delete XMLHttpRequestObject;
+ }
+ }
+ XMLHttpRequestObject.send(null);
+ }
+ else
+ {
+ // unsupported browser
+ }
+}
+
+// Public Interface
+
+boostscript.load_file.load_xml = load_xml;
+
+boostscript.load_file.loaded = true;
+
+})();

Added: sandbox/boost_docs/trunk/doc/javascript/main.js
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/main.js 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,147 @@
+/*===========================================================================
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+===========================================================================*/
+
+var boostscript;
+
+(function() {
+
+function Namespace(oLibrary,nId,sFilePath,aInclude)
+{
+ this.id = nId; this.path = sFilePath;
+ this.used = false; this.loaded = false;
+
+ this.include = aInclude ? aInclude : new Array();
+ oLibrary.namespace[nId] = this;
+}
+
+function boostscript_library()
+{
+ this.namespace = new Array();
+ var id = 0;
+
+/************************************************************************/
+/* Modify this section to add new components to the library */
+/* Do not forget to add an 'add_component' call in the listing */
+/* below including the file dependencies */
+/* */
+/* */
+
+ this.common = new Namespace(this,id++,
+ 'common.js'
+ );
+
+ this.load_file = new Namespace(this,id++,
+ 'load_file.js'
+ );
+
+ this.cookies = new Namespace(this,id++,
+ 'cookies.js'
+ );
+
+ this.nested_links = new Namespace(this,id++,
+ 'nested_links.js',
+ new Array( // Requires
+ this.common,
+ this.load_file
+ )
+ );
+
+ this.style_switcher = new Namespace(this,id++,
+ 'style_switcher.js',
+ new Array( // Requires
+ this.common,
+ this.cookies,
+ this.load_file
+ )
+ );
+
+/* */
+/* */
+/************************************************************************/
+
+}
+
+function include_components( aUsedComponents, sUserBaseUrl )
+{
+ insert_needed_includes( boostscript.namespace, aUsedComponents,
+ format_base_url(sUserBaseUrl) );
+}
+
+function insert_needed_includes( aComponents, aUsedComponents, sBaseUrl )
+{
+ for(var i = 0, len = aUsedComponents.length; i < len; i++)
+ {
+ find_needed_includes( aUsedComponents[i] );
+ }
+ dom_insertion_included_scripts( sBaseUrl );
+}
+
+function find_needed_includes( oComp )
+{
+ if( oComp.used ) return;
+ oComp.used = true;
+ var aInclude = oComp.include;
+ for(var i = 0, len = aInclude.length; i < len; i++ )
+ {
+ find_needed_includes( aInclude[i] );
+ }
+}
+
+function dom_insertion_included_scripts( sBaseUrl )
+{
+ var namespace = boostscript.namespace;
+ var oHead = document.getElementsByTagName("head")[0];
+ for(var i = 0, len = namespace.length; i < len ; i++ )
+ {
+ if( namespace[i].used )
+ {
+ var newScript = document.createElement('script');
+ newScript.type = 'text/javascript';
+ newScript.src = format_url( namespace[i].path, sBaseUrl );
+ oHead.appendChild( newScript );
+ }
+ }
+}
+
+function format_base_url(sBaseUrl)
+{
+ return ( sBaseUrl != '' && sBaseUrl.charAt(sBaseUrl.length-1)!='/' ) ?
+ ( sBaseUrl + '/' ) : sBaseUrl;
+}
+
+function format_url(sUrl,sBaseUrl)
+{
+ return ( sUrl.substring(0,7) == 'http://' ) ? sUrl : ( sBaseUrl + sUrl );
+}
+
+function async_call( oNamespace, oFunc )
+{
+ if( ! oNamespace.loaded )
+ {
+ setTimeout( function() { async_call( oNamespace, oFunc ); }, 200 );
+ }
+ else
+ {
+ oFunc();
+ }
+}
+
+boostscript = new boostscript_library();
+boostscript.init = include_components;
+boostscript.async_call = async_call;
+boostscript.call = function(n,f,p1,p2,p3,p4,p5)
+{
+ async_call( n,
+ function()
+ {
+ n[f](p1,p2,p3,p4,p5);
+ }
+ );
+};
+
+})();

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links.js
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links.js 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,153 @@
+/*===========================================================================
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+===========================================================================*/
+
+/*********************** NestedLinks API **********************************
+
+In your html body use it like:
+----------------------------------------------------------------------------
+<!-- Include the grouped links java script api
+ Remember to change this line with the path of your nested_links.js -->
+
+<script type="text/javascript" src="nested_links.js"></script>
+
+<!-- Add a form with an "id" attribute -->
+
+<form id="boost_libs_list">
+
+ <!-- Call the NestedLinks "select box" with the following parameters
+ (1) id of the element where the select box will be inserted
+ (2) NestedLinks xml definition url
+ (3) user base url [optional]
+ (4) selected item [optional] -->
+
+ <script type="text/javascript">
+
+ nested_links_select_box('boost_libs_list',
+ 'boost_libs_grouped_links.xml');
+
+ </script>
+
+</form>
+---------------------------------------------------------------------------
+
+Read the html docs for more information.
+
+**************************************************************************/
+
+/* Requires: common.js */
+/* Requires: load_file.js */
+
+(function() {
+
+// Options for drop down list
+
+function construct_select_option(oXmlElement,sClass,
+ sBaseUrl,sDefaultUrl,sSelected)
+{
+ var sTag = oXmlElement.getAttribute('tag' );
+ var sUrl = oXmlElement.getAttribute('href');
+ return '<option ' +
+ ((sSelected == sTag) ? 'selected ' : '') +
+ 'class="' + sClass + '"' + ' value="' +
+ ( sUrl ? boostscript.common.format_url(sUrl,sBaseUrl) : sDefaultUrl ) +
+ '" >' + sTag + '</option>\n';
+}
+
+// Populate a select block from an xml and insert the result in sId div
+
+function select_box(sId,sXmlUrl,sUserBaseUrl,sSelected)
+{
+ boostscript.load_file.load_xml(sXmlUrl, function(oEntireXml) {
+
+ var oXml = oEntireXml.getElementsByTagName('nestedLinks')[0];
+
+ // manage parameters
+
+ var sBaseUrl = sUserBaseUrl ? boostscript.common.format_base_url( sUserBaseUrl ) : './';
+
+ var oBaseUrlNode = oXml.getElementsByTagName('base')[0];
+ if( oBaseUrlNode )
+ {
+ sBaseUrl += boost_format_base_url( oBaseUrlNode.getAttribute('href') );
+ }
+
+ var sDefaultUrl = sBaseUrl + 'index';
+ var oTitle = oXml.getElementsByTagName('title')[0];
+ if( sSelected == null && oTitle != null )
+ {
+ sSelected = oTitle.getAttribute('tag');
+ var sUrl = oTitle.getAttribute('href');
+ if( sUrl )
+ {
+ sDefaultUrl = sUrl;
+ }
+ }
+
+ // Construct the select box
+
+ var sSelectHtml =
+ '<select id="'+sId+'_internal"' +
+ ' class="nested-links"' +
+ ' size="1"' +
+ ' OnChange="' +
+ 'boostscript.nested_links.internal_go_to_url' +
+ '(\'' + sId + '_internal\')">\n' ;
+
+
+ sSelectHtml += construct_select_option(
+ oTitle, 'nested-links-title', sBaseUrl, sDefaultUrl, sSelected
+ );
+
+ var aGroups = oXml.childNodes;
+ for(var ig = 0, glen = aGroups.length; ig < glen; ig++)
+ {
+ var oGroup = aGroups[ig];
+ if( oGroup.nodeName == 'link' )
+ {
+ sSelectHtml += construct_select_option(
+ oGroup,
+ 'nested-links-first', sBaseUrl, sDefaultUrl, sSelected
+ );
+
+ var aItems = oGroup.childNodes;
+ for(var ii = 0, ilen = aItems.length; ii < ilen; ii++)
+ {
+ var oItem = aItems[ii];
+ if( oItem.nodeName == 'link' )
+ {
+ sSelectHtml += construct_select_option(
+ oItem,
+ 'nested-links-second', sBaseUrl, sDefaultUrl, sSelected
+ );
+ }
+ }
+ }
+ }
+
+ document.getElementById(sId).innerHTML = sSelectHtml + '</select>\n';
+
+ } );
+}
+
+// Action function used when the user selects an option from the drop down list
+
+function go_to_url(sId)
+{
+ var oe = document.getElementById(sId);
+ parent.self.location = oe.options[oe.selectedIndex].value;
+}
+
+// Public Interface
+
+boostscript.nested_links.internal_go_to_url = go_to_url;
+boostscript.nested_links.select_box = select_box;
+
+boostscript.nested_links.loaded = true;
+
+})();
+

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/css/grouped_links.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/css/grouped_links.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,53 @@
+/*=============================================================================
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+=============================================================================*/
+
+
+/******************************************************************************
+ Grouped Links
+******************************************************************************/
+
+ select.grouped_links
+ {
+ background-color: #BEDEBA;
+ font-weight: bold;
+ font-size: 12px;
+ color: #006D00;
+ border: 1px solid #DCDCDC;
+ border-bottom: 1px solid #9D9D9D;
+ border-right: 1px solid #9D9D9D;
+ padding-bottom: 1px;
+ padding-right: 1px;
+ }
+
+ option.grouped_links_title
+ {
+ background-color: #BEDEBA;
+ font-weight: bold;
+ font-size: 12px;
+ color: #006D00;
+ }
+
+ option.grouped_links_group
+ {
+ background-color: #008000;
+ font-weight: bold;
+ font-size: 12px;
+ color: white;
+ }
+
+ option.grouped_links_item
+ {
+ background-color: #FAFFFB;
+ padding: 0px 0px 0px 12px;
+ color: #006D00;
+ font-weight: normal;
+ }
+
+
+/*****************************************************************************/
+

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/jamfile.v2 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,26 @@
+# Boost.GroupedLinks
+#
+# Copyright (c) 2007 Matias Capeletto
+#
+# 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 quickbook ;
+
+xml grouped_links
+ :
+ grouped_links.qbk
+ ;
+
+boostbook standalone
+ :
+ grouped_links
+ :
+ <xsl:param>toc.max.depth=2
+ <xsl:param>toc.section.depth=0
+ <xsl:param>chunk.section.depth=0
+ ;
+
+

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/nested_links.qbk
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/nested_links.qbk 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,229 @@
+[library Boost.GroupedLinks
+ [quickbook 1.4]
+ [authors [Capeletto, Matias]]
+ [copyright 2007 Matias Capeletto]
+ [category javascript]
+ [id grouped_links]
+ [dirname grouped_links]
+ [purpose
+ Construct a grouped links select box from a XML definition file
+ ]
+ [source-mode c++]
+ [license
+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])
+ ]
+]
+
+[/ QuickBook Document version 1.4 ]
+
+[def __GROUPED_LINKS_IMAGE__ [$images/grouped_links.png]]
+
+[section Introduction]
+
+GroupedLinks is a simple javascript API for building links select boxes.
+
+Features
+
+* Released under Boost Software License.
+* Cross-browser.
+* Items are populated from a simple XML definition file.
+* css based look & feel.
+* Support for relative URLs.
+* Integration with Boostbook.
+* Only standard javascript used.
+
+__GROUPED_LINKS_IMAGE__
+
+[endsect]
+
+[section Tutorial]
+
+
+[section GroupedLinks XML definition]
+
+A GroupedLinks select box is populated from a ['GroupedLinks XML definition]
+file. This is an important feature, because it means that the items are not
+harcoded in the HTML saving us space using global definitions and allowing
+us to change the definition with out touching the HTML files.
+
+['GroupedLinks XML definition] start with a tag named `groupedLinks`.
+There are only three elements:
+
+[table Elements
+[[Name][Purpose]]
+[[`title`][
+Add a title to the GroupedLinks select box. This is useful when
+you do not want to select any of the internals items. The select
+box will show the title instead.
+]]
+[[`group`][
+Starts a group list.
+]]
+[[`item`][
+Links items. They must reside inside a group list.
+]]
+]
+
+All the elements have two attributes:
+
+* [*tag: ] Name of the element, it will be showed in the HTML.
+* [*url: ] URL of the link. It can be relative or absolute. (It is optional)
+
+A ['GroupedLinks XML definition] will look like:
+
+``
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<groupedLinks version="1.0">
+
+<title tag="Title" url="group_1.html"/>
+
+<group tag="Group 1" url="group_1.html">
+
+ <item tag="Item A" url="group_1/item_A.html"/>
+ <item tag="Item B" url="group_1/item_A.html"/>
+ <item tag="Item C" url="http://www.item_C.com"/>
+
+</group>
+
+<group tag="Group 2" url="group_2.html">
+
+ <item tag="Item A" url="group_2/item_A.html"/>
+ <item tag="Item B" url="group_2/item_A.html"/>
+
+</group>
+
+<group tag="Group 3" url="group_3.html"/>
+
+</groupedLinks>
+``
+
+
+[endsect]
+
+[section Including a GroupedLinks select box in your HTML]
+
+To include a ['GroupedLinks select box] in the body of your HTML you have
+to create a form with an unique id and call the javascript function
+`grouped_links_select_box` inside of it.
+
+[table grouped_links_select_box function
+[[][Parameter Name][Purpose]]
+[[1][GroupedLinks XML URL][
+['GroupedLinks XML definition] URL.
+]]
+[[2][Form id][
+id of the form where you want to place the ['GroupedLinks select box].
+]]
+[[3][Base URL][
+A base URL that will be concatenated to all the relatives URLs.
+]]
+[[5][Selected item][
+The item that is selected by default. This parameter is optional, if
+you call the function with only three parameters the tag of the title
+element is used if there is one in the ['GroupedLinks XML definition].
+]]
+]
+
+It is simple enough to be understood from an example:
+
+``
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Boost.GroupedLinks Example</title>
+<link rel="stylesheet" href="../../css/grouped_links.css" type="text/css">
+</head>
+
+<body>
+
+<!-- /* Include the grouped links java script api */ -->
+
+<script type="text/javascript" src="../../js/grouped_links.js"></script>
+
+<!-- /* Add a form with an "id" attribute */ -->
+
+<form id="boost_libs_list">
+
+ <!--/* Call the GroupedLinks "select box" */-->
+
+ <script type="text/javascript">
+
+ grouped_links_select_box('boost_libs.xml',
+ 'boost_libs_list',
+ '../../',
+ 'Boost Libraries');
+
+ </script>
+
+</form>
+``
+
+[note
+Remember to change the `src` of the javascript include line to point
+to the URL of `grouped_links.js` in your system. Try to work with
+relatives paths so the HTML can be easily moved.
+]
+
+[endsect]
+
+[section Boostbook integration]
+
+Add the following lines to your jamfile.v2
+
+ <xsl:param>grouped.links.chapters.show="'true'"
+ <xsl:param>grouped.links.sections.show="'true'"
+ <xsl:param>grouped.links.sections.xml="'sections.XML'" # your XML sections
+
+GroupedLinks select boxes for boost libraries and internal sections can be
+requested to boostbook using the following options:
+
+[table Boostbook GroupedLinks Parameters
+[[Name][Purpose]]
+[[`show`][Include select box]]
+[[`xml`][Path to the XML definition]]
+[[`url`][Base URL to use with relative paths]]
+]
+
+You can configure all the parameters used by boostbook:
+
+ <xsl:param>grouped.links.js="'grouped_links.js'"
+
+ <xsl:param>grouped.links.chapters.show="'true'"
+ <xsl:param>grouped.links.chapters.xml="'boost_libs_grouped_links.XML'"
+ <xsl:param>grouped.links.chapters.url="''"
+
+ <xsl:param>grouped.links.sections.show="'true'"
+ <xsl:param>grouped.links.sections.xml="'sections_grouped_links.XML'"
+ <xsl:param>grouped.links.sections.url="''"
+
+[endsect]
+
+[endsect]
+
+[section Examples]
+
+In the folder `example` you can find two examples using GropedLinks API.
+
+[variablelist
+[[simple][
+How to put a GropedLinks select box in your HTML body.
+]]
+[[boostbook][
+How to integrate GroupedLinks with boostbook and quickbook docs.
+]]
+]
+
+[endsect]
+
+[section Acknowledgments]
+
+Thanks Martin Capeletto (my brother) for teaching me the basics of javascript.
+
+Thanks to the ones that participates in constructing the new boost docs
+look & feel. Special thanks to John Maddock for his support during this period.
+
+[endsect]
+
+

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/HTML.manifest 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1 @@
+index.html

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/images/grouped_links.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/index.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/doc/xhtml/index.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,670 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head xmlns="http://www.w3.org/1999/xhtml">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Chapter 1. Boost.GroupedLinks</title>
+ <link xmlns="" rel="stylesheet" href="boostbook.css" type="text/css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.70.1" />
+ <link rel="start" href="index.html" title="Chapter 1. Boost.GroupedLinks" />
+ </head>
+ <body>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading_navigation_box"></div>
+ <div class="heading_search_box"></div>
+ </div>
+ <div class="spirit-nav"></div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div xmlns="http://www.w3.org/1999/xhtml" class="chapter" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title"><a id="grouped_links"></a>Chapter 1. Boost.GroupedLinks</h2>
+ </div>
+ <div>
+ <div class="author">
+ <h3 class="author"><span class="firstname">Matias</span> <span class="surname">Capeletto</span></h3>
+ </div>
+ </div>
+ <div>
+ <p class="copyright">Copyright © 2007 Matias Capeletto</p>
+ </div>
+ <div>
+ <div class="legalnotice">
+ <a id="id2601623"></a>
+ <p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a xmlns="" href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt>)
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="toc">
+ <p>
+ <b>Table of Contents</b>
+ </p>
+ <dl>
+ <dt>
+ <span class="section">
+
Introduction
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Tutorial
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Examples
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Acknowledgments
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both">
+ <a id="grouped_links.introduction"></a>
+ Introduction
+ </h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ GroupedLinks is a simple javascript API for building links select boxes.
+ </p>
+ <p>
+ Features
+ </p>
+ <div class="itemizedlist">
+ <ul type="disc">
+ <li>
+ Released under Boost Software License.
+ </li>
+ <li>
+ Cross-browser.
+ </li>
+ <li>
+ Items are populated from a simple XML definition file.
+ </li>
+ <li>
+ css based look &amp; feel.
+ </li>
+ <li>
+ Support for relative URLs.
+ </li>
+ <li>
+ Integration with Boostbook.
+ </li>
+ <li>
+ Only standard javascript used.
+ </li>
+ </ul>
+ </div>
+ <p>
+ <span class="inlinemediaobject"><img src="images/grouped_links.png" alt="grouped_links" /></span>
+ </p>
+ </div>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both">
+ <a id="grouped_links.tutorial"></a>
+ Tutorial
+ </h2>
+ </div>
+ </div>
+ </div>
+ <div class="toc">
+ <dl>
+ <dt>
+ <span class="section">
+ <a href="index.html#grouped_links.tutorial.groupedlinks_xml_definition">GroupedLinks
+ XML definition</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="index.html#grouped_links.tutorial.including_a_groupedlinks_select_box_in_your_html">Including
+ a GroupedLinks select box in your HTML</a>
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ <a href="index.html#grouped_links.tutorial.boostbook_integration">Boostbook
+ integration</a>
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="grouped_links.tutorial.groupedlinks_xml_definition"></a>
+ <a href="index.html#grouped_links.tutorial.groupedlinks_xml_definition" title="GroupedLinks&#10; XML definition">GroupedLinks
+ XML definition</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ A GroupedLinks select box is populated from a <span class="emphasis"><em>GroupedLinks XML
+ definition</em></span> file. This is an important feature, because it means
+ that the items are not harcoded in the HTML saving us space using global
+ definitions and allowing us to change the definition with out touching the
+ HTML files.
+ </p>
+ <p>
+ <span class="emphasis"><em>GroupedLinks XML definition</em></span> start with a tag named
+ <code class="computeroutput"><span class="identifier">groupedLinks</span></code>. There are only
+ three elements:
+ </p>
+ <div class="table">
+ <a id="id2565416"></a>
+ <p class="title">
+ <b>Table 1.1. Elements</b>
+ </p>
+ <div class="table-contents">
+ <table xmlns="" class="table" summary="Elements">
+ <colgroup>
+ <col xmlns="http://www.w3.org/1999/xhtml" />
+ <col xmlns="http://www.w3.org/1999/xhtml" />
+ </colgroup>
+ <thead xmlns="http://www.w3.org/1999/xhtml">
+ <tr>
+ <th>
+ <p>
+ Name
+ </p>
+ </th>
+ <th>
+ <p>
+ Purpose
+ </p>
+ </th>
+ </tr>
+ </thead>
+ <tbody xmlns="http://www.w3.org/1999/xhtml">
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">title</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Add a title to the GroupedLinks select box. This is useful when you
+ do not want to select any of the internals items. The select box will
+ show the title instead.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">group</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Starts a group list.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">item</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Links items. They must reside inside a group list.
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ <p>
+ All the elements have two attributes:
+ </p>
+ <div class="itemizedlist">
+ <ul type="disc">
+ <li><span class="bold"><strong>tag: </strong></span> Name of the element, it will be
+ showed in the HTML.
+ </li>
+ <li><span class="bold"><strong>url: </strong></span> URL of the link. It can be relative
+ or absolute. (It is optional)
+ </li>
+ </ul>
+ </div>
+ <p>
+ A <span class="emphasis"><em>GroupedLinks XML definition</em></span> will look like:
+ </p>
+ <p>
+
+</p>
+ <pre class="programlisting">
+<span class="special">&lt;?</span><span class="identifier">xml</span> <span class="identifier">version</span><span class="special">=</span><span class="string">"1.0"</span> <span class="identifier">encoding</span><span class="special">=</span><span class="string">"UTF-8"</span> <span class="special">?&gt;</span>
+
+<span class="special">&lt;</span><span class="identifier">groupedLinks</span> <span class="identifier">version</span><span class="special">=</span><span class="string">"1.0"</span><span class="special">&gt;</span>
+
+<span class="special">&lt;</span><span class="identifier">title</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Title"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_1.html"</span><span class="special">/&gt;</span>
+
+<span class="special">&lt;</span><span class="identifier">group</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Group 1"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_1.html"</span><span class="special">&gt;</span>
+
+ <span class="special">&lt;</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item A"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_1/item_A.html"</span><span class="special">/&gt;</span>
+ <span class="special">&lt;</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item B"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_1/item_A.html"</span><span class="special">/&gt;</span>
+ <span class="special">&lt;</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item C"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"http://www.item_C.com"</span><span class="special">/&gt;</span>
+
+<span class="special">&lt;/</span><span class="identifier">group</span><span class="special">&gt;</span>
+
+<span class="special">&lt;</span><span class="identifier">group</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Group 2"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_2.html"</span><span class="special">&gt;</span>
+
+ <span class="special">&lt;</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item A"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_2/item_A.html"</span><span class="special">/&gt;</span>
+ <span class="special">&lt;</span><span class="identifier">item</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Item B"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_2/item_A.html"</span><span class="special">/&gt;</span>
+
+<span class="special">&lt;/</span><span class="identifier">group</span><span class="special">&gt;</span>
+
+<span class="special">&lt;</span><span class="identifier">group</span> <span class="identifier">tag</span><span class="special">=</span><span class="string">"Group 3"</span> <span class="identifier">url</span><span class="special">=</span><span class="string">"group_3.html"</span><span class="special">/&gt;</span>
+
+<span class="special">&lt;/</span><span class="identifier">groupedLinks</span><span class="special">&gt;</span>
+</pre>
+ <p>
+ </p>
+ </div>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="grouped_links.tutorial.including_a_groupedlinks_select_box_in_your_html"></a>
+ <a href="index.html#grouped_links.tutorial.including_a_groupedlinks_select_box_in_your_html" title="Including&#10; a GroupedLinks select box in your HTML">Including
+ a GroupedLinks select box in your HTML</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ To include a <span class="emphasis"><em>GroupedLinks select box</em></span> in the body of
+ your HTML you have to create a form with an unique id and call the javascript
+ function <code class="computeroutput"><span class="identifier">grouped_links_select_box</span></code>
+ inside of it.
+ </p>
+ <div class="table">
+ <a id="id2611051"></a>
+ <p class="title">
+ <b>Table 1.2. grouped_links_select_box function</b>
+ </p>
+ <div class="table-contents">
+ <table xmlns="" class="table" summary="grouped_links_select_box function">
+ <colgroup>
+ <col xmlns="http://www.w3.org/1999/xhtml" />
+ <col xmlns="http://www.w3.org/1999/xhtml" />
+ <col xmlns="http://www.w3.org/1999/xhtml" />
+ </colgroup>
+ <thead xmlns="http://www.w3.org/1999/xhtml">
+ <tr>
+ <th>
+ <p>
+ </p>
+ </th>
+ <th>
+ <p>
+ Parameter Name
+ </p>
+ </th>
+ <th>
+ <p>
+ Purpose
+ </p>
+ </th>
+ </tr>
+ </thead>
+ <tbody xmlns="http://www.w3.org/1999/xhtml">
+ <tr>
+ <td>
+ <p>
+ 1
+ </p>
+ </td>
+ <td>
+ <p>
+ GroupedLinks XML URL
+ </p>
+ </td>
+ <td>
+ <p>
+ <span class="emphasis"><em>GroupedLinks XML definition</em></span> URL.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ 2
+ </p>
+ </td>
+ <td>
+ <p>
+ Form id
+ </p>
+ </td>
+ <td>
+ <p>
+ id of the form where you want to place the <span class="emphasis"><em>GroupedLinks select
+ box</em></span>.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ 3
+ </p>
+ </td>
+ <td>
+ <p>
+ Base URL
+ </p>
+ </td>
+ <td>
+ <p>
+ A base URL that will be concatenated to all the relatives URLs.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ 5
+ </p>
+ </td>
+ <td>
+ <p>
+ Selected item
+ </p>
+ </td>
+ <td>
+ <p>
+ The item that is selected by default. This parameter is optional, if
+ you call the function with only three parameters the tag of the title
+ element is used if there is one in the <span class="emphasis"><em>GroupedLinks XML definition</em></span>.
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ <p>
+ It is simple enough to be understood from an example:
+ </p>
+ <p>
+
+</p>
+ <pre class="programlisting">
+<span class="special">&lt;</span><span class="identifier">head</span><span class="special">&gt;</span>
+<span class="special">&lt;</span><span class="identifier">meta</span> <span class="identifier">http</span><span class="special">-</span><span class="identifier">equiv</span><span class="special">=</span><span class="string">"Content-Type"</span> <span class="identifier">content</span><span class="special">=</span><span class="string">"text/html; charset=ISO-8859-1"</span><span class="special">&gt;</span>
+<span class="special">&lt;</span><span class="identifier">title</span><span class="special">&gt;</span><span class="identifier">Boost</span><span class="special">.</span><span class="identifier">GroupedLinks</span> <span class="identifier">Example</span><span class="special">&lt;/</span><span class="identifier">title</span><span class="special">&gt;</span>
+<span class="special">&lt;</span><span class="identifier">link</span> <span class="identifier">rel</span><span class="special">=</span><span class="string">"stylesheet"</span> <span class="identifier">href</span><span class="special">=</span><span class="string">"../../css/grouped_links.css"</span> <span class="identifier">type</span><span class="special">=</span><span class="string">"text/css"</span><span class="special">&gt;</span>
+<span class="special">&lt;/</span><span class="identifier">head</span><span class="special">&gt;</span>
+
+<span class="special">&lt;</span><span class="identifier">body</span><span class="special">&gt;</span>
+
+<span class="special">&lt;!--</span> <span class="comment">/* Include the grouped links java script api */</span> <span class="special">--&gt;</span>
+
+<span class="special">&lt;</span><span class="identifier">script</span> <span class="identifier">type</span><span class="special">=</span><span class="string">"text/javascript"</span> <span class="identifier">src</span><span class="special">=</span><span class="string">"../../js/grouped_links.js"</span><span class="special">&gt;&lt;/</span><span class="identifier">script</span><span class="special">&gt;</span>
+
+<span class="special">&lt;!--</span> <span class="comment">/* Add a form with an "id" attribute */</span> <span class="special">--&gt;</span>
+
+<span class="special">&lt;</span><span class="identifier">form</span> <span class="identifier">id</span><span class="special">=</span><span class="string">"boost_libs_list"</span><span class="special">&gt;</span>
+
+ <span class="special">&lt;!--/*</span> <span class="identifier">Call</span> <span class="identifier">the</span> <span class="identifier">GroupedLinks</span> <span class="string">"select box"</span> <span class="special">*/--&gt;</span>
+
+ <span class="special">&lt;</span><span class="identifier">script</span> <span class="identifier">type</span><span class="special">=</span><span class="string">"text/javascript"</span><span class="special">&gt;</span>
+
+ <span class="identifier">grouped_links_select_box</span><span class="special">(</span><span class="char">'boost_libs.xml'</span><span class="special">,</span>
+ <span class="char">'boost_libs_list'</span><span class="special">,</span>
+ <span class="char">'../../'</span><span class="special">,</span>
+ <span class="char">'Boost Libraries'</span><span class="special">);</span>
+
+ <span class="special">&lt;/</span><span class="identifier">script</span><span class="special">&gt;</span>
+
+<span class="special">&lt;/</span><span class="identifier">form</span><span class="special">&gt;</span>
+</pre>
+ <p>
+ </p>
+ <div xmlns="" class="note">
+ <div class="admonition-graphic">
+ <img alt="[Note]" src="../../doc/html/images/note.png" />
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">Note</div>
+ <div class="admonition-content">
+ <p xmlns="http://www.w3.org/1999/xhtml">
+ </p>
+ <p xmlns="http://www.w3.org/1999/xhtml">
+ Remember to change the <code class="computeroutput"><span class="identifier">src</span></code>
+ of the javascript include line to point to the URL of <code class="computeroutput"><span class="identifier">grouped_links</span><span class="special">.</span><span class="identifier">js</span></code>
+ in your system. Try to work with relatives paths so the HTML can be easily
+ moved.
+ </p>
+ <p xmlns="http://www.w3.org/1999/xhtml">
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="grouped_links.tutorial.boostbook_integration"></a>
+ <a href="index.html#grouped_links.tutorial.boostbook_integration" title="Boostbook&#10; integration">Boostbook
+ integration</a>
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Add the following lines to your jamfile.v2
+ </p>
+ <pre class="programlisting">
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">chapters</span><span class="special">.</span><span class="identifier">show</span><span class="special">=</span><span class="string">"'true'"</span>
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">show</span><span class="special">=</span><span class="string">"'true'"</span>
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">xml</span><span class="special">=</span><span class="string">"'sections.XML'"</span> <span class="preprocessor"># your</span> <span class="identifier">XML</span> <span class="identifier">sections</span>
+</pre>
+ <p>
+ GroupedLinks select boxes for boost libraries and internal sections can be
+ requested to boostbook using the following options:
+ </p>
+ <div class="table">
+ <a id="id2611978"></a>
+ <p class="title">
+ <b>Table 1.3. Boostbook GroupedLinks Parameters</b>
+ </p>
+ <div class="table-contents">
+ <table xmlns="" class="table" summary="Boostbook GroupedLinks Parameters">
+ <colgroup>
+ <col xmlns="http://www.w3.org/1999/xhtml" />
+ <col xmlns="http://www.w3.org/1999/xhtml" />
+ </colgroup>
+ <thead xmlns="http://www.w3.org/1999/xhtml">
+ <tr>
+ <th>
+ <p>
+ Name
+ </p>
+ </th>
+ <th>
+ <p>
+ Purpose
+ </p>
+ </th>
+ </tr>
+ </thead>
+ <tbody xmlns="http://www.w3.org/1999/xhtml">
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">show</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Include select box
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">xml</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Path to the XML definition
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <code class="computeroutput"><span class="identifier">url</span></code>
+ </p>
+ </td>
+ <td>
+ <p>
+ Base URL to use with relative paths
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <br class="table-break" />
+ <p>
+ You can configure all the parameters used by boostbook:
+ </p>
+ <pre class="programlisting">
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">js</span><span class="special">=</span><span class="string">"'grouped_links.js'"</span>
+
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">chapters</span><span class="special">.</span><span class="identifier">show</span><span class="special">=</span><span class="string">"'true'"</span>
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">chapters</span><span class="special">.</span><span class="identifier">xml</span><span class="special">=</span><span class="string">"'boost_libs_grouped_links.XML'"</span>
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">chapters</span><span class="special">.</span><span class="identifier">url</span><span class="special">=</span><span class="string">"''"</span>
+
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">show</span><span class="special">=</span><span class="string">"'true'"</span>
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">xml</span><span class="special">=</span><span class="string">"'sections_grouped_links.XML'"</span>
+<span class="special">&lt;</span><span class="identifier">xsl</span><span class="special">:</span><span class="identifier">param</span><span class="special">&gt;</span><span class="identifier">grouped</span><span class="special">.</span><span class="identifier">links</span><span class="special">.</span><span class="identifier">sections</span><span class="special">.</span><span class="identifier">url</span><span class="special">=</span><span class="string">"''"</span>
+</pre>
+ </div>
+ </div>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both">
+ <a id="grouped_links.examples"></a>
+ Examples
+ </h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ In the folder <code class="computeroutput"><span class="identifier">example</span></code> you can
+ find two examples using GropedLinks API.
+ </p>
+ <div class="variablelist">
+ <p class="title">
+ <b></b>
+ </p>
+ <dl>
+ <dt>
+ <span class="term">simple</span>
+ </dt>
+ <dd>
+ How to put a GropedLinks select box in your HTML body.
+ </dd>
+ <dt>
+ <span class="term">boostbook</span>
+ </dt>
+ <dd>
+ How to integrate GroupedLinks with boostbook and quickbook docs.
+ </dd>
+ </dl>
+ </div>
+ </div>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both">
+ <a id="grouped_links.acknowledgments"></a>
+ Acknowledgments
+ </h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ Thanks Martin Capeletto (my brother) for teaching me the basics of javascript.
+ </p>
+ <p>
+ Thanks to the ones that participates in constructing the new boost docs look
+ &amp; feel. Special thanks to John Maddock for his support during this period.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav"></div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="revised">Revised: June 13, 2007 at 00:31:24 GMT</div>
+ <div id="copyright"></div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/example.qbk
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/example.qbk 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,76 @@
+[library Boost.GroupedLinks example
+ [quickbook 1.4]
+ [authors [Capeletto, Matias]]
+ [copyright 2007 Matias Capeletto]
+ [category example]
+ [id boostbook_integration]
+ [dirname boostbook_integration]
+ [purpose
+ Boost.GroupedLinks Boostbook Integration example
+ ]
+ [source-mode c++]
+ [license
+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])
+ ]
+]
+
+[/ QuickBook Document version 1.4 ]
+
+
+[section Preface]
+Preface section
+[endsect]
+
+[section First]
+First section
+
+[section Sub A]
+First section - subsection A
+
+
+[endsect]
+
+[section Sub B]
+First section - subsection B
+
+
+[endsect]
+
+[section Sub C]
+First section - subsection C
+
+
+[endsect]
+
+[endsect]
+
+[section Second]
+Second section
+
+[section Sub A]
+Second section - subsection A
+
+
+[endsect]
+
+[section Sub B]
+Second section - subsection B
+
+
+[endsect]
+
+[endsect]
+
+[section Final]
+Final section
+
+
+[endsect]
+
+
+
+
+
+

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/jamfile.v2 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,31 @@
+# Boost.GroupedLinks
+#
+# Copyright (c) 2007 Matias Capeletto
+#
+# 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)
+
+
+# Quickbook
+# -----------------------------------------------------------------------------
+
+import quickbook ;
+
+xml example
+ :
+ example.qbk
+ ;
+
+boostbook standalone
+ :
+ example
+ :
+ # Show the sections select box, the chapters select box is showed by default
+ <xsl:param>grouped.links.sections.show="'true'"
+
+ <xsl:param>toc.max.depth=2
+ <xsl:param>toc.section.depth=4
+ <xsl:param>chunk.section.depth=3
+ ;
+

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/HTML.manifest 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,7 @@
+index.html
+boostbook_integration/first.html
+boostbook_integration/first/sub_b.html
+boostbook_integration/first/sub_c.html
+boostbook_integration/second.html
+boostbook_integration/second/sub_b.html
+boostbook_integration/final.html

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/final.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/final.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head xmlns="http://www.w3.org/1999/xhtml">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Final</title>
+ <link xmlns="" rel="stylesheet" href="../boostbook.css" type="text/css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+ <link rel="start" href="../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="up" href="../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="prev" href="second/sub_b.html" title="Sub B" />
+ </head>
+ <body>
+ <script type="text/javascript" src="../grouped_links.js"></script>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading_navigation_box">
+ <div class="grouped_links" id="chapters_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../boost_libs_grouped_links.xml',
+ 'chapters_select_box',
+ 'http://www.boost.org/libs/');
+ </script>
+ </div>
+ <div class="grouped_links" id="sections_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../sections_grouped_links.xml',
+ 'sections_select_box',
+ '.././');
+ </script>
+ </div>
+ </div>
+ <div class="heading_search_box">
+ <form id="cref" action="http://google.com/cse">
+ <input type="hidden" name="cref" value="" />
+ <div> Search Boost </div>
+ <div>
+ <input class="search_box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="second/sub_b.html">
+ <img src="../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../index.html">
+ <img src="../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../index.html">
+ <img src="../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both">
+ <a id="boostbook_integration.final"></a>
+ Final
+ </h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ Final section
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="second/sub_b.html">
+ <img src="../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../index.html">
+ <img src="../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../index.html">
+ <img src="../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision">Copyright © 2007 Matias Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head xmlns="http://www.w3.org/1999/xhtml">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>First</title>
+ <link xmlns="" rel="stylesheet" href="../boostbook.css" type="text/css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+ <link rel="start" href="../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="up" href="../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="prev" href="../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="next" href="first/sub_b.html" title="Sub B" />
+ </head>
+ <body>
+ <script type="text/javascript" src="../grouped_links.js"></script>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading_navigation_box">
+ <div class="grouped_links" id="chapters_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../boost_libs_grouped_links.xml',
+ 'chapters_select_box',
+ 'http://www.boost.org/libs/');
+ </script>
+ </div>
+ <div class="grouped_links" id="sections_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../sections_grouped_links.xml',
+ 'sections_select_box',
+ '.././');
+ </script>
+ </div>
+ </div>
+ <div class="heading_search_box">
+ <form id="cref" action="http://google.com/cse">
+ <input type="hidden" name="cref" value="" />
+ <div> Search Boost </div>
+ <div>
+ <input class="search_box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="../index.html">
+ <img src="../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../index.html">
+ <img src="../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../index.html">
+ <img src="../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="first/sub_b.html">
+ <img src="../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both">
+ <a id="boostbook_integration.first"></a>
+ First
+ </h2>
+ </div>
+ </div>
+ </div>
+ <div xmlns="" class="toc">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <dl xmlns="http://www.w3.org/1999/xhtml">
+ <dt>
+ <span class="section">
+ Sub A
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Sub B
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Sub C
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <p>
+ First section
+ </p>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="boostbook_integration.first.sub_a"></a>
+ Sub A
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ First section - subsection A
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="../index.html">
+ <img src="../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../index.html">
+ <img src="../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../index.html">
+ <img src="../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="first/sub_b.html">
+ <img src="../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision">Copyright © 2007 Matias Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first/sub_b.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first/sub_b.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head xmlns="http://www.w3.org/1999/xhtml">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Sub B</title>
+ <link xmlns="" rel="stylesheet" href="../../boostbook.css" type="text/css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+ <link rel="start" href="../../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="up" href="../first.html" title="First" />
+ <link rel="prev" href="../first.html" title="First" />
+ <link rel="next" href="sub_c.html" title="Sub C" />
+ </head>
+ <body>
+ <script type="text/javascript" src="../../grouped_links.js"></script>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading_navigation_box">
+ <div class="grouped_links" id="chapters_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../../boost_libs_grouped_links.xml',
+ 'chapters_select_box',
+ 'http://www.boost.org/libs/');
+ </script>
+ </div>
+ <div class="grouped_links" id="sections_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../../sections_grouped_links.xml',
+ 'sections_select_box',
+ '../.././');
+ </script>
+ </div>
+ </div>
+ <div class="heading_search_box">
+ <form id="cref" action="http://google.com/cse">
+ <input type="hidden" name="cref" value="" />
+ <div> Search Boost </div>
+ <div>
+ <input class="search_box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="../first.html">
+ <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../first.html">
+ <img src="../../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../../index.html">
+ <img src="../../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="sub_c.html">
+ <img src="../../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="boostbook_integration.first.sub_b"></a>
+ Sub B
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ First section - subsection B
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="../first.html">
+ <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../first.html">
+ <img src="../../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../../index.html">
+ <img src="../../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="sub_c.html">
+ <img src="../../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision">Copyright © 2007 Matias Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first/sub_c.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/first/sub_c.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head xmlns="http://www.w3.org/1999/xhtml">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Sub C</title>
+ <link xmlns="" rel="stylesheet" href="../../boostbook.css" type="text/css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+ <link rel="start" href="../../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="up" href="../first.html" title="First" />
+ <link rel="prev" href="sub_b.html" title="Sub B" />
+ <link rel="next" href="../second.html" title="Second" />
+ </head>
+ <body>
+ <script type="text/javascript" src="../../grouped_links.js"></script>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading_navigation_box">
+ <div class="grouped_links" id="chapters_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../../boost_libs_grouped_links.xml',
+ 'chapters_select_box',
+ 'http://www.boost.org/libs/');
+ </script>
+ </div>
+ <div class="grouped_links" id="sections_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../../sections_grouped_links.xml',
+ 'sections_select_box',
+ '../.././');
+ </script>
+ </div>
+ </div>
+ <div class="heading_search_box">
+ <form id="cref" action="http://google.com/cse">
+ <input type="hidden" name="cref" value="" />
+ <div> Search Boost </div>
+ <div>
+ <input class="search_box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="sub_b.html">
+ <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../first.html">
+ <img src="../../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../../index.html">
+ <img src="../../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="../second.html">
+ <img src="../../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="boostbook_integration.first.sub_c"></a>
+ Sub C
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ First section - subsection C
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="sub_b.html">
+ <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../first.html">
+ <img src="../../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../../index.html">
+ <img src="../../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="../second.html">
+ <img src="../../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision">Copyright © 2007 Matias Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/second.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/second.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head xmlns="http://www.w3.org/1999/xhtml">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Second</title>
+ <link xmlns="" rel="stylesheet" href="../boostbook.css" type="text/css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+ <link rel="start" href="../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="up" href="../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="prev" href="first/sub_c.html" title="Sub C" />
+ <link rel="next" href="second/sub_b.html" title="Sub B" />
+ </head>
+ <body>
+ <script type="text/javascript" src="../grouped_links.js"></script>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading_navigation_box">
+ <div class="grouped_links" id="chapters_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../boost_libs_grouped_links.xml',
+ 'chapters_select_box',
+ 'http://www.boost.org/libs/');
+ </script>
+ </div>
+ <div class="grouped_links" id="sections_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../sections_grouped_links.xml',
+ 'sections_select_box',
+ '.././');
+ </script>
+ </div>
+ </div>
+ <div class="heading_search_box">
+ <form id="cref" action="http://google.com/cse">
+ <input type="hidden" name="cref" value="" />
+ <div> Search Boost </div>
+ <div>
+ <input class="search_box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="first/sub_c.html">
+ <img src="../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../index.html">
+ <img src="../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../index.html">
+ <img src="../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="second/sub_b.html">
+ <img src="../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both">
+ <a id="boostbook_integration.second"></a>
+ Second
+ </h2>
+ </div>
+ </div>
+ </div>
+ <div xmlns="" class="toc">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <dl xmlns="http://www.w3.org/1999/xhtml">
+ <dt>
+ <span class="section">
+ Sub A
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Sub B
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <p>
+ Second section
+ </p>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="boostbook_integration.second.sub_a"></a>
+ Sub A
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Second section - subsection A
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="first/sub_c.html">
+ <img src="../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../index.html">
+ <img src="../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../index.html">
+ <img src="../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="second/sub_b.html">
+ <img src="../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision">Copyright © 2007 Matias Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/second/sub_b.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/boostbook_integration/second/sub_b.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head xmlns="http://www.w3.org/1999/xhtml">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Sub B</title>
+ <link xmlns="" rel="stylesheet" href="../../boostbook.css" type="text/css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+ <link rel="start" href="../../index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="up" href="../second.html" title="Second" />
+ <link rel="prev" href="../second.html" title="Second" />
+ <link rel="next" href="../final.html" title="Final" />
+ </head>
+ <body>
+ <script type="text/javascript" src="../../grouped_links.js"></script>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading_navigation_box">
+ <div class="grouped_links" id="chapters_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../../boost_libs_grouped_links.xml',
+ 'chapters_select_box',
+ 'http://www.boost.org/libs/');
+ </script>
+ </div>
+ <div class="grouped_links" id="sections_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ '../../sections_grouped_links.xml',
+ 'sections_select_box',
+ '../.././');
+ </script>
+ </div>
+ </div>
+ <div class="heading_search_box">
+ <form id="cref" action="http://google.com/cse">
+ <input type="hidden" name="cref" value="" />
+ <div> Search Boost </div>
+ <div>
+ <input class="search_box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="../second.html">
+ <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../second.html">
+ <img src="../../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../../index.html">
+ <img src="../../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="../final.html">
+ <img src="../../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div xmlns="http://www.w3.org/1999/xhtml" class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h3 class="title">
+ <a id="boostbook_integration.second.sub_b"></a>
+ Sub B
+ </h3>
+ </div>
+ </div>
+ </div>
+ <p>
+ Second section - subsection B
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="p" href="../second.html">
+ <img src="../../../../doc/html/images/prev.png" alt="Prev" />
+ </a>
+ <a accesskey="u" href="../second.html">
+ <img src="../../../../doc/html/images/up.png" alt="Up" />
+ </a>
+ <a accesskey="h" href="../../index.html">
+ <img src="../../../../doc/html/images/home.png" alt="Home" />
+ </a>
+ <a accesskey="n" href="../final.html">
+ <img src="../../../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="copyright">
+ <p xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision">Copyright © 2007 Matias Capeletto</p>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/build_grouped_links.cpp
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/build_grouped_links.cpp 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,63 @@
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <functional>
+#include <algorithm>
+
+#include <boost/property_tree/ptree.hpp>
+#include <boost/property_tree/xml_parser.hpp>
+#include <boost/optional.hpp>
+#include <boost/none.hpp>
+
+using namespace boost::property_tree;
+using namespace boost;
+using namespace std;
+
+
+optional<ptree&> find_toc( ptree& html )
+{
+ ptree& pbody = html.get_child("html.body");
+ for( ptree::iterator i = pbody.begin(), ie = pbody.end();
+ i != ie ; ++i )
+ {
+ std::cout << i->second.get<string>("<xmlattr>","") << std::endl;
+ if( i->second.get<string>("<xmlattr>","") == "body" )
+ {
+ ptree& pc = i->second.get_child("div.div.div");
+ for( ptree::iterator ic = pc.begin(), iec = pc.end();
+ ic != iec ; ++ic )
+ {
+ if( i->second.get<string>("<xmlattr>","") == "toc" )
+ {
+ return i->second.get_child("dl");
+ }
+ }
+ }
+ }
+ return none;
+}
+
+int main()
+{
+ ptree html;
+
+ std::string in_name = "index.html";
+/*
+ ifstream inhtml( in_name.c_str(), ios_base::in );
+ if( !inhtml )
+ {
+ std::cout << std::endl << "dow!" << std::endl;
+ }
+*/
+ read_xml(in_name,html);
+
+ optional<ptree&> toc = find_toc(html);
+ if( toc )
+ {
+ std::cout << std::endl << "great!" << std::endl;
+ }
+
+
+ return 0;
+}
+

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/index.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/index.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head xmlns="http://www.w3.org/1999/xhtml">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Chapter 1. Boost.GroupedLinks example</title>
+ <link xmlns="" rel="stylesheet" href="boostbook.css" type="text/css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.72.0" />
+ <link rel="start" href="index.html" title="Chapter 1. Boost.GroupedLinks example" />
+ <link rel="next" href="boostbook_integration/first.html" title="First" />
+ </head>
+ <body>
+ <script type="text/javascript" src="grouped_links.js"></script>
+ <div id="heading">
+ <div id="heading-placard"></div>
+ <div class="heading_navigation_box">
+ <div class="grouped_links" id="chapters_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ 'boost_libs_grouped_links.xml',
+ 'chapters_select_box',
+ 'http://www.boost.org/libs/');
+ </script>
+ </div>
+ <div class="grouped_links" id="sections_select_box">
+ <script type="text/javascript">
+ grouped_links_select_box(
+ 'sections_grouped_links.xml',
+ 'sections_select_box',
+ './');
+ </script>
+ </div>
+ </div>
+ <div class="heading_search_box">
+ <form id="cref" action="http://google.com/cse">
+ <input type="hidden" name="cref" value="" />
+ <div> Search Boost </div>
+ <div>
+ <input class="search_box" type="text" name="q" id="q" size="40" maxlength="255" alt="Search Text" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="n" href="boostbook_integration/first.html">
+ <img src="../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <div xmlns="http://www.w3.org/1999/xhtml" class="chapter" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title"><a id="boostbook_integration"></a>Chapter 1. Boost.GroupedLinks example</h2>
+ </div>
+ <div>
+ <div class="author">
+ <h3 class="author"><span class="firstname">Matias</span> <span class="surname">Capeletto</span></h3>
+ </div>
+ </div>
+ <div>
+ <p class="copyright">Copyright © 2007 Matias Capeletto</p>
+ </div>
+ <div>
+ <div class="legalnotice">
+ <a id="id2597309"></a>
+ <p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a xmlns="" href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt>)
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div xmlns="" class="toc">
+ <div class="box-outer-wrapper">
+ <div class="box-top-left"></div>
+ <div class="box-top-right"></div>
+ <div class="box-top"></div>
+ <div class="box-inner-wrapper">
+ <p>
+ <b>Table of Contents</b>
+ </p>
+ <dl xmlns="
http://www.w3.org/1999/xhtml">
+ <dt>
+ <span class="section">
+ Preface
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ First
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ Sub A
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Sub B
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Sub C
+ </span>
+ </dt>
+ </dl>
+ </dd>
+ <dt>
+ <span class="section">
+ Second
+ </span>
+ </dt>
+ <dd>
+ <dl>
+ <dt>
+ <span class="section">
+ Sub A
+ </span>
+ </dt>
+ <dt>
+ <span class="section">
+ Sub B
+ </span>
+ </dt>
+ </dl>
+ </dd>
+ <dt>
+ <span class="section">
+ Final
+ </span>
+ </dt>
+ </dl>
+ </div>
+ <div class="box-bottom-left"></div>
+ <div class="box-bottom-right"></div>
+ <div class="box-bottom"></div>
+ </div>
+ </div>
+ <div class="section" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both">
+ <a id="boostbook_integration.preface"></a>
+ Preface
+ </h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ Preface section
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="spirit-nav">
+ <a accesskey="n" href="boostbook_integration/first.html">
+ <img src="../../doc/html/images/next.png" alt="Next" />
+ </a>
+ </div>
+ <div id="footer">
+ <div id="footer-left">
+ <div id="revised">Revised: June 15, 2007 at 15:06:18 GMT</div>
+ <div id="copyright"></div>
+ <div id="license">
+ <p>Distributed under the
+ Boost Software License, Version 1.0.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ XHTML 1.0
+ </p>
+ <p id="banner-css">
+ CSS
+ </p>
+ <p id="banner-sourceforge">
+ SourceForge
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/sections.xml
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/boostbook_integration/xhtml/sections.xml 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--=========================================================================
+
+ Grouped links for Boost.GroupedLinks boostbook integration example
+
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+
+===========================================================================-->
+
+
+<groupedLinks version="1.0">
+
+<title tag="Sections" url="index.html"/>
+
+<group tag="Preface" url="index.html"/>
+
+<group tag="First" url="boostbook_integration/first.html">
+ <item tag="Sub A" url="boostbook_integration/first.html"/>
+ <item tag="Sub B" url="boostbook_integration/first/sub_b.html"/>
+ <item tag="Sub C" url="boostbook_integration/first/sub_c.html"/>
+</group>
+
+<group tag="Second" url="boostbook_integration/second.html">
+ <item tag="Sub A" url="boostbook_integration/second.html"/>
+ <item tag="Sub B" url="boostbook_integration/second/sub_b.html"/>
+</group>
+
+<group tag="Final" url="boostbook_integration/final.html"/>
+
+</groupedLinks>

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/simple/boost_libs.xml
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/simple/boost_libs.xml 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--=========================================================================
+
+ Grouped links for Boost Libraries documentation
+
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+
+===========================================================================-->
+
+
+<groupedLinks version="1.0">
+
+<title tag="Boost Libraries" url="index.html" />
+
+<group tag="Text processing" url="index.html" >
+<!--=======================================================================-->
+ <item tag="lexical_cast" url="conversion/lexical_cast.htm" />
+ <item tag="format" url="format/index.html" />
+ <item tag="iostreams" url="iostreams/doc/index.html" />
+ <item tag="regex" url="regex/index.html" />
+ <item tag="spirit" url="spirit/index.html" />
+ <item tag="string_algo" url="algorithm/string/index.html" />
+ <item tag="tokenizer" url="tokenizer/index.html" />
+ <item tag="wave" url="wave/index.html" />
+ <item tag="xpressive" url="xpressive/index.html" />
+
+</group>
+
+
+<group tag="Data structures" url="index.html" >
+<!--=======================================================================-->
+ <item tag="any" url="any/index.html" />
+ <item tag="array" url="array/index.html" />
+ <item tag="bimap" url="http://tinyurl.com/22sja5" />
+ <item tag="compressed_pair" url="utility/compressed_pair.htm" />
+ <item tag="dynamic_bitset" url="dynamic_bitset/dynamic_bitset.html" />
+ <item tag="graph" url="graph/doc/table_of_contents.html" />
+ <item tag="multi_array" url="multi_array/doc/index.html" />
+ <item tag="multi_index" url="multi_index/doc/index.html" />
+ <item tag="optional" url="libs/optional/doc/optional.html" />
+ <item tag="ptr_container" url="ptr_container/index.html" />
+ <item tag="property_map" url="property_map/property_map.html" />
+ <item tag="tribool" url="doc/html/tribool.html" />
+ <item tag="tuple" url="tuple/doc/tuple_users_guide.html" />
+ <item tag="variant" url="variant/index.html" />
+
+</group>
+
+
+<group tag="Algorithms" url="index.html" >
+<!--=======================================================================-->
+ <item tag="foreach" url="foreach/index.html" />
+ <item tag="minmax" url="algorithm/minmax/index.html" />
+ <item tag="range" url="range/index.html" />
+
+</group>
+
+
+<group tag="Functional" url="index.html" >
+<!--=======================================================================-->
+ <item tag="bind" url="bind/bind.html" />
+ <item tag="function" url="function/index.html" />
+ <item tag="functional" url="functional/index.htm" />
+ <item tag="hash" url="functional/hash/index.html" />
+ <item tag="lambda" url="lambda/index.html" />
+ <item tag="bind" url="bind/ref.html" />
+ <item tag="signals" url="signals/index.html" />
+ <item tag="result_of" url="utility/utility.htm#result_of" />
+
+</group>
+
+
+<group tag="Generic Programming" url="index.html" >
+<!--=======================================================================-->
+ <item tag="call_traits" url="utility/call_traits.htm" />
+ <item tag="concept_check" url="concept_check/concept_check.htm" />
+ <item tag="enable_if" url="utility/enable_if.html" />
+ <item tag="in_place_factory" url="utility/in_place_factories.html" />
+ <item tag="iterators" url="iterator/doc/index.html" />
+ <item tag="operators" url="utility/operators.htm" />
+ <item tag="typeof" url="typeof/index.html" />
+
+</group>
+
+
+<group tag="Metaprogramming" url="index.html" >
+<!--=======================================================================-->
+ <item tag="mpl" url="mpl/doc/index.html" />
+ <item tag="static_assert" url="static_assert/static_assert.htm" />
+ <item tag="type_traits" url="type_traits/index.html" />
+
+</group>
+
+
+<group tag="Concurrent" url="index.html" >
+<!--=======================================================================-->
+ <item tag="thread" url="thread/doc/index.html" />
+
+</group>
+
+
+<group tag="Math and numerics" url="index.html" >
+<!--=======================================================================-->
+ <item tag="math" url="math/doc/index.html" />
+ <item tag="conversion" url="numeric/conversion/index.html" />
+ <item tag="integer" url="integer/index.html" />
+ <item tag="interval" url="numeric/interval/doc/interval.htm" />
+ <item tag="random" url="random/index.html" />
+ <item tag="rational" url="rational/index.html" />
+ <item tag="ublas" url="numeric/ublas/doc/index.htm" />
+
+</group>
+
+
+<group tag="Input Output" url="index.html" >
+<!--=======================================================================-->
+ <item tag="io state savers" url="io/doc/ios_state.html" />
+ <item tag="program_options" url="../doc/html/program_options.html" />
+ <item tag="serialization" url="serialization/doc/index.html" />
+
+</group>
+
+
+<group tag="Memory" url="index.html" >
+<!--=======================================================================-->
+ <item tag="pool" url="pool/doc/index.html" />
+ <item tag="smart_ptr" url="smart_ptr/index.html" />
+ <item tag="utility" url="utility/utility.htm" />
+
+</group>
+
+
+<group tag="Miscellaneous" url="index.html" >
+<!--=======================================================================-->
+ <item tag="assign" url="assign/index.html" />
+ <item tag="base from member" url="utility/base_from_member.html" />
+ <item tag="crc" url="crc/index.html" />
+ <item tag="date_time" url="date_time/doc/index.html" />
+ <item tag="filesystem" url="filesystem/doc/index.htm" />
+ <item tag="parameter" url="parameter/doc/html/index.html" />
+ <item tag="preprocesor" url="preprocessor/doc/index.html" />
+ <item tag="python" url="python/doc/index.html" />
+ <item tag="timer" url="timer/index.html" />
+ <item tag="tr1" url="tr1/index.html" />
+ <item tag="statechart" url="statechart/doc/index.html" />
+ <item tag="value_initialized" url="utility/value_init.htm" />
+
+</group>
+
+
+<group tag="Compiler workarounds" url="index.html" >
+<!--=======================================================================-->
+ <item tag="compatibility" url="compatibility/index.html" />
+ <item tag="config" url="config/config.htm" />
+
+</group>
+
+
+
+</groupedLinks>
+

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/example/simple/simple.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/example/simple/simple.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,46 @@
+<!--===========================================================================
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+============================================================================-->
+
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Boost.GroupedLinks Example</title>
+<link rel="stylesheet" href="../../css/grouped_links.css" type="text/css">
+</head>
+
+<body>
+
+<!-- Include the grouped links java script api -->
+
+<script type="text/javascript" src="../../../grouped_links.js"></script>
+
+<!-- Add a div with an unique "id" attribute -->
+
+<form id="boost_libs_list">
+
+ <!-- Call the GroupedLinks "select box" with the following parameters
+ (1) GroupedLinks xml definition url
+ (2) form id
+ (3) base url for the links
+ (4) selected item [optional] -->
+
+ <script type="text/javascript">
+
+ grouped_links_select_box('boost_libs.xml',
+ 'boost_libs_list',
+ 'http://www.boost.org/libs/');
+
+ </script>
+
+</form>
+
+</body>
+</html>
+
+

Added: sandbox/boost_docs/trunk/doc/javascript/nested_links/index.html
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/nested_links/index.html 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <meta http-equiv="refresh" content="0; URL=doc/html/index.html">
+ </head>
+ <body>
+ Automatic redirection failed, click this
+ link
+ </body>
+</html>

Added: sandbox/boost_docs/trunk/doc/javascript/style_switcher.js
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/style_switcher.js 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1 @@
+/*=========================================================================== Copyright (c) 2007 Matias Capeletto Use, modification and distribution is subject to 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) ===========================================================================*/ /* Requires: common.js */ /* Requires: cookies.js */ /* Requires: load_file.js */ (function() { /* Based on http://alistapart.com/stories/alternate/ */ function set_active_stylesheet(sSelected) { var aLinks = document.getElementsByTagName('link'); for(var i = 0, len = aLinks.length; i < len; i++) { var oLink = aLinks[i]; var sTitle = oLink.getAttribute('title'); if( oLink.getAttribute('rel').indexOf('style') != -1 && sTitle ) { oLink.disabled = true; if ( sTitle == sSelected ) { oLink.disabled = false; } }
  } } function get_active_stylesheet() { var aLinks = document.getElementsByTagName('link'); for(var i = 0; i < aLinks.length; i++) { var oLink = aLinks[i]; var sTitle = oLink.getAttribute('title'); if( oLink.getAttribute('rel').indexOf('style') != -1 && sTitle && ! oLink.disabled ) { return sTitle; } } return null; } function get_preferred_stylesheet() { var aLinks = document.getElementsByTagName('link'); for(var i = 0; i < aLinks.length; i++) { var oLink = aLinks[i]; var sTitle = oLink.getAttribute('title'); var oRel = oLink.getAttribute('rel'); if( oRel.indexOf('style') != -1 && oRel.indexOf('alt' ) == -1 && sTitle ) { return sTitle; } } return null; } function include_alternate_stylesheets(sXmlUrl,sUserBaseUrl) { boostscript.load_file.load_xml(sXmlUrl, function(oXml) { var sBase
Url = sUserBaseUrl ? boostscript.common.format_base_url( sUserBaseUrl ) : './'; var oBaseUrlNode = oXml.getElementsByTagName('base')[0]; if( oBaseUrlNode != null ) { sBaseUrl += boostscript.common.format_base_url( oBaseUrlNode.getAttribute('href') ); } var oHead = document.getElementsByTagName("head")[0]; var aStyles = oXml.getElementsByTagName('style'); for( var i = 0, len = aStyles.length; i < len ; i++ ) { var oStyle = aStyles[i]; var sPref = oStyle.getAttribute('preferred'); var bPreferred = sPref ? sPref == 'true' : false; var cssNode = document.createElement('link'); cssNode.type = 'text/css'; cssNode.rel = ( (!bPreferred) ? 'alternate ' : '' ) + 'stylesheet'; cssNode.href = boostscript.common.format_url( oStyle.getAttribute('href'),sBaseUrl ); cssNode.title = oStyle.getAttribute('title')
       oHead.appendChild(cssNode); } }, true ); } function insert_style_selector(sId,sXmlUrl) { boostscript.load_file.load_xml(sXmlUrl, function(oXml) { var sStyleSwitcherBox = '<div class="ss-options">' ; var aStyles = oXml.getElementsByTagName('style'); for( var i = 0, len = aStyles.length; i < len ; i++ ) { var sTitle = aStyles[i].getAttribute('title'); sStyleSwitcherBox += '' + '

' + '
' + '' ; } document.getElementById(sId).innerHTML = sStyleSwitche
rBox + '</div>'; }, true ); } function load_user_stylesheet(e) { var sCookie = boostscript.cookies.read('style'); set_active_stylesheet( sCookie ? sCookie : get_preferred_stylesheet() ); } function save_user_stylesheet(e) { boostscript.cookies.create( 'style', get_active_stylesheet(), 365 ); } window.onload = load_user_stylesheet; window.onunload = save_user_stylesheet; // Public Interface boostscript.style_switcher.include_alternate_stylesheets = include_alternate_stylesheets; boostscript.style_switcher.insert_style_selector = insert_style_selector; boostscript.style_switcher.set_active_stylesheet = set_active_stylesheet; boostscript.style_switcher.load_user_stylesheet = load_user_stylesheet; boostscript.style_switcher.loaded = true; })();
\ No newline at end of file

Added: sandbox/boost_docs/trunk/doc/javascript/style_switcher/doc/TODO
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/javascript/style_switcher/doc/TODO 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1 @@
+

Added: sandbox/boost_docs/trunk/doc/style/html/blurbs.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/blurbs.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,113 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Table
+-----------------------------------------------------------------------------*/
+
+
+
+
+ .note,
+ .tip,
+ .important,
+ .caution,
+ .warning,
+ .sidebar
+ {
+ font-size: 10pt;
+ line-height: 1.2;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ }
+
+ .sidebar .box-inner-wrapper
+ {
+ padding-left: 28px;
+ }
+
+ .sidebar .box-inner-wrapper img
+ {
+ padding: 1pt;
+ }
+
+ .admonition-body
+ {
+ padding-left: 50px;
+ }
+
+ .admonition-graphic
+ {
+ float: left;
+ display: inline;
+ padding-top: 5px;
+ }
+
+ .admonition-title
+ {
+ font-weight: bold;
+ }
+
+ .admonition-content
+ {
+
+ }
+
+ .admonition-icon
+ {
+ border: none;
+ }
+
+ .note-icon { background: url(images/admonitions/note.png)
+ no-repeat center;
+ height: 30px; width: 30px; }
+
+ .warning-icon { background: url(images/admonitions/warning.png)
+ no-repeat center;
+ height: 30px; width: 30px; }
+
+ .caution-icon { background: url(images/admonitions/caution.png)
+ no-repeat center;
+ height: 30px; width: 30px; }
+
+ .tip-icon { background: url(images/admonitions/tip.png)
+ no-repeat center;
+ height: 30px; width: 30px; }
+
+ .important-icon { background: url(images/admonitions/important.png)
+ no-repeat center;
+ height: 30px; width: 30px; }
+
+
+ /* --- IE6 patch using the star hack --- */
+
+ * html body .note-icon { background: url(images/admonitions/solid/note.png)
+ no-repeat center; }
+
+ * html body .warning-icon { background: url(images/admonitions/solid/warning.png)
+ no-repeat center; }
+
+ * html body .caution-icon { background: url(images/admonitions/solid/caution.png)
+ no-repeat center; }
+
+ * html body .tip-icon { background: url(images/admonitions/solid/tip.png)
+ no-repeat center; }
+
+ * html body .important-icon { background: url(images/admonitions/solid/important.png)
+ no-repeat center; }
+

Added: sandbox/boost_docs/trunk/doc/style/html/box_wrapper.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/box_wrapper.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,153 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Box Wrapper
+-----------------------------------------------------------------------------*/
+
+
+ .box-outer-wrapper
+ {
+ border: 2px solid #EAEEEB;
+ border-bottom: none;
+ border-top: none;
+ background-color: white;
+ /* options:
+ (white) white;
+ (green) #FAFFFB;
+ */
+ }
+
+ .box-outer-wrapper:hover
+ {
+ background-color: #FAFFFB;
+ /* options:
+ (green ) #FAFFFB;
+ (orange) #FEFFF5;
+ (blue ) #FBFBFF;
+ */
+ }
+
+ .box-top-left
+ {
+ float: left;
+ margin-left: -2px;
+ min-height: 18px;
+ min-width: 18px;
+ background: url(images/box_wrapper/top-left.png) no-repeat top left;
+ }
+
+ .box-top-right
+ {
+ margin-right: -2px;
+ min-height: 18px;
+ min-width: 18px;
+ background: url(images/box_wrapper/top-right.png) no-repeat top right;
+ float: right;
+ }
+
+ .box-top
+ {
+ min-height: 18px;
+ background: url(images/box_wrapper/top.png) repeat-x top;
+ }
+
+ .box-inner-wrapper
+ {
+ padding-left: 18px;
+ }
+
+ .box-bottom-left
+ {
+ margin-left: -2px;
+ min-height: 28px;
+ min-width: 18px;
+ background: url(images/box_wrapper/bottom-left.png) no-repeat bottom left;
+ float: left;
+ }
+ .box-bottom-right
+ {
+ margin-right: -2px;
+ min-height: 28px;
+ min-width: 18px;
+ background: url(images/box_wrapper/bottom-right.png) no-repeat bottom right;
+ float: right;
+ }
+
+ .box-bottom
+ {
+ min-height: 28px;
+ background: url(images/box_wrapper/bottom.png) repeat-x bottom;
+ }
+
+
+ /* --- IE6 patch using the star hack --- (Thanks to Daniel James) */
+
+
+ * html body .box-top-left
+ {
+ background: url(images/box_wrapper/solid/top-left.png) no-repeat top left;
+ display: inline;
+ height: 18px;
+ width: 18px;
+ }
+
+ * html body .box-top-right
+ {
+ background: url(images/box_wrapper/solid/top-right.png) no-repeat top right;
+ display: inline;
+ height: 18px;
+ width: 18px;
+ }
+
+ * html body .box-top
+ {
+ background: url(images/box_wrapper/solid/top.png) repeat-x top;
+ height: 18px;/*
+ margin-left: -2px;
+ margin-right: -2px;
+ padding-left: -2px;
+ padding-right: -2px;*/
+ }
+
+ * html body .box-bottom-left
+ {
+ background: url(images/box_wrapper/solid/bottom-left.png) no-repeat bottom left;
+ display: inline;
+ height: 28px;
+ width: 18px;
+ margin-right: -3px;
+ }
+
+ * html body .box-bottom-right
+ {
+ background: url(images/box_wrapper/solid/bottom-right.png) no-repeat bottom right;
+ display: inline;
+ height: 28px;
+ width: 18px;
+ margin-left: -3px;
+ }
+
+ * html .box-bottom
+ {
+ background: url(images/box_wrapper/solid/bottom.png) repeat-x bottom;
+ height: 28px;
+ }
+
+
\ No newline at end of file

Added: sandbox/boost_docs/trunk/doc/style/html/callouts.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/callouts.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,53 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+
+=============================================================================*/
+
+
+
+
+/*----------------------------------------------------------------------------
+ Callouts
+-----------------------------------------------------------------------------*/
+
+
+ .calloutlist
+ {
+ padding-left: 75px;
+ padding-bottom: 10px;
+ }
+
+ .line_callout_bug img
+ {
+ float: left;
+ position:relative;
+ left: -18px;
+ top: -12px;
+ clear: left;
+ margin-left:-22px;
+ border: none;
+ }
+
+ .callout_bug a img
+ {
+ border: none;
+ }
+
+ .calloutlist dl dt a img
+ {
+ float: left;
+ border: none;
+ }
+

Added: sandbox/boost_docs/trunk/doc/style/html/conversion/boostbook_to_quickbook.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/conversion/boostbook_to_quickbook.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,607 @@
+/*=============================================================================
+
+ Html To Quickbook stylesheets
+
+ Copyright (c) 2006 Rene Rivera
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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 common quickbook structures
+-----------------------------------------------------------------------------*/
+
+@import url(quickbook_common.css);
+@import url(../syntax/kd.css);
+
+/* Include again some boostbook stylesheet settings to allow site navigation
+-----------------------------------------------------------------------------*/
+
+/* Header */
+
+/* Spirit navigation bar */
+
+.spirit-nav a::before, .spirit-nav a::after
+{
+ content: "";
+}
+
+/* footer */
+
+#footer a::before, #footer a::after
+{
+ content: "";
+}
+
+
+/* Remove boostbook style
+-----------------------------------------------------------------------------*/
+
+/* General */
+
+#body
+{
+ border: none;
+ margin: 20px;
+ padding: 0em;
+ text-indent: 0em;
+ color: black;
+ font-size: 10pt;
+ font-weight: normal;
+ font-style: normal;
+ text-decoration: none;
+ font-family: monospace;
+ background: white;
+ background-color: white;
+}
+
+p
+{
+ text-align: left;
+ font-size: 10pt;
+ line-height: 1.15;
+}
+
+/* headings */
+
+.titlepage
+{
+ line-height: 1.15;
+}
+
+.titlepage .title
+{
+ margin-bottom: 0px;
+}
+
+.titlepage .copyright
+{
+ margin-top: 0px;
+}
+
+.titlepage_logo
+{
+ display: none;
+}
+
+.titlepage_separator
+{
+ margin-bottom: 0px;
+}
+
+.section
+{
+ margin-bottom: 0px;
+}
+/*
+h1, h2, h3, h4, h5, h6,
+.title, h1 .title, h2 .title, h3 .title, h4 .title, h5 .title, h6 .title,
+.section h1, .section h2, .section h3, .section h4, .section h5, .section h6,
+.refentrytitle,
+h1 tt .computeroutput, h2 tt .computeroutput, h3 tt .computeroutput,
+h4 tt .computeroutput, h5 tt .computeroutput, h6 tt .computeroutput
+*/
+
+#body p,
+#body .title,
+#body .section > h1,
+#body .section > h2,
+#body .section > h3,
+#body .section > h4,
+#body .section > h5,
+#body .section > h6,
+#body .section
+{
+ line-height: 1.5;
+ text-align: left;
+ margin: 0px;
+ padding: 0px;
+ font-weight: normal;
+ font: 100%;
+ font-size: 10pt;
+ color: black;
+ border: none;
+ text-decoration: none;
+ font-family: monospace;
+}
+
+#body .section .title
+{
+ padding-bottom: 20px;
+}
+
+#body .section::after
+{
+ line-height: 60px;
+}
+
+/* Box wrapper */
+
+.box-outer-wrapper
+{
+ border: none;
+ margin: 0px;
+ padding: 0px;
+}
+
+.box-outer-wrapper:hover
+{
+ background-color: white;
+ margin: 0px;
+ padding: 0px;
+}
+
+.box-top-left,
+.box-top-right,
+.box-top,
+.box-bottom-left,
+.box-bottom-right,
+.box-bottom
+{
+ display: none;
+}
+
+.box-inner-wrapper
+{
+ margin: 0px;
+ padding: 0px;
+}
+
+/* Remove toc */
+
+.toc
+{
+ display: none;
+}
+
+/* Remove footnotes */
+
+.footnotes
+{
+ display: none;
+}
+
+/* Tables */
+
+.table-title, .table p .title
+{
+ margin: 0px;
+ padding: 0px;
+}
+
+.table table,
+.informaltable table
+{
+ width: 100%;
+ margin: 0px;
+ padding: 0px;
+}
+
+.table table tr th,
+.informaltable table tr th,
+.table table tr th p,
+.informaltable table tr th p,
+.table table tr td,
+.informaltable table tr td,
+.table table tr td p,
+.informaltable table tr td p
+{
+ margin: 0px;
+ padding: 0px;
+ background-color: white;
+ border: none;
+ font-size: 10pt;
+ text-align: left;
+ line-height: 1.15;
+ display: inline;
+}
+
+.table table:hover tr th,
+.informaltable table:hover tr th
+{
+ background-color: white;
+}
+
+.table table:hover tr td,
+.informaltable table:hover tr td
+{
+ background-color: white;
+}
+
+
+/* code */
+
+#body .programlisting, #body .screen, #body .synopsis
+{
+ margin: 0px;
+ padding: 0px;
+}
+
+/* Remove the style selectors */
+
+.style-switcher-box
+{
+ display: none;
+}
+
+/* Remove numbers from lists */
+
+.ol_1, .ol_a, .ol_i, .ol_A, .ol_I { list-style-type: none; }
+
+li,
+ul,
+ol
+{
+ padding: 0px;
+ margin: 0px;
+}
+
+li ul,
+li ol
+{
+ padding-left: 35px;
+}
+
+
+/* Overwritte some boostbook style
+-----------------------------------------------------------------------------*/
+
+#body a::before { content: "[@" attr(href) " "; color: #5555FF; }
+#body a::after { content: "]"; color: #5555FF; }
+#body a
+{
+ color: black;
+}
+
+#body blockquote::before, #body blockquote::after { content: ""; }
+
+div .blockquote::before { content: "[:"; color: #5555FF; }
+div .blockquote::after { content: "]"; color: #5555FF; }
+
+/* Add more quickbook related style
+-------------------------------------------------------------------------------*/
+
+/* Sections */
+
+.section .titlepage .title::before
+{
+ content: "[section ";
+ color: #5555FF;
+ font-weight: normal;
+}
+
+.section .titlepage .title::after
+{
+ content: "]";
+ color: #5555FF;
+ font-weight: normal;
+}
+
+.section .titlepage .title a
+{
+ font-weight: bold;
+}
+
+.section::after
+{
+ content: "[endsect]";
+ color: #5555FF;
+}
+
+.section a::before, .section a::after
+{
+ content: "";
+}
+
+/* Headings */
+
+
+#body .section > h1::before,
+#body .section > h2::before,
+#body .section > h3::before,
+#body .section > h4::before,
+#body .section > h5::before,
+#body .section > h6::before
+{
+ content: "[heading ";
+ color: #5555FF;
+ font-weight: normal;
+}
+
+#body .section > h1::after,
+#body .section > h2::after,
+#body .section > h3::after,
+#body .section > h4::after,
+#body .section > h5::after,
+#body .section > h6::after
+{
+ content: "]";
+ color: #5555FF;
+ font-weight: normal;
+}
+
+#body .section > h1,
+#body .section > h2,
+#body .section > h3,
+#body .section > h4,
+#body .section > h5,
+#body .section > h6
+{
+ font-weight: bold;
+ color: #5555FF;
+}
+
+
+#body .section > h1 a::before,
+#body .section > h2 a::before,
+#body .section > h3 a::before,
+#body .section > h4 a::before,
+#body .section > h5 a::before,
+#body .section > h6 a::before,
+#body .section > h1 a::after,
+#body .section > h2 a::after,
+#body .section > h3 a::after,
+#body .section > h4 a::after,
+#body .section > h5 a::after,
+#body .section > h6 a::after,
+#body .section > a::before,
+#body .section > a::before,
+#body .section > a::before,
+#body .section > a::before,
+#body .section > a::before,
+#body .section > a::before,
+#body .section > a::after,
+#body .section > a::after,
+#body .section > a::after,
+#body .section > a::after,
+#body .section > a::after,
+#body .section > a::after,
+#body .section .titlepage .title a::before,
+#body .section .titlepage .title a::after
+{
+ content: "";
+}
+
+
+/* Tables */
+
+.table table tr th,
+.informaltable table tr th,
+.table table tr th p,
+.informaltable table tr th p
+{
+ background-color: #E6E6E6;
+}
+
+table::before { content: ""; }
+
+.table .title::before { content: "[table "; color: #5555FF; font-style: normal; }
+#body .table .title b::before { content: ""; }
+#body .table .title b::after { content: ""; }
+
+#body .table > a { display: none; }
+
+/* Code */
+
+
+.computeroutput::before,
+.computeroutput::after { content: "`"; color: #5555FF; font-style: normal; }
+
+.programlisting .box-inner-wrapper::before,
+.programlisting pre::after { content: "``"; color: #5555FF; font-style: normal; }
+
+.programlisting pre::before { content: ""; }
+
+.synopsis .box-inner-wrapper,
+.programlisting .box-inner-wrapper,
+.screen .box-inner-wrapper
+{
+ margin: 0px;
+ padding: 0px;
+}
+
+.line_callout_bug,
+.callout_bug,
+.calloutlist { display: none; }
+
+
+/* Blurbs */
+
+
+.note,
+.tip,
+.important,
+.caution,
+.warning,
+.sidebar
+{
+ font-size: 10pt;
+ line-height: 1.15;
+ margin: 0px;
+ padding: 0px;
+}
+
+.sidebar .box-inner-wrapper,
+.sidebar .box-inner-wrapper img,
+.admonition-body
+{
+ padding: 0px;
+}
+
+.admonition-graphic
+{
+ display: none;
+}
+
+.admonition-title
+{
+ font-weight: normal;
+ color: #5555FF;
+}
+
+.admonition-title::before
+{
+ content: "[";
+}
+
+.admonition-body::after
+{
+ content: "]";
+ color: #5555FF;
+}
+
+.sidebar .box-inner-wrapper::before
+{
+ content: "[blurb ";
+ color: #5555FF;
+}
+
+.sidebar .box-inner-wrapper::after
+{
+ content: "] ";
+ color: #5555FF;
+}
+
+/* First page of the docs */
+
+
+#body .article a::before, #body .article a::after,
+#body .book a::before, #body .book a::after,
+#body .chapter a::before, #body .chapter a::after
+{
+ content: "";
+}
+
+.article .title::before,
+.book .title::before,
+.chapter .title::before
+{
+ content: "[article ";
+}
+
+#body .article .title,
+#body .book .title,
+#body .chapter .title
+{
+ font-weight: bold;
+}
+
+.article::after,
+.book::after,
+.chapter::after
+{
+ content: "]";
+}
+
+.article .titlepage::after,
+.book .titlepage::after,
+.chapter .titlepage::after
+{
+ padding-left: 35px;
+ content: "[purpose Unknown] [category Unknown] [quickbook 1.4]"
+}
+
+.authorgroup::before
+{
+ content: "[authors ";
+}
+
+.authorgroup::after
+{
+ content: "]";
+}
+
+.authorgroup div .author::before
+{
+ content: "[";
+}
+
+.authorgroup div .author::after
+{
+ content: "]";
+}
+
+.authorgroup div .author
+{
+ font-weight: normal;
+ line-height: 1.5;
+ padding: 0px;
+ margin: 0px;
+}
+
+.copyright::before
+{
+ content: "[copyright ";
+}
+
+.copyright::after
+{
+ content: "]";
+}
+
+div div.legalnotice p::before
+{
+ content: "[license ";
+}
+
+div div.legalnotice p::after
+{
+ content: "]";
+}
+
+.copyright,
+div div.legalnotice p
+{
+ color: black;
+ font-size: 10pt;
+ font-style: normal;
+ font-weight: normal;
+}
+
+#body .copyright,
+#body div div.legalnotice p,
+.authorgroup
+{
+ padding-left: 35px;
+}
+
+.article .title::before, .article::after,
+.authorgroup::before, .authorgroup::after,
+.authorgroup div .author::before, .authorgroup div .author::after,
+.copyright::before, .copyright::after,
+div div.legalnotice p::before, div div.legalnotice p::after,
+.article .titlepage::after
+{
+ color: #5555FF;
+ font-style: normal;
+ font-weight: normal;
+}
+
+.titlepage_separator
+{
+ display: none;
+}
+

Added: sandbox/boost_docs/trunk/doc/style/html/conversion/html_to_quickbook.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/conversion/html_to_quickbook.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,185 @@
+/*=============================================================================
+
+ Html To Quickbook stylesheets
+
+ Copyright (c) 2006 Rene Rivera
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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 url(html_to_quickbook_general.css);
+@import url(quickbook_common.css);
+
+/* General
+-----------------------------------------------------------------------------*/
+
+body, body *
+{
+ border: none;
+ margin: 0em;
+ padding: 0em;
+ text-indent: 0em;
+ color: black;
+ font-size: 10pt;
+ font-weight: normal;
+ font-style: normal;
+ text-decoration: none;
+ font-family: monospace;
+ background: white;
+ background-color: white;
+}
+
+body::before
+{
+ content: "[section Top]";
+ color: #5555FF;
+}
+
+body::after
+{
+ content: "[endsect]";
+ color: #5555FF;
+}
+
+h1 img, h2 img, h3 img, h4 img, h5 img, h6 img
+{
+ display: none;
+}
+
+/* Variable List
+-----------------------------------------------------------------------------*/
+
+dl::before { content: "[variablelist "; color: #5555FF; }
+dl::after { content: "]"; color: #5555FF; }
+dt::before { content: " [["; color: #5555FF; }
+dt::after { content: "]]"; color: #5555FF; }
+dd::before { content: "["; color: #5555FF; }
+dd::after { content: "]"; color: #5555FF; }
+
+/* Preformatted output and code
+-----------------------------------------------------------------------------*/
+
+pre::before { content: "[pre \A"; color: #5555FF; }
+pre::after { content: "\A]"; color: #5555FF; }
+code::before { content: "[^"; color: #5555FF; }
+code::after { content: "]"; color: #5555FF; }
+
+/* Text style
+-----------------------------------------------------------------------------*/
+
+i::before { content: "['"; color: #5555FF; font-style: normal; }
+i { font-style: italic; }
+i::after { content: "]"; color: #5555FF; font-style: normal; }
+
+b::before { content: "[*"; color: #5555FF; font-weight: normal; }
+b { font-weight: bold; }
+b::after { content: "]"; color: #5555FF; font-weight: normal; }
+
+u::before { content: "[_"; color: #5555FF; text-decoration: none; }
+u { text-decoration: underline; }
+u::after { content: "]"; color: #5555FF; text-decoration: none; }
+
+tt::before { content: "[^"; color: #5555FF; }
+tt::after { content: "]"; color: #5555FF; }
+
+q::before { content: "[\""; color: #5555FF; font-style: normal; }
+q { font-style: italic; }
+q::after { content: "\"]"; color: #5555FF; font-style: normal; }
+
+/* Lists
+-----------------------------------------------------------------------------*/
+
+blockquote > li::before { content: "* "; color: #5555FF; }
+ol > li::before { content: "# "; color: #5555FF; }
+ul > li::before { content: "* "; color: #5555FF; }
+ul > li { list-style: none; }
+
+/* Blockquote
+-----------------------------------------------------------------------------*/
+
+blockquote::before { content: "[:"; color: #5555FF; }
+blockquote::after { content: "]"; color: #5555FF; }
+
+/* Tables
+-----------------------------------------------------------------------------*/
+
+table { display: block; }
+tr { display: block; }
+td { display: inline; }
+th { display: inline; }
+
+table::before { content: "[table"; color: #5555FF; }
+table::after { content: "]"; color: #5555FF; }
+
+tr::before { content: "["; color: #5555FF; }
+tr::after { content: "]"; color: #5555FF; }
+td::before { content: "["; color: #5555FF; }
+td::after { content: "]"; color: #5555FF; }
+th::before { content: "["; color: #5555FF; }
+th::after { content: "]"; color: #5555FF; }
+
+/* Forms
+-----------------------------------------------------------------------------*/
+
+form { display: none; }
+
+/* Links
+-----------------------------------------------------------------------------*/
+
+a::before { content: "[@" attr(href) " "; color: #5555FF; }
+a::after { content: "]"; color: #5555FF; }
+
+/* Sections and Headings
+-----------------------------------------------------------------------------*/
+
+h1, h2, h3, h4, h5, h6, p, pre, dl, ul, blockquote {
+ margin-top: 1em;
+}
+
+h1::before, h2::before, h3::before, h4::before, h5::before, h6::before
+{
+ content: "[endsect] [/br][/br] [section ";
+ color: #5555FF;
+}
+
+h1::after, h2::after, h3::after, h4::after, h5::after, h6::after
+{
+ content: "]";
+ color: #5555FF;
+}
+
+h1 a::before, h2 a::before, h3 a::before, h4 a::before, h5 a::before, h6 a::before,
+h1 a::after, h2 a::after, h3 a::after, h4 a::after, h5 a::after, h6 a::after
+{
+ content: "";
+}
+
+/* Images
+-----------------------------------------------------------------------------*/
+
+/* TODO
+img::before
+{
+ content: "[$" attr(src);
+ color: #5555FF;
+}
+
+img::after
+{
+ content: "]";
+ color: #5555FF;
+}
+
+
+*/
+
+img
+{
+ max-height: 100px;
+ max-width: 100px;
+ overflow: hidden;
+}

Added: sandbox/boost_docs/trunk/doc/style/html/conversion/html_to_quickbook_general.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/conversion/html_to_quickbook_general.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,52 @@
+/*=============================================================================
+
+ Html To Quickbook stylesheets
+
+ Copyright (c) 2006 Rene Rivera
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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 url(quickbook_common.css)
+
+/* General
+-----------------------------------------------------------------------------*/
+
+body, body *
+{
+ border: none;
+ margin: 0em;
+ padding: 0em;
+ text-indent: 0em;
+ color: black;
+ font-size: 10pt;
+ font-weight: normal;
+ font-style: normal;
+ text-decoration: none;
+ font-family: monospace;
+ background: white;
+ background-color: white;
+}
+
+body::before
+{
+ content: "[section Top]";
+ color: #5555FF;
+}
+
+body::after
+{
+ content: "[endsect]";
+ color: #5555FF;
+}
+
+h1 img, h2 img, h3 img, h4 img, h5 img, h6 img
+{
+ display: none;
+}
+

Added: sandbox/boost_docs/trunk/doc/style/html/conversion/quickbook_common.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/conversion/quickbook_common.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,152 @@
+/*=============================================================================
+
+ Html To Quickbook stylesheets
+
+ Copyright (c) 2006 Rene Rivera
+ Copyright (c) 2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+=============================================================================*/
+
+/* General
+-----------------------------------------------------------------------------*/
+
+
+/* Variable List
+-----------------------------------------------------------------------------*/
+
+dl::before { content: "[variablelist "; color: #5555FF; font-weight:normal; }
+dl::after { content: "]"; color: #5555FF; font-weight:normal; }
+dt::before { content: " [["; color: #5555FF; font-weight:normal; }
+dt { font-weight:bold; }
+dt::after { content: "]"; color: #5555FF; font-weight:normal; }
+dd::before { content: "["; color: #5555FF; font-weight:normal; }
+dd::after { content: "]]"; color: #5555FF; font-weight:normal; }
+
+/* Preformatted output and code
+-----------------------------------------------------------------------------*/
+
+pre::before { content: "[pre \A"; color: #5555FF; }
+pre::after { content: "\A]"; color: #5555FF; }
+code::before { content: "[^"; color: #5555FF; }
+code::after { content: "]"; color: #5555FF; }
+
+/* Text style
+-----------------------------------------------------------------------------*/
+
+i::before, .emphasis::before { content: "['"; }
+i, .emphasis { font-style: italic; }
+i::after, .emphasis::after { content: "]"; }
+
+b::before, .bold::before { content: "[*"; }
+b, .bold { font-weight: bold; }
+b::after, .bold::after { content: "]"; }
+
+u::before, .underline::before { content: "[_"; }
+u, .underline { text-decoration: underline; }
+u::after, .underline::after { content: "]"; }
+
+tt::before, .literal::before { content: "[^"; }
+tt, .literal { font-style: normal; }
+tt::after, .literal::after { content: "]"; }
+
+q::before, .quote::before { content: "[\""; }
+q::after, .quote::after { content: "\]"; }
+
+.strikethrough::before { content: "[-"; }
+.strikethrough { text-decoration: strikethrough; }
+.strikethrough::after { content: "]"; }
+
+.replaceable code::before { content: "[~"; }
+.replaceable code { font-style: italic; }
+.replaceable code::after { content: "]"; }
+
+i::before, i::after, .emphasis::before, .emphasis::after,
+b::before, b::after, .bold::before, .bold::after,
+u::before, u::after, .underline::before, .underline::after,
+tt::before, tt::after, .literal::before, .literal::after,
+q::before, q::after, .quote::before,.quote::after,
+.strikethrough::before, .strikethrough::after,
+.replaceable code::before, .replaceable code::after
+{
+ font-style: normal;
+ font-weight: normal;
+ text-decoration: none;
+ color: #5555FF;
+}
+
+
+
+
+
+/* Lists
+-----------------------------------------------------------------------------*/
+
+blockquote > li::before { content: "* "; color: #5555FF; }
+ol > li::before { content: "# "; color: #5555FF; }
+ul > li::before { content: "* "; color: #5555FF; }
+ul > li { list-style: none; }
+
+/* Blockquote
+-----------------------------------------------------------------------------*/
+
+blockquote::before { content: "[:"; color: #5555FF; }
+blockquote::after { content: "]"; color: #5555FF; }
+
+/* Tables
+-----------------------------------------------------------------------------*/
+
+table { display: block; }
+tr { display: block; }
+td { display: inline; }
+th { display: inline; }
+
+table::before { content: "[table"; color: #5555FF; }
+table::after { content: "]"; color: #5555FF; }
+
+tr::before { content: "["; color: #5555FF; font-weight: normal; }
+tr::after { content: "]"; color: #5555FF; font-weight: normal; }
+td::before { content: "["; color: #5555FF; font-weight: normal; }
+td::after { content: "]"; color: #5555FF; font-weight: normal; }
+th::before { content: "["; color: #5555FF; font-weight: normal;
+ background-color: white; }
+th { font-weight: bold; background-color: #E6E6E6; }
+th::after { content: "]"; color: #5555FF; font-weight: normal;
+ background-color: white; }
+
+/* Links
+-----------------------------------------------------------------------------*/
+
+a::before { content: "[@" attr(href) " "; color: #5555FF; }
+a::after { content: "]"; color: #5555FF; }
+
+/* Sections and Headings
+-----------------------------------------------------------------------------*/
+
+
+
+/* Images
+-----------------------------------------------------------------------------*/
+
+img::before
+{
+ content: "[$" attr(src);
+ color: #5555FF;
+}
+
+img::after
+{
+ content: "]";
+ color: #5555FF;
+}
+
+img
+{
+ max-height: 300px;
+ max-width: 500px;
+ overflow: hidden;
+}
+

Added: sandbox/boost_docs/trunk/doc/style/html/footer.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/footer.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,69 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Footer
+-----------------------------------------------------------------------------*/
+
+
+ #footer {
+ color: #666666;
+ margin: 1.5em;
+ padding: 0em;
+ clear: both;
+ background: #FFFFFF url(images/footer/background.png) repeat-x top left;
+ border: none;
+ }
+
+ #footer-left {
+ float: left;
+ padding: 0.65em;
+ min-height: 100px;
+ background: url(images/footer/background-left.png) no-repeat top left;
+ }
+
+ #footer-right {
+ float: right;
+ padding: 0.65em;
+ min-height: 100px;
+ background: url(images/footer/background-right.png) no-repeat top right;
+ }
+
+ #footer p {
+ margin: 0em;
+ padding: 0em;
+ font-size: 75%;
+ text-align: left;
+ }
+
+ #footer #banners p {
+ float: left;
+ margin: 0em 0em 0em 1em;
+ }
+
+ #footer #banners a {
+ display: block;
+ }
+
+ #footer #banner-sourceforge {
+ /*background: url(http://sourceforge.net/sflogo.php?group_id=7586&type=1) no-repeat fixed 0px 5em;*/
+ }
+
+
+

Added: sandbox/boost_docs/trunk/doc/style/html/general.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/general.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,109 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ General
+-----------------------------------------------------------------------------*/
+
+
+ .clear
+ {
+ clear : both;
+ width : 100%;
+ height : 1px;
+ overflow : hidden;
+ }
+
+ body
+ {
+ font-family: sans-serif;
+ min-width : 43em;
+ margin: 0;
+ }
+
+ #body
+ {
+ clear : both;
+ border : none;
+ width : 100%;
+ background : #ffffff;
+ }
+
+ #content
+ {
+ margin: 1em;
+ clear : both;
+ border : none;
+ }
+
+ p
+ {
+ text-align: left;
+ font-size: 10pt;
+ line-height: 1.15;
+ }
+
+
+ a
+ {
+ text-decoration: none;
+ border: none;
+ color: #0C7445;
+ }
+
+ a:hover { text-decoration: underline; }
+ a:visited { color: #663974; }
+
+
+ span.title { font-style: italic; }
+ span.underline { text-decoration: underline; }
+ span.strikethrough { text-decoration: line-through; }
+ span.highlight { color: #00A000; }
+ div div.legalnotice p { text-align: left; color: #666666; }
+ .copyright { font-size: small; color: #666666; }
+
+
+ .titlepage
+ {
+ line-height: 0.6;
+ }
+
+ .titlepage .title
+ {
+ margin-bottom: 30px;
+ }
+
+ .titlepage .copyright
+ {
+ margin-top: 30px;
+ }
+
+ .titlepage_logo
+ {
+ text-align: center;
+ }
+
+ .titlepage_separator
+ {
+ margin-bottom: 30px;
+ }
+
+ .section
+ {
+ margin-bottom: 20px;
+ }

Added: sandbox/boost_docs/trunk/doc/style/html/header.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/header.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,90 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Page Header
+-----------------------------------------------------------------------------*/
+
+
+ @import url(nested_links.css);
+
+ body
+ {
+ background: #ffffff url(images/header/background-more.png) repeat-x top left;
+ color: black;
+ }
+
+ #heading
+ {
+ height: 100px;
+ background: url(images/header/background.png) no-repeat top left;
+ border-bottom: solid 1px;
+ }
+
+ .heading-logo
+ {
+ text-align: left;
+ border: none;
+ }
+
+ div.search-box
+ {
+ text-align: right;
+ padding-bottom: 10px;
+ padding-right: 10px;
+ height: 40px;
+ color: white;
+ font-weight: bold;
+ background : transparent;
+ }
+
+ input.search-box
+ {
+ background-color: #BEDEBA;
+ font-weight: bold;
+ font-size: 12px;
+ color: #006D00;
+ border: 1px solid #DCDCDC;
+ border-bottom: 1px solid #9D9D9D;
+ border-right: 1px solid #9D9D9D;
+ padding-bottom: 3px;
+ padding-left: 3px;
+ }
+
+ .heading-navigation-box
+ {
+ text-align: right;
+ padding-top: 10px;
+ padding-right: 10px;
+ height: 40px;
+ background : transparent;
+ }
+
+ .search-box-label::before
+ {
+ content: "Search Boost";
+ }
+
+ /* --- IE6 patch using the star hack --- (Thanks to Daniel James) */
+
+
+ * html body #heading
+ {
+ border-bottom: none;
+ }

Added: sandbox/boost_docs/trunk/doc/style/html/headings.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/headings.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,93 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Headings
+-----------------------------------------------------------------------------*/
+
+ h1, h2, h3, h4, h5, h6
+ {
+ text-align: left;
+ margin: 1em 0em 0.5em 0em;
+ font-weight: bold;
+ }
+
+ h1 { font: 140% }
+ h2 { font: bold 140% }
+ h3 { font: bold 130% }
+ h4 { font: bold 120% }
+ h5 { font: italic 110% }
+ h6 { font: italic 100% }
+
+ /* Top page titles */
+ title,
+ h1.title,
+ h2.title,
+ h3.title,
+ h4.title,
+ h5.title,
+ h6.title,
+ .refentrytitle
+ {
+ font-weight: bold;
+ margin-bottom: 1pc;
+ }
+
+ h1.title { font-size: 140% }
+ h2.title { font-size: 140% }
+ h3.title { font-size: 130% }
+ h4.title { font-size: 120% }
+ h5.title { font-size: 110% }
+ h6.title { font-size: 100% }
+
+ .section h1
+ {
+ margin: 0em 0em 0.5em 0em;
+ font-size: 140%;
+ }
+
+ .section h2 { font-size: 140% }
+ .section h3 { font-size: 130% }
+ .section h4 { font-size: 120% }
+ .section h5 { font-size: 110% }
+ .section h6 { font-size: 100% }
+
+ /* Code on titles */
+ h1 tt.computeroutput { font-size: 140% }
+ h2 tt.computeroutput { font-size: 140% }
+ h3 tt.computeroutput { font-size: 130% }
+ h4 tt.computeroutput { font-size: 120% }
+ h5 tt.computeroutput { font-size: 110% }
+ h6 tt.computeroutput { font-size: 100% }
+
+
+ h3.author
+ {
+ font-size: 100%
+ }
+
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
+ h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
+ h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
+ {
+ text-decoration: none; /* no underline */
+ color: #000000;
+ border: none;
+ }
+

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/caution.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/important.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/note.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/caution.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/important.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/note.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/tip.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/solid/warning.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/tip.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/admonitions/warning.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/bottom-left.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/bottom-right.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/bottom.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/bottom-left.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/bottom-right.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/bottom.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/top-left.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/top-right.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/solid/top.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/top-left.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/top-right.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/box_wrapper/top.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/1.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/10.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/11.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/12.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/13.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/14.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/15.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/2.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/3.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/4.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/5.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/6.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/7.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/8.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/callouts/9.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/footer/background-left.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/footer/background-right.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/footer/background.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/header/background-more.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/header/background.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/navigation/home.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/navigation/next.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/navigation/prev.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/navigation/up.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/bc.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/cw.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/em.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/kd.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/sc.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/bc.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/cw.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/em.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/kd.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/sc.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/solid/vs.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/images/syntax/vs.png
==============================================================================
Binary file. No diff available.

Added: sandbox/boost_docs/trunk/doc/style/html/lists.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/lists.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,85 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Lists
+-----------------------------------------------------------------------------*/
+
+
+ li
+ {
+ font-size: 10pt;
+ line-height: 1.3;
+ }
+
+ /* Unordered lists */
+ ul
+ {
+ text-align: left;
+ }
+
+ /* Ordered lists */
+ ol
+ {
+ text-align: left;
+ }
+
+ .ol_1 { list-style-type: decimal; }
+ .ol_a { list-style-type: lower-alpha; }
+ .ol_i { list-style-type: lower-roman; }
+ .ol_A { list-style-type: upper-alpha; }
+ .ol_I { list-style-type: upper-roman; }
+
+ /* Make the terms in definition lists bold */
+ .variablelist dl dt,
+ .term
+ {
+ font-weight: bold;
+ font-size: 10pt;
+ }
+
+ .variablelist table tbody tr td
+ {
+ text-align: left;
+ vertical-align: top;
+ padding: 0em 2em 0em 0em;
+ font-size: 10pt;
+ margin: 0em 0em 0.5em 0em;
+ line-height: 1;
+ }
+
+ /* Make the terms in definition lists bold */
+ .variablelist dl dt
+ {
+ margin-bottom: 0.2em;
+ }
+
+ .variablelist dl dd
+ {
+ margin: 0em 0em 0.5em 2em;
+ font-size: 10pt;
+ }
+
+ .variablelist table tbody tr td p
+ .variablelist dl dd p
+ {
+ margin: 0em 0em 0.5em 0em;
+ line-height: 1;
+ }
+
+

Added: sandbox/boost_docs/trunk/doc/style/html/main.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/main.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,73 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+
+=============================================================================*/
+
+
+ @import url(general.css);
+
+ @import url(header.css);
+
+ @import url(footer.css);
+
+ @import url(spirit_nav.css);
+
+ @import url(headings.css);
+
+ @import url(box_wrapper.css);
+
+ @import url(toc.css);
+
+ @import url(table.css);
+
+ @import url(lists.css);
+
+ @import url(blurbs.css);
+
+ @import url(programlisting.css);
+
+ @import url(callouts.css);
+
+ @import url(syntax/vs.css);
+
+/*----------------------------------------------------------------------------
+ Overwrite some style elements for print
+ (this may be moved inside each individual css)
+-----------------------------------------------------------------------------*/
+
+ @media print
+ {
+ /* Links */
+ a
+ {
+ color: black;
+ }
+
+ a:visited
+ {
+ color: black;
+ }
+
+ .spirit-nav
+ {
+ display: none;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ font-weight: bold;
+ }
+ }

Added: sandbox/boost_docs/trunk/doc/style/html/nested_links.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/nested_links.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,66 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Grouped Links
+-----------------------------------------------------------------------------*/
+
+
+ div.nested-links-select-box
+ {
+ display: inline;
+ }
+
+ select.nested-links
+ {
+ background-color: #BEDEBA;
+ font-weight: bold;
+ font-size: 12px;
+ color: #006D00;
+ border: 1px solid #DCDCDC;
+ border-bottom: 1px solid #9D9D9D;
+ border-right: 1px solid #9D9D9D;
+ padding-bottom: 1px;
+ padding-right: 1px;
+ }
+
+ option.nested-links-title
+ {
+ background-color: #BEDEBA;
+ font-weight: bold;
+ font-size: 12px;
+ color: #006D00;
+ }
+
+ option.nested-links-first
+ {
+ background-color: #008000;
+ font-weight: bold;
+ font-size: 12px;
+ color: white;
+ }
+
+ option.nested-links-second
+ {
+ background-color: #FAFFFB;
+ padding: 0px 0px 0px 12px;
+ color: #006D00;
+ font-weight: normal;
+ }
+

Added: sandbox/boost_docs/trunk/doc/style/html/programlisting.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/programlisting.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,149 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Program Listing
+-----------------------------------------------------------------------------*/
+
+
+ p tt.computeroutput
+ {
+ font-size: 10pt;
+ }
+
+ .synopsis
+ {
+ font-size: 10pt;
+ margin: 1pc 4% 0pc 4%;
+ }
+
+ .programlisting,
+ .screen
+ {
+ font-size: 10pt;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ }
+
+ .synopsis .box-inner-wrapper,
+ .programlisting .box-inner-wrapper,
+ .screen .box-inner-wrapper
+ {
+ padding-left: 30px;
+ }
+
+
+ .style-switcher-box
+ {
+ margin-top: -20px;
+ padding-right: 10px;
+ float: right;
+ overflow: hidden;
+ height: 30px;
+ }
+
+ .ss-options
+ {
+ padding-top: 40px;
+ }
+
+ .ss-options:hover
+ {
+ padding-top: 0px;
+ }
+
+ .ss-option-vs
+ {
+ float: left;
+ background: url(images/syntax/vs.png) no-repeat center;
+ height: 30px; width: 30px;
+ }
+
+ .ss-option-kd
+ {
+ float: left;
+ background: url(images/syntax/kd.png) no-repeat center;
+ height: 30px; width: 30px;
+ }
+
+ .ss-option-sc
+ {
+ float: left;
+ background: url(images/syntax/sc.png) no-repeat center;
+ height: 30px; width: 30px;
+ }
+
+ .ss-option-cw
+ {
+ float: left;
+ background: url(images/syntax/cw.png) no-repeat center;
+ height: 30px; width: 30px;
+ }
+
+ .ss-option-bc
+ {
+ float: left;
+ background: url(images/syntax/bc.png) no-repeat center;
+ height: 30px; width: 30px;
+ }
+
+ .ss-option-em
+ {
+ float: left;
+ background: url(images/syntax/em.png) no-repeat center;
+ height: 30px; width: 30px;
+ }
+
+ * html body .ss-options
+ {
+ padding-top: 0px;
+ }
+
+ * html body .ss-option-vs
+ {
+ background: url(images/syntax/solid/vs.png) no-repeat center;
+ }
+
+ * html body .ss-option-kd
+ {
+ background: url(images/syntax/solid/kd.png) no-repeat center;
+ }
+
+ * html body .ss-option-sc
+ {
+ background: url(images/syntax/solid/sc.png) no-repeat center;
+ }
+
+ * html body .ss-option-cw
+ {
+ background: url(images/syntax/solid/cw.png) no-repeat center;
+ }
+
+ * html body .ss-option-em
+ {
+ background: url(images/syntax/solid/em.png) no-repeat center;
+ }
+
+ * html body .ss-option-bc
+ {
+ background: url(images/syntax/solid/bc.png) no-repeat center;
+ }
+
+
+

Added: sandbox/boost_docs/trunk/doc/style/html/spirit_nav.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/spirit_nav.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,63 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Spirit Navigation
+-----------------------------------------------------------------------------*/
+
+
+ .spirit-nav
+ {
+ margin: 16px;
+ float: right;
+ }
+
+ .spirit-nav-icon
+ {
+ float: left;
+ margin-bottom: 10px;
+ }
+
+ .prev-icon
+ {
+ background: url(images/navigation/prev.png)
+ no-repeat center;
+ height: 30px; width: 30px;
+ }
+
+ .next-icon
+ {
+ background: url(images/navigation/next.png)
+ no-repeat center;
+ height: 30px; width: 30px;
+ }
+
+ .up-icon
+ {
+ background: url(images/navigation/up.png)
+ no-repeat center;
+ height: 30px; width: 30px;
+ }
+
+ .home-icon
+ {
+ background: url(images/navigation/home.png)
+ no-repeat center;
+ height: 30px; width: 30px;
+ }

Added: sandbox/boost_docs/trunk/doc/style/html/syntax.xml
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/syntax.xml 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<styleList>
+
+ <base href="syntax" />
+
+ <style title="vs" href="vs.css" preferred="true" />
+ <style title="kd" href="kd.css" />
+ <style title="em" href="em.css" />
+ <style title="cw" href="cw.css" />
+ <style title="bc" href="bc.css" />
+ <style title="sc" href="sc.css" />
+
+</styleList>
\ No newline at end of file

Added: sandbox/boost_docs/trunk/doc/style/html/syntax/bc.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/syntax/bc.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,37 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Borland Syntax Highlighting
+-----------------------------------------------------------------------------*/
+
+
+ .keyword { color: #0F208E; font-weight: bold; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #2A7DC6; }
+ .char { color: #0F208E; }
+ .comment { color: #038302; }
+ .string { color: #0F208E; }
+ .number { color: #0F208E; }
+ .white_bkd { background-color: #E8FBE9; }
+ .dk_grey_bkd { background-color: #A0DAAC; }
+
+
+
+

Added: sandbox/boost_docs/trunk/doc/style/html/syntax/cw.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/syntax/cw.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,34 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Code Warrior Syntax Highlighting
+-----------------------------------------------------------------------------*/
+
+
+ .keyword { color: #0000B3; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #0000B3; }
+ .char { color: #666666; }
+ .comment { color: #B30000; }
+ .string { color: #666666; }
+ .number { color: #000000; }
+ .white_bkd { background-color: #E8FBE9; }
+ .dk_grey_bkd { background-color: #A0DAAC; }
+

Added: sandbox/boost_docs/trunk/doc/style/html/syntax/em.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/syntax/em.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,34 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Emacs Syntax Highlighting
+-----------------------------------------------------------------------------*/
+
+
+ .keyword { color: #8B0000; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #0000CD; }
+ .char { color: #008B00; }
+ .comment { color: #00008B; }
+ .string { color: #008B00; }
+ .number { color: #000000; }
+ .white_bkd { background-color: #E8FBE9; }
+ .dk_grey_bkd { background-color: #A0DAAC; }
+

Added: sandbox/boost_docs/trunk/doc/style/html/syntax/kd.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/syntax/kd.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,34 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ KDevelop Syntax Highlighting
+-----------------------------------------------------------------------------*/
+
+
+ .keyword { color: #000000; font-weight: bold; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #008000; }
+ .char { color: #FF00FF; }
+ .comment { color: #808080; font-style: italic; }
+ .string { color: #DD0000; }
+ .number { color: #0000FF; }
+ .white_bkd { background-color: #E8FBE9; }
+ .dk_grey_bkd { background-color: #A0DAAC; }
+

Added: sandbox/boost_docs/trunk/doc/style/html/syntax/sc.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/syntax/sc.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,36 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ SciTE Syntax Highlighting
+-----------------------------------------------------------------------------*/
+
+
+ .keyword { color: #3300CC; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #009999; }
+ .char { color: teal; }
+ .comment { color: #009900; }
+ .string { color: teal; }
+ .number { color: teal; }
+ .white_bkd { background-color: #E8FBE9; }
+ .dk_grey_bkd { background-color: #A0DAAC; }
+
+
+

Added: sandbox/boost_docs/trunk/doc/style/html/syntax/vs.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/syntax/vs.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,34 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Visual Studio Syntax Highlighting
+-----------------------------------------------------------------------------*/
+
+ .keyword { color: #0000FF; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #0000FF; }
+ .char { color: #A31515; }
+ .comment { color: #008000; }
+ .string { color: #A31515; }
+ .number { color: #000000; }
+ .white_bkd { background-color: #E8FBE9; }
+ .dk_grey_bkd { background-color: #A0DAAC; }
+
+

Added: sandbox/boost_docs/trunk/doc/style/html/table.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/table.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,99 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Table
+-----------------------------------------------------------------------------*/
+
+
+ .table-title,
+ .table p .title
+ {
+ margin-left: 4%;
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+ margin-top: 25px;
+ }
+
+ .table table,
+ .informaltable table
+ {
+ width: 92%;
+ margin-left: 4%;
+ margin-right: 4%;
+ }
+
+ /* Table Cells */
+
+ .table table tr th,
+ .informaltable table tr th
+ {
+ margin: 2px;
+ margin-bottom: 8px;
+ padding: 0.5em;
+ padding-top: 10px;
+ padding-bottom: 0px;
+ background-color: #F8F8F8;
+ border: 1px solid #ECECEC;
+ }
+
+ .table table tr th p,
+ .informaltable table tr th p
+ {
+ font-size: 10pt;
+ text-align: center;
+ line-height: 1.2;
+ margin: 0;
+ padding: 0;
+ padding-bottom: 10px;
+ }
+
+ .table table tr td,
+ .informaltable table tr td
+ {
+ margin: 2px;
+ padding: 0.5em;
+ padding-top: 10px;
+ padding-bottom: 0px;
+ background-color: white;
+ border: 1px solid #ECECEC;
+ }
+
+ .table table tr td p,
+ .informaltable table tr td p
+ {
+ text-align: left;
+ font-size: 10pt;
+ line-height: 1.2;
+ margin: 0;
+ padding: 0;
+ padding-bottom: 10px;
+ }
+
+ .table table:hover tr th,
+ .informaltable table:hover tr th
+ {
+ background-color: #E3F9E4;
+ }
+
+ .table table:hover tr td,
+ .informaltable table:hover tr td
+ {
+ background-color: #FAFFFB;
+ }
+

Added: sandbox/boost_docs/trunk/doc/style/html/toc.css
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/html/toc.css 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,34 @@
+/*=============================================================================
+
+ Boostbook Green Style
+
+ Copyright (c) 2006-2007 Matias Capeletto
+
+ Use, modification and distribution is subject to 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)
+
+ Acknowledgments:
+ This css is based on ideas from stylesheets from Joel De Guzman and
+ Rene Rivera.
+
+=============================================================================*/
+
+
+
+/*----------------------------------------------------------------------------
+ Table of contents
+-----------------------------------------------------------------------------*/
+
+
+ .toc
+ {
+ margin: 1pc 4% 0pc 4%;
+ font-size: 10pt;
+ line-height: 1.15;
+ }
+
+ div.toc div.box-inner-wrapper
+ {
+ padding-left: 36px;
+ }
\ No newline at end of file

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/DangerGeneral.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/DangerGeneral.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg height="144.407" id="svg1609" inkscape:version="0.40" sodipodi:docbase="/mnt/donnees/09-Mes_images/Travaux/Travaux vectoriel/pictogrammes/sécu SVG/Avertissement" sodipodi:docname="DangerGeneral.svg" sodipodi:version="0.32" width="156.262" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>advertising</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li></rdf:li>
+ <rdf:li>caution</rdf:li>
+ <rdf:li>security</rdf:li>
+ <rdf:li>warning</rdf:li>
+ <rdf:li>signs_and_symbols</rdf:li>
+ <rdf:li>sign</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org">
+ <dc:title>yves GUILLOU</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>yves GUILLOU</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>yves GUILLOU</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date></dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="svg1609" inkscape:cx="52.528651" inkscape:cy="59.396977" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="929" inkscape:window-width="1291" inkscape:window-x="140" inkscape:window-y="75" inkscape:zoom="4.9119411" pagecolor="#ffffff"/>
+ <defs id="defs1610">
+ <marker id="ArrowEnd" markerHeight="3" markerUnits="strokeWidth" markerWidth="4" orient="auto" refX="0" refY="5" viewBox="0 0 10 10">
+ <path d="M 0 0 L 10 5 L 0 10 z" id="path1612"/>
+ </marker>
+ <marker id="ArrowStart" markerHeight="3" markerUnits="strokeWidth" markerWidth="4" orient="auto" refX="10" refY="5" viewBox="0 0 10 10">
+ <path d="M 10 0 L 0 5 L 10 10 z" id="path1614"/>
+ </marker>
+ </defs>
+ <g id="g1615">
+ <path d="M 12.473000,121.08200 C 11.559033,122.84329 10.481800,124.49000 10.481700,126.42300 L 10.490728,127.23088 C 10.490728,131.40288 13.756600,133.92500 17.511300,133.92500 L 138.83100,133.92500 C 142.58600,133.92500 145.81986,130.79848 145.81986,126.62648 L 145.78000,125.81500 C 145.78000,123.88200 144.82971,122.20348 143.78900,120.47400 L 83.705600,12.693800 C 81.051000,9.7442300 76.747300,9.7442300 74.092300,12.694200 L 12.473000,121.08200 z " id="path1616" sodipodi:nodetypes="ccccccccccc" style="stroke:#000000; stroke-width:2; fill:#ffffff"/>
+ <path d="M 78.703 16.2915L 15.2797 128.128L 76.4667 128.128L 79.3188 128.128L 139.826 128.128L 79.5155 16.2915L 78.703 16.2915z" id="path1617" style="stroke:#000000; stroke-width:4.8516000000000004; stroke-linejoin:round; stroke-linecap:round; fill:#ffcc00"/>
+ </g>
+ <g id="g1618">
+ <path d="M 84.366054,45.157900 C 85.289904,46.139400 85.469800,46.370250 85.931700,48.160100 C 86.393600,49.949950 87.405817,53.469087 86.291592,57.462546 C 85.829592,64.390946 86.129850,70.967972 85.856575,77.979383 C 85.583663,84.981490 87.317400,93.426000 79.234100,95.042600 C 77.155600,95.273600 75.077100,93.887900 74.268800,91.924800 C 72.883100,77.837000 71.497500,64.442000 70.111700,50.700600 C 71.266400,47.120900 74.153200,43.656700 77.617500,43.194800 C 81.081800,42.732900 83.442204,44.176400 84.366054,45.157900 z " id="path1619" sodipodi:nodetypes="czczccczz" style="stroke:none; fill:#000000"/>
+ <path d="M 83.1603 103.357C 86.3936 105.32 86.9709 108.9 86.9709 112.479C 85.5852 115.944 84.0841 119.985 79.5806 119.985C 76.8092 119.87 74.1533 119.292 72.3057 117.214C 71.151 113.057 68.4951 108.784 72.3057 105.32C 75.1926 101.278 79.2341 102.318 83.1603 103.357z" id="path1620" style="stroke:none; fill:#000000"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/caution.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/caution.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --><svg height="120.648" id="Layer_1" inkscape:version="0.42" sodipodi:docbase="F:\openclip\svg da inviare" sodipodi:docname="Attenzione.svg" sodipodi:version="0.32" space="preserve" style="overflow:visible;enable-background:new 0 0 133.878 120.648;" version="1.1" viewBox="0 0 133.878 120.648" width="133.878" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>Attenzione</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>pulsante</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org/">
+ <dc:title>Open Clip Art Library</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Architetto Francesco Rollandin</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Architetto Francesco Rollandin</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date></dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs43"/>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="Layer_1" inkscape:cx="66.939003" inkscape:cy="60.324001" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="510" inkscape:window-width="787" inkscape:window-x="44" inkscape:window-y="58" inkscape:zoom="2.9838869" pagecolor="#ffffff"/>
+ <g id="g3">
+ <linearGradient gradientTransform="matrix(56.9977 90.4964 90.4964 -56.9977 -27343.9609 47971.0547)" gradientUnits="userSpaceOnUse" id="XMLID_4_" x1="-244.5732" x2="-242.8169" y1="455.4199" y2="455.4199">
+ <stop id="stop6" offset="0" style="stop-color:#FFFA5F"/>
+ <stop id="stop8" offset="1" style="stop-color:#9F3300"/>
+ </linearGradient>
+ <path d="M51.333,8.834C34.985,37.343,18.638,65.854,2.289,94.363 c-7.081,12.352,3.352,26.285,16.453,26.285c6.708,0,13.418,0,20.128,0c22.109,0,44.217,0,66.327,0c3.644,0,7.286,0,10.931,0 c13.293,0,20.963-14.273,16.452-26.031c-4.114-10.729-11.861-20.99-17.542-30.922c-8.81-15.403-17.618-30.809-26.429-46.212 c-1.813-3.167-3.622-6.333-5.434-9.5C76.601-3.516,57.616-2.03,51.333,8.834 M53.973,9.064" id="path10" style="fill:url(#XMLID_4_);"/>
+ <path d="M55.474,12.388c-8.247,14.279-16.492,28.559-24.739,42.839 c-5.526,9.567-11.05,19.137-16.577,28.707c-2.732,4.73-7.323,10.456-8.284,16c-3.799,21.9,34.927,15.743,46.734,15.743 c20.073,0,40.144,0,60.215,0c13.716,0,18.636-11.963,12.229-23.063c-6.462-11.195-12.927-22.388-19.389-33.582 c-7.249-12.557-14.499-25.113-21.75-37.671c-1.682-2.916-3.364-5.829-5.049-8.745C73.767,3.785,60.676,3.364,55.474,12.388" id="path12" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFF200;"/>
+ <path d="M55.474,12.388c-8.247,14.279-16.492,28.559-24.739,42.839c-5.526,9.567-11.05,19.137-16.577,28.707 c-2.732,4.73-7.323,10.456-8.284,16c-3.799,21.9,34.927,15.743,46.734,15.743c20.073,0,40.144,0,60.215,0 c13.716,0,18.636-11.963,12.229-23.063c-6.462-11.195-12.927-22.388-19.389-33.582c-7.249-12.557-14.499-25.113-21.75-37.671 c-1.682-2.916-3.364-5.829-5.049-8.745C73.767,3.785,60.676,3.364,55.474,12.388" id="path14" style="fill:#FFCE00;"/>
+ <path d="M126.731,95.522c-8.733-15.127-17.468-30.253-26.201-45.379 c-5.537-9.595-11.078-19.188-16.616-28.781c-3.938-6.821-7.459-15.689-16.813-15.689c1.013,0,5.901,10.225,6.469,11.196 c5.451,9.314,10.902,18.63,16.352,27.947c9.217,15.749,18.433,31.498,27.646,47.249c2.302,3.933,5.356,10.555,1.308,14.397 c-3.148,2.987-7.99,3.196-12.099,3.196c-7.225,0-14.448,0-21.674,0c-22.125,0-44.251,0-66.377,0c-3.598,0-7.197,0-10.794,0 c5.285,7.909,16.341,6.02,24.546,6.02c13.009,0,26.017,0,39.023,0c11.979,0,23.958,0,35.937,0c2.516,0,5.032,0,7.547,0 C125.136,115.678,131.878,104.435,126.731,95.522" id="path16" style="fill:#FFB600;"/>
+ <path d="M14.615,112.457c-4.483-7.751,1.908-16.103,5.793-22.834 c4.698-8.138,9.398-16.276,14.097-24.414C44.54,47.83,54.574,30.448,64.61,13.069c0.789-1.367,3.725-4.568,2.594-5.539 c-3.913-3.353-10.287,1.936-12.107,5.087c-3.129,5.417-6.258,10.835-9.386,16.252c-11.105,19.226-22.209,38.453-33.313,57.68 c-1.649,2.854-3.299,5.713-4.95,8.569c-4.771,8.265-0.075,19.162,9.658,20.446C16.124,114.65,15.294,113.615,14.615,112.457" id="path18" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFE600;"/>
+ <path d="M77.076,34.654c0,10.183-1.788,20.758-3.439,30.772 c-0.369,2.239-4.03,23.609-7.796,14.179c-4.247-10.632-4.832-23.419-5.958-34.696c-0.363-3.638-1.538-8.425-0.563-12.06 C61.667,24.099,77.076,25.199,77.076,34.654" id="path20" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFE1;"/>
+ <path d="M77.076,34.654c-2.018,0.995-1.521,8.717-1.797,11.395c-0.685,6.643-1.505,13.282-2.614,19.869 c-0.79,4.701-1.301,10.862-3.954,14.981c-1.642,2.567-3.405-5.958-3.634-6.932c-2.948-12.443-4.464-25.664-5.09-38.43 c-0.272-5.52,5.164-8.854,10.277-7.622c3.87,0.933,5.217,7.36,7.688,6.738c0.009-11.451-19.755-11.453-19.746,0 c0.017,11.956,2.087,24.599,4.423,36.294c0.501,2.507,1.642,12.376,5.449,12.376c4.059-0.021,5.285-11.432,5.79-14.137 c1.261-6.765,2.139-13.605,2.887-20.444C77.084,45.722,79.281,35.942,77.076,34.654" id="path22" style="fill:#FFFFFF;"/>
+ <linearGradient gradientTransform="matrix(68.2284 33.0019 33.0019 -68.2284 1613.9791 39385.6641)" gradientUnits="userSpaceOnUse" id="XMLID_5_" x1="-246.981" x2="-245.2275" y1="458.29" y2="458.29">
+ <stop id="stop25" offset="0" style="stop-color:#FFFA5F"/>
+ <stop id="stop27" offset="1" style="stop-color:#9F3300"/>
+ </linearGradient>
+ <path d="M57.957,34.654c0,10.053,1.632,20.54,3.242,30.431 c0.479,2.936,4.912,26.502,9.99,15.164c4.987-11.134,5.351-25.201,6.386-37.184c0.273-3.169,1.153-7.045,0.421-10.221 C75.628,22.587,57.957,23.788,57.957,34.654 M60.207,34.654c0-8.061,13.138-9.015,15.459-1.792c1.156,3.597-0.13,8.748-0.508,12.38 c-1.135,10.904-2.052,22.602-5.501,33.069c-2.816,8.545-5.546-10.187-5.934-12.522C62.039,55.63,60.207,44.985,60.207,34.654" id="path29" style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#XMLID_5_);"/>
+ <path d="M77.076,96.788c0,11.964-18.555,11.964-18.555,0 C58.521,84.822,77.076,84.822,77.076,96.788" id="path31" style="fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFE1;"/>
+ <path d="M77.076,96.788c-2.605,1.661-2.157,6.757-7.044,8.101c-6.178,1.7-12.033-4.159-10.336-10.335 c1.439-5.23,7.657-7.767,12.341-5.021c2.91,1.704,3.164,7.913,5.915,7.256c0-14.267-22.698-12.238-20.143,1.826 c0.987,5.444,6.375,9.15,11.814,8.162C72.417,106.271,81.44,98.19,77.076,96.788" id="path33" style="fill:#FFFFFF;"/>
+ <linearGradient gradientTransform="matrix(68.2241 32.9998 32.9998 -68.2241 1604.682 39402.625)" gradientUnits="userSpaceOnUse" id="XMLID_6_" x1="-246.998" x2="-245.2348" y1="458.0625" y2="458.0625">
+ <stop id="stop36" offset="0" style="stop-color:#FFFA5F"/>
+ <stop id="stop38" offset="1" style="stop-color:#9F3300"/>
+ </linearGradient>
+ <path d="M57.395,96.788c0,13.41,20.805,13.41,20.805,0 C78.2,83.376,57.395,83.375,57.395,96.788 M59.647,96.788c0-10.514,16.301-10.514,16.301,0 C75.948,107.3,59.647,107.3,59.647,96.788" id="path40" style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#XMLID_6_);"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/home.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/home.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
+<!DOCTYPE svg [
+ <!ENTITY st0 "fill-rule:nonzero;clip-rule:nonzero;fill:#FFFFFF;stroke:#000000;stroke-miterlimit:4;">
+ <!ENTITY st1 "fill:none;stroke:none;">
+ <!ENTITY st2 "fill:#000000;">
+ <!ENTITY st3 "fill:none;stroke:#FFFFFF;stroke-width:6.3469;stroke-linejoin:round;">
+ <!ENTITY st4 "fill-rule:evenodd;clip-rule:evenodd;stroke:none;">
+ <!ENTITY st5 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
+]>
+<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
+ <g id="Layer_x0020_3" style="&st0;">
+ <g style="&st4;">
+ <path style="&st3;" d="M22.9,7.1L5.1,21.8l0,0c-0.3,0.3-0.5,0.8-0.5,1.2c0,0.2,0,0.4,0.1,0.6c0.3,0.6,0.9,1,1.6,1c0,0,1.1,0,2.2,0c0,2.4,0,14.2,0,14.2c0,1.1,0.8,1.9,1.8,1.9h27.4c1.1,0,1.9-0.9,1.9-2c0,0,0-11.8,0-14.2c1,0,2,0,2,0c0.8,0,1.4-0.5,1.7-1.2
+ c0.1-0.2,0.1-0.4,0.1-0.6c0-0.5-0.2-1-0.7-1.4c0,0-3.6-3-4.5-3.7c0-1.2,0-6.9,0-6.9c0-1.2-0.8-2-2-2h-4.8c-1,0-1.7,0.6-1.9,1.5c-1.9-1.6-4.1-3.5-4.1-3.5l0.1,0.1c-0.7-0.7-1.8-0.8-2.7-0.1z"/>
+ <path style="&st2;" d="M22.9,7.1L5.1,21.8l0,0c-0.3,0.3-0.5,0.8-0.5,1.2c0,0.2,0,0.4,0.1,0.6c0.3,0.6,0.9,1,1.6,1c0,0,1.1,0,2.2,0c0,2.4,0,14.2,0,14.2c0,1.1,0.8,1.9,1.8,1.9h27.4c1.1,0,1.9-0.9,1.9-2c0,0,0-11.8,0-14.2c1,0,2,0,2,0c0.8,0,1.4-0.5,1.7-1.2
+ c0.1-0.2,0.1-0.4,0.1-0.6c0-0.5-0.2-1-0.7-1.4c0,0-3.6-3-4.5-3.7c0-1.2,0-6.9,0-6.9c0-1.2-0.8-2-2-2h-4.8c-1,0-1.7,0.6-1.9,1.5c-1.9-1.6-4.1-3.5-4.1-3.5l0.1,0.1c-0.7-0.7-1.8-0.8-2.7-0.1z"/>
+ <path style="&st2;" d="M41.8,22.8l-5.1-4.2v-0.1L31,13.7v0l-6.5-5.5C24.2,8,24,8,23.8,8.2L6.2,22.9c-0.1,0.1-0.1,0.3,0.1,0.3h1.6H10h28.1h1.2h2.3c0.2,0,0.4-0.2,0.2-0.4z"/>
+ <path d="M35.8,16.8l0-5.1c0-0.2-0.1-0.4-0.3-0.4h-3.2c-0.2,0-0.3,0.1-0.3,0.3v2.2l3.9,2.9z"/>
+ <path d="M11.9,24.7V37c0,0.3,0.1,0.4,0.3,0.4h23.6c0.3,0,0.4-0.2,0.4-0.4V24.7H11.9z"/>
+ </g>
+ </g>
+ <g id="crop_x0020_marks" style="&st5;">
+ <path style="&st1;" d="M48,48H0V0h48v48z"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/important.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/important.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg height="164.675" id="svg1" inkscape:version="0.40" sodipodi:docbase="/mnt/donnees/09-Mes_images/Travaux/Travaux vectoriel/pictogrammes/sécu SVG/Obligation" sodipodi:docname="ObligationGenerale.svg" sodipodi:version="0.32" width="164.675" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>obligation generale</dc:title>
+ <dc:description>obligation</dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li></rdf:li>
+ <rdf:li>symbol</rdf:li>
+ <rdf:li>signs_and_symbols</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org">
+ <dc:title>yves GUILLOU</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>yves GUILLOU</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>yves GUILLOU</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date></dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="svg1" inkscape:cx="65.870001" inkscape:cy="65.870001" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="1121" inkscape:window-width="1590" inkscape:window-x="0" inkscape:window-y="0" inkscape:zoom="7.1580384" pagecolor="#ffffff"/>
+ <defs id="defs2">
+ <marker id="ArrowEnd" markerHeight="3" markerUnits="strokeWidth" markerWidth="4" orient="auto" refX="0" refY="5" viewBox="0 0 10 10">
+ <path d="M 0 0 L 10 5 L 0 10 z" id="path4"/>
+ </marker>
+ <marker id="ArrowStart" markerHeight="3" markerUnits="strokeWidth" markerWidth="4" orient="auto" refX="10" refY="5" viewBox="0 0 10 10">
+ <path d="M 10 0 L 0 5 L 10 10 z" id="path6"/>
+ </marker>
+ </defs>
+ <g id="g7">
+ <path d="M 84.4626 153.222C 123.584 152.076 154.369 119.431 153.222 80.3101C 152.076 41.1891 119.431 10.4038 80.3103 11.5504C 41.1893 12.697 10.4039 45.3414 11.5506 84.4624C 12.6972 123.583 45.3416 154.369 84.4626 153.222z" id="path8" style="stroke:none; fill:#000000"/>
+ <path d="M 84.2891 148.923C 121.063 147.846 150.001 117.16 148.923 80.386C 147.846 43.6122 117.16 14.6739 80.386 15.7517C 43.6121 16.8296 14.6738 47.5154 15.7517 84.2892C 16.8295 121.063 47.5153 150.001 84.2891 148.923z" id="path9" style="stroke:#ffffff; stroke-width:3; fill:#004cff"/>
+ </g>
+ <g id="g10">
+ <path d="M 89.015700,45.666000 C 92.055110,48.505337 90.231233,54.092473 90.213900,58.112000 C 90.163333,69.838073 89.215334,80.885119 88.292000,92.639500 C 88.169834,94.194719 86.657336,95.784094 84.960200,96.489100 C 82.276836,97.603794 79.808374,96.430699 77.656600,95.311300 C 75.745874,94.317299 75.082868,89.703543 74.770213,87.742398 C 72.886368,75.925843 74.252252,67.348435 71.666400,55.338700 C 70.936152,51.947135 71.101959,47.839437 73.134400,45.106700 C 75.671859,41.694937 81.863303,38.984418 84.930700,41.849900 L 89.015700,45.666000 z " id="path11" sodipodi:nodetypes="csssssssss" style="stroke:none; fill:#ffffff"/>
+ <path d="M 91.822000,108.22600 C 93.819224,112.18961 92.734473,116.09174 90.525700,119.44800 C 88.577873,122.40774 84.442649,122.95041 80.824000,122.55400 C 77.267549,122.16441 74.540979,118.72380 73.424100,115.86900 C 72.328579,113.06880 72.533425,110.22337 73.732000,107.62500 C 75.308025,104.20837 79.804902,101.92947 84.194800,102.56000 C 87.707002,103.06447 90.309124,105.22361 91.822000,108.22600 z " id="path12" sodipodi:nodetypes="cssssss" style="stroke:none; fill:#ffffff"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/next.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/next.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
+<!DOCTYPE svg [
+ <!ENTITY st0 "fill:none;stroke:none;">
+ <!ENTITY st1 "fill:#FFFFFF;stroke:#FFFFFF;stroke-width:7.5901;stroke-linejoin:round;">
+ <!ENTITY st2 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
+ <!ENTITY st3 "stroke:none;">
+]>
+<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
+ <g id="Layer_x0020_3" style="&st2;">
+ <g>
+ <path style="&st1;" d="M22.4,41.1c0,0.3,0.3,0.3,0.5,0.2l16.6-16.9c0.5-0.5,0.4-0.7,0-1L22.9,6.7c-0.1-0.1-0.4-0.1-0.4,0.1v10H8.9c-0.3,0-0.5,0.2-0.5,0.4l0,13.3C8.4,30.9,8.6,31,9,31h13.5l-0.1,10.1z"/>
+ <path style="&st3;" d="M22.4,41.1c0,0.3,0.3,0.3,0.5,0.2l16.6-16.9c0.5-0.5,0.4-0.7,0-1L22.9,6.7c-0.1-0.1-0.4-0.1-0.4,0.1v10H8.9c-0.3,0-0.5,0.2-0.5,0.4l0,13.3C8.4,30.9,8.6,31,9,31h13.5l-0.1,10.1z"/>
+ </g>
+ </g>
+ <g id="crop_x0020_marks" style="&st2;">
+ <path style="&st0;" d="M48,48H0V0h48v48z"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/note.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/note.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") --><svg height="400pt" id="svg548" inkscape:version="0.38.1" sodipodi:docbase="/var/www/html/svg_gallery/svg/office" sodipodi:docname="note.svg" sodipodi:version="0.32" width="400pt" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>Clipart by Nicu Buculei - book_01</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>office</rdf:li>
+ <rdf:li></rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org">
+ <dc:title>Nicu Buculei</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Nicu Buculei</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Nicu Buculei</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date></dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs550">
+ <linearGradient id="linearGradient562">
+ <stop id="stop563" offset="0.000000" style="stop-color:#de9500;stop-opacity:1;"/>
+ <stop id="stop564" offset="1.000000" style="stop-color:#ffff0f;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient558">
+ <stop id="stop559" offset="0" style="stop-color:#000;stop-opacity:1;"/>
+ <stop id="stop560" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient gradientUnits="objectBoundingBox" id="linearGradient561" spreadMethod="reflect" x1="0.61486840" x2="0.25000009" xlink:href="#linearGradient562" y1="0.53906602" y2="0.32031256"/>
+ </defs>
+ <sodipodi:namedview id="base" inkscape:cx="200.00000" inkscape:cy="200.00000" inkscape:window-height="636" inkscape:window-width="787" inkscape:window-x="0" inkscape:window-y="24" inkscape:zoom="0.90750000"/>
+ <g id="g855">
+ <path d="M 98.359 20.9239 C 86.7178 169.989 133.621 233.611 96.6631 472.866 C 96.6631 472.866 429.897 476.258 429.049 476.258 C 472.505 226.258 403.845 144.925 431.706 79.4305 C 377.908 78.6961 364.607 20.076 364.607 20.076 L 98.359 20.9239 z " id="path588" sodipodi:nodetypes="cccccc" style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:10.000000;stroke-linejoin:round;stroke-dasharray:none;" transform="translate(-31.64557,-9.493675)"/>
+ <path d="M 369.695 22.6197 L 368.846 81.9743 L 437.527 81.9743 C 440.919 76.8867 373.086 24.3156 369.695 22.6197 z " id="path589" sodipodi:nodetypes="cccc" style="fill:#eeebff;fill-rule:evenodd;stroke:#000000;stroke-width:10.000000;stroke-linejoin:round;stroke-dasharray:none;" transform="translate(-36.73307,-11.18950)"/>
+ <path d="M 99.8788 380.676 L 76.014 482.322 L 175.741 411.612 C 175.741 411.612 167.054 351.508 99.8788 380.676 z " id="path554" sodipodi:nodetypes="cccc" style="fill:#cca89d;fill-rule:evenodd;stroke:#000000;stroke-width:13.698779;stroke-linejoin:round;stroke-dasharray:none;" transform="matrix(0.741180,0.000000,0.000000,0.718973,165.0147,93.07255)"/>
+ <path d="M 100.763 380.676 L 325.269 62.4776 C 325.269 62.4776 346.482 35.9611 370.347 50.9871 C 377.419 52.7549 375.651 50.9872 389.793 61.5937 C 393.328 64.2454 395.096 85.4586 395.096 85.4586 C 395.096 85.4586 174.125 411.612 174.125 412.496 C 174.125 413.379 170.589 393.05 151.144 382.443 C 133.466 371.837 101.647 381.56 100.763 380.676 z " id="path553" sodipodi:nodetypes="cccccccc" style="fill:#c96400;fill-rule:evenodd;stroke:#000000;stroke-width:13.698779;stroke-linejoin:round;stroke-dasharray:none;" transform="matrix(0.741180,0.000000,0.000000,0.718973,165.0147,93.07255)"/>
+ <path d="M 75.1301 483.206 L 83.0851 451.386 C 83.0851 450.502 93.6917 450.502 97.2272 454.922 C 100.763 455.806 101.647 462.877 101.647 462.877 L 75.1301 483.206 z " id="path555" sodipodi:nodetypes="ccccc" style="fill-rule:evenodd;stroke:#000000;stroke-width:17.123474;stroke-linejoin:round;" transform="matrix(0.741180,0.000000,0.000000,0.718973,165.0147,93.07255)"/>
+ <path d="M 315.547 74.852 L 358.857 22.7029 C 358.857 22.7029 377.418 3.25745 395.98 12.9802 C 414.541 22.7029 405.702 17.3995 414.542 23.5867 C 422.496 35.9612 411.89 58.9421 411.006 58.9421 C 410.122 58.9421 374.767 117.279 374.767 117.279 C 374.767 117.279 383.605 106.672 368.579 98.7169 C 351.786 76.6198 314.663 74.852 315.547 74.852 z " id="path556" sodipodi:nodetypes="cccccccc" style="fill:#fc64e3;fill-rule:evenodd;stroke:#000000;stroke-width:13.698779;stroke-linejoin:round;stroke-dasharray:none;" transform="matrix(0.741180,0.000000,0.000000,0.718973,165.0147,93.07255)"/>
+ <path d="M 305.824 87.2263 C 304.94 87.2263 342.063 39.4967 342.063 39.4967 C 342.063 39.4967 357.089 37.7288 370.347 41.2644 C 385.374 47.4516 379.186 43.0322 389.793 50.9872 C 399.515 58.9421 401.283 77.5037 401.283 77.5037 L 372.999 121.698 C 372.999 121.698 373.883 112.859 365.044 103.137 C 350.902 91.6457 336.759 89.878 327.921 86.3424 C 315.546 84.5747 304.94 88.1102 305.824 87.2263 z " id="path557" sodipodi:nodetypes="ccccccccc" style="fill:url(#linearGradient561);fill-rule:evenodd;stroke:#000000;stroke-width:13.698779;stroke-linejoin:round;stroke-dasharray:none;" transform="matrix(0.741180,0.000000,0.000000,0.718973,165.0147,93.07255)"/>
+ <path d="M 76.875 480.625 C 76.875 479.375 83.75 453.125 85.625 453.125 C 87.5 453.125 93.75 454.375 93.75 456.25 C 83.125 462.5 78.75 478.75 76.875 480.625 z " id="path566" sodipodi:nodetypes="cccc" style="fill:#ffffff;fill-rule:evenodd;stroke-width:17.123474;stroke-linejoin:round;" transform="matrix(0.741180,0.000000,0.000000,0.718973,165.0147,93.07255)"/>
+ <path d="M 122.22741,365.36859 C 136.64241,342.47459 307.27280,103.20431 312.36080,99.812611 C 383.58580,70.135311 172.25641,294.14259 122.22741,365.36859 z " id="path564" sodipodi:nodetypes="ccc" style="fill:#ffffff;fill-opacity:0.50370401;fill-rule:evenodd;stroke-width:17.123474;stroke-linejoin:round;" transform="matrix(0.741180,0.000000,0.000000,0.718973,165.0147,93.07255)"/>
+ <path d="M 234.50707,414.15223 C 234.50707,412.32316 242.04895,380.01324 245.81904,369.64924 C 247.07608,369.64924 266.94578,366.62323 273.85876,377.59764 C 249.34942,381.25505 235.76404,409.27544 234.50707,414.15223 z " id="path565" sodipodi:nodetypes="cccc" style="fill:#ffffff;fill-opacity:0.50196099;fill-rule:evenodd;stroke-width:17.123474;stroke-linejoin:round;"/>
+ <path d="M 394.284 17.5322 C 394.284 17.5322 413.786 21.7719 413.786 27.7073 C 418.873 44.6657 409.546 53.9928 403.611 64.1679 C 405.307 48.0574 408.699 40.4262 394.284 17.5322 z " id="path567" sodipodi:nodetypes="cccc" style="fill-opacity:0.24999996;fill-rule:evenodd;stroke-width:17.123474;stroke-linejoin:round;" transform="matrix(0.741180,0.000000,0.000000,0.718973,165.0147,93.07255)"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/prev.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/prev.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
+<!DOCTYPE svg [
+ <!ENTITY st0 "fill:none;stroke:none;">
+ <!ENTITY st1 "fill:#FFFFFF;stroke:#FFFFFF;stroke-width:7.5901;stroke-linejoin:round;">
+ <!ENTITY st2 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
+ <!ENTITY st3 "stroke:none;">
+]>
+<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
+ <g id="Layer_x0020_3" style="&st2;">
+ <g>
+ <path style="&st1;" d="M25.6,6.9c0-0.3-0.3-0.3-0.5-0.2L8.4,23.6c-0.5,0.5-0.4,0.7,0,1l16.6,16.6c0.1,0.1,0.4,0.1,0.4-0.1v-10h13.6c0.3,0,0.5-0.2,0.5-0.4l0-13.3c0-0.3-0.2-0.5-0.5-0.5H25.5l0.1-10.1z"/>
+ <path style="&st3;" d="M25.6,6.9c0-0.3-0.3-0.3-0.5-0.2L8.4,23.6c-0.5,0.5-0.4,0.7,0,1l16.6,16.6c0.1,0.1,0.4,0.1,0.4-0.1v-10h13.6c0.3,0,0.5-0.2,0.5-0.4l0-13.3c0-0.3-0.2-0.5-0.5-0.5H25.5l0.1-10.1z"/>
+ </g>
+ </g>
+ <g id="crop_x0020_marks" style="&st2;">
+ <path style="&st0;" d="M48,48H0V0h48v48z"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/tip.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/tip.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Created with Inkscape (http://www.inkscape.org/) --><svg height="428.00000pt" id="svg1" inkscape:version="0.40" sodipodi:docbase="/home/bpcomp/Inkscape" sodipodi:docname="lightbulb-brightlit.svg" sodipodi:version="0.32" width="380.00000pt" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>lightbulb-brightlit</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>symbol</rdf:li>
+ <rdf:li>lightbulb</rdf:li>
+ <rdf:li>work</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org">
+ <dc:title>Open Clip Art Library</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date></dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs3">
+ <linearGradient id="linearGradient3057">
+ <stop id="stop3058" offset="0.0000000" style="stop-color:#f2ff00;stop-opacity:1.0000000;"/>
+ <stop id="stop3059" offset="1.0000000" style="stop-color:#ffffff;stop-opacity:0.0000000;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1703">
+ <stop id="stop1704" offset="0.0000000" style="stop-color:#f2ff00;stop-opacity:1.0000000;"/>
+ <stop id="stop1705" offset="1.0000000" style="stop-color:#ffffb8;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient gradientTransform="matrix(0.818515,0.000000,0.000000,1.221725,-246.1659,-76.29705)" gradientUnits="userSpaceOnUse" id="linearGradient2430" inkscape:collect="always" x1="543.07941" x2="357.71490" xlink:href="#linearGradient1703" y1="277.83859" y2="180.22783"/>
+ <radialGradient cx="98.885597" cy="152.66882" fx="100.51762" fy="150.96530" gradientTransform="scale(1.020231,0.980171)" gradientUnits="userSpaceOnUse" id="radialGradient3056" inkscape:collect="always" r="194.24075" xlink:href="#linearGradient3057"/>
+ <radialGradient cx="98.885597" cy="152.66882" fx="100.51762" fy="150.96530" gradientTransform="scale(1.020231,0.980171)" gradientUnits="userSpaceOnUse" id="radialGradient3073" inkscape:collect="always" r="194.24075" xlink:href="#linearGradient3057"/>
+ <linearGradient gradientTransform="matrix(0.818515,0.000000,0.000000,1.221725,-246.1659,-76.29705)" gradientUnits="userSpaceOnUse" id="linearGradient3074" inkscape:collect="always" x1="543.07941" x2="357.71490" xlink:href="#linearGradient1703" y1="277.83859" y2="180.22783"/>
+ </defs>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="333.48733" inkscape:cy="118.41605" inkscape:guide-bbox="true" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="914" inkscape:window-width="1276" inkscape:window-x="0" inkscape:window-y="46" inkscape:zoom="0.86828472" pagecolor="#ffffff" showguides="true"/>
+ <g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
+ <g id="g3061" transform="translate(129.5658,135.3243)">
+ <path d="M 333.99184 137.11841 A 233.93825 224.58072 0 1 1 -133.88466,137.11841 A 233.93825 224.58072 0 1 1 333.99184 137.11841 z" id="path2431" sodipodi:cx="100.05359" sodipodi:cy="137.11841" sodipodi:rx="233.93825" sodipodi:ry="224.58072" sodipodi:type="arc" style="opacity:0.99130440;fill:url(#radialGradient3073);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:8.7500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" transform="translate(7.198100,-44.62822)"/>
+ <g id="g2420" transform="translate(-15.83582,-7.198100)">
+ <g id="g1712" transform="translate(-252.2735,-133.3010)">
+ <path d="M 405.13516,449.07049 L 332.86230,474.51868" id="path1708" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:8.7500000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+ <path d="M 405.13516,468.75038 L 332.86230,494.19857" id="path1709" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:8.7500000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+ <path d="M 405.13516,488.43032 L 332.86230,513.87851" id="path1710" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:8.7500000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+ <path d="M 405.13516,429.39053 L 332.86230,454.83872" id="path1711" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:8.7500000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+ </g>
+ <path d="M 168.42933,306.30664 C 167.70954,195.45998 192.18218,179.26486 201.53936,167.02854 C 215.98793,148.16177 227.72465,102.07890 202.25915,61.940163 C 169.44684,9.9473741 96.792916,-4.8317329 45.346356,51.863193 C 13.431346,87.367343 23.167706,138.23428 41.027646,166.30876 C 45.732926,173.21034 71.258556,195.10009 71.258556,305.94675 C 71.258556,306.66653 168.42933,306.30664 168.42933,306.30664 z " id="path1691" sodipodi:nodetypes="cccccsc" style="fill:url(#linearGradient3074);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:8.7500000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+ <path d="M 153.31388,40.346633 C 81.335536,12.275086 15.115446,83.533643 54.703546,156.95155" id="path1080" sodipodi:nodetypes="cc" style="fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:8.7500000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+ <path d="M 169.86890,53.302743 C 184.98435,63.379703 192.90197,79.214943 196.50089,91.451263" id="path1702" sodipodi:nodetypes="cc" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:8.7500000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+ <path d="M 101.45631,388.21198 C 101.45631,388.21198 105.51739,397.47406 116.72522,397.37333 C 126.95485,397.28139 130.97621,388.21198 130.97621,388.21198" id="path1717" sodipodi:nodetypes="ccc" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:8.7500000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+ </g>
+ </g>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/tip2.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/tip2.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) --><svg height="1052.3622047" id="svg2" inkscape:version="0.42.2" sodipodi:docbase="/home/sergio/tmp/downloads" sodipodi:docname="lamp.svg" sodipodi:version="0.32" width="744.09448819" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>lamp</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>office</rdf:li>
+ <rdf:li></rdf:li>
+ <rdf:li>lamp</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org/">
+ <dc:title>Open Clip Art Library</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Sergio Luiz Araujo Silva</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Public Domain</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date>set 2005</dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs4">
+ <linearGradient id="linearGradient13125">
+ <stop id="stop13127" offset="0.0000000" style="stop-color:#ffffff;stop-opacity:1.0000000;"/>
+ <stop id="stop13129" offset="1" style="stop-color:#fffeff;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient12389">
+ <stop id="stop12391" offset="0.0000000" style="stop-color:#fefefe;stop-opacity:1.0000000;"/>
+ <stop id="stop12393" offset="1.0000000" style="stop-color:#fffefe;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <radialGradient cx="358.25909" cy="186.06468" fx="358.25909" fy="186.06468" gradientTransform="matrix(1.000001,-8.244061e-7,3.143917e-7,0.381356,-4.028738e-4,115.1081)" gradientUnits="userSpaceOnUse" id="radialGradient13131" inkscape:collect="always" r="27.486719" xlink:href="#linearGradient13125"/>
+ <radialGradient cx="358.25909" cy="186.06468" fx="358.25909" fy="186.06468" gradientTransform="matrix(1.000001,-8.244061e-7,3.143917e-7,0.381356,-4.028738e-4,115.1081)" gradientUnits="userSpaceOnUse" id="radialGradient14587" inkscape:collect="always" r="27.486719" xlink:href="#linearGradient13125"/>
+ <radialGradient cx="358.25909" cy="186.06468" fx="358.25909" fy="186.06468" gradientTransform="matrix(1.000001,-8.244061e-7,3.143917e-7,0.381356,-4.028738e-4,115.1081)" gradientUnits="userSpaceOnUse" id="radialGradient15390" inkscape:collect="always" r="27.486719" xlink:href="#linearGradient13125"/>
+ <radialGradient cx="358.25909" cy="186.06468" fx="358.25909" fy="186.06468" gradientTransform="matrix(1.000001,-8.244061e-7,3.143917e-7,0.381356,-4.028738e-4,115.1081)" gradientUnits="userSpaceOnUse" id="radialGradient16141" inkscape:collect="always" r="27.486719" xlink:href="#linearGradient13125"/>
+ </defs>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="344.34505" inkscape:cy="795.78292" inkscape:document-units="px" inkscape:guide-bbox="true" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="693" inkscape:window-width="1024" inkscape:window-x="0" inkscape:window-y="25" inkscape:zoom="0.72123084" pagecolor="#ffffff" showguides="true"/>
+ <g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
+ <path d="M 369.44028,121.86683 C 302.64703,119.68096 242.59223,184.30679 250.47188,250.87980 C 252.47522,280.21980 267.84094,306.49880 285.94332,328.82253 C 303.71281,358.65039 312.13900,393.24133 313.51068,427.73030 C 317.00419,446.97288 338.01608,454.57063 355.35334,455.26572 C 375.18456,456.91501 395.94281,455.09265 414.43470,447.69729 C 430.92724,435.70557 427.37713,413.20597 430.74488,395.55648 C 434.70351,361.57615 449.78002,329.76555 471.07843,303.26619 C 504.41026,252.31528 488.56419,176.76397 437.75400,143.26422 C 417.82956,129.49394 393.70573,121.69096 369.44028,121.86683 z " id="path1384" style="opacity:1.0000000;fill:#f3f2f3;fill-opacity:0.83333331;stroke:#000000;stroke-width:0.58960420;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"/>
+ <path d="M 425.72698,154.07768 C 437.68158,164.87540 453.68534,182.03604 451.17873,203.82428 C 455.99913,200.54641 460.81954,197.26853 465.63995,193.99066 C 459.85546,170.27425 448.28648,162.75442 425.72698,154.07768 z " id="path2153" sodipodi:nodetypes="cccc" style="fill:#fefefe;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 506.99897 296.94009 A 37.120701 18.718985 0 1 1 432.75756,296.94009 A 37.120701 18.718985 0 1 1 506.99897 296.94009 z" id="path2881" sodipodi:cx="469.87827" sodipodi:cy="296.94009" sodipodi:rx="37.120701" sodipodi:ry="18.718985" sodipodi:type="arc" style="opacity:1.0000000;color:#000000;fill:#fefefe;fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:0.64700001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" transform="matrix(0.818103,0.000000,0.000000,0.896150,-13.89510,-26.68653)"/>
+ <path d="M 359.20536,314.30802 L 336.64585,244.31570 C 362.29042,230.62575 382.72895,234.28926 403.16748,243.15881 L 379.45107,315.46491 L 379.45107,315.46491" id="path3617" sodipodi:nodetypes="ccccc" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#8f9595;stroke-width:0.91160071px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 513.73605 514.32300 A 52.508934 11.885468 0 1 1 408.71818,514.32300 A 52.508934 11.885468 0 1 1 513.73605 514.32300 z" id="path4361" sodipodi:cx="461.22711" sodipodi:cy="514.32300" sodipodi:rx="52.508934" sodipodi:ry="11.885468" sodipodi:type="arc" style="opacity:1.0000000;color:#000000;fill:#a0a0a0;fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:0.64700001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" transform="matrix(0.982435,0.000000,0.000000,1.387810,-83.52495,-281.2705)"/>
+ <path d="M 315.87677,433.07959 C 319.14672,442.90428 329.03398,448.82383 338.76816,450.68840 C 362.00206,456.37952 386.74882,455.38004 409.63484,448.57985 C 414.28840,447.19363 419.18392,445.42184 422.06530,441.25295 C 423.42527,439.84003 425.68582,434.46169 424.07088,434.30126 C 411.81432,444.17256 395.75685,447.78808 380.34111,448.56322 C 362.85475,449.05661 344.64886,448.26521 328.51659,440.79114 C 324.02706,438.71576 319.76022,436.14612 315.87677,433.07959 z " id="path4363" style="fill:#d6dee6;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 400.47436,522.16227 C 396.48542,528.09177 392.49650,534.02126 388.50756,539.95076 C 383.93367,541.47295 366.98819,546.44954 353.57745,538.01018 C 350.34318,532.29631 347.10892,526.58244 343.87465,520.86856 C 364.35835,531.64946 396.48542,523.99502 400.47436,522.16227 z " id="path5094" sodipodi:nodetypes="ccccc" style="fill:#090a0c;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.91160071px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 419.65600,444.27781 C 419.97026,446.39906 420.28452,448.52031 420.59878,450.64156 C 421.46299,450.95582 422.32720,451.27008 423.19142,451.58434 C 423.19142,452.91994 423.19142,454.25554 423.19142,455.59114 C 422.32720,455.98397 421.46299,456.37678 420.59878,456.76961 C 420.36308,459.20512 420.12739,461.64063 419.89170,464.07614 C 420.52021,464.23327 421.14873,464.39039 421.77725,464.54753 C 421.69869,466.59021 421.62012,468.63289 421.54156,470.67558 C 420.83447,471.46123 420.12739,472.24688 419.42030,473.03253 C 419.57744,474.05387 419.73456,475.07522 419.89170,476.09656 C 420.91303,477.11790 421.93438,478.13925 422.95572,479.16058 C 422.87716,480.18193 422.79859,481.20328 422.72003,482.22461 C 422.01294,483.01026 421.30586,483.79591 420.59878,484.58156 C 420.36308,485.05294 420.12739,485.52433 419.89170,485.99572 C 419.57744,486.70280 419.26317,487.40989 418.94892,488.11697 C 419.10605,489.05975 419.26317,490.00253 419.42030,490.94531 C 419.89170,491.65239 420.36308,492.35947 420.83447,493.0
6655 C 420.67734,494.71641 420.52021,496.36627 420.36308,498.01614 C 415.02067,505.24410 409.67827,512.47206 404.33587,519.70003 C 403.15740,520.24998 401.97892,520.79994 400.80045,521.34989 C 397.81498,522.29266 394.82952,523.23544 391.84406,524.17822 C 386.34452,524.80674 380.84498,525.43525 375.34545,526.06378 C 371.96717,525.90664 368.58887,525.74952 365.21059,525.59238 C 362.46082,525.51382 359.71105,525.43525 356.96128,525.35669 C 353.42587,524.49247 349.89045,523.62827 346.35503,522.76405 C 345.17656,521.82128 343.99809,520.87850 342.81962,519.93572 C 339.75559,517.81447 336.69157,515.69322 333.62754,513.57197 C 328.75652,508.30813 323.88551,503.04429 319.01448,497.78044 C 319.01448,496.52341 319.01448,495.26636 319.01448,494.00933 C 319.87870,494.00933 320.74291,494.00933 321.60712,494.00933 C 321.13574,492.83086 320.66435,491.65239 320.19296,490.47392 C 319.09305,488.19554 317.99314,485.91716 316.89323,483.63878 C 316.89323,482.93170 316.89323,482.22461 316.89323,481.51753 C 318.38597,480.26049 319.
87869,479.00345 321.37143,477.74642 C 320.03583,475.54660 318.70022,473.34679 317.36462,471.14697 C 317.28606,470.83271 317.20748,470.51845 317.12892,470.20419 C 318.46453,468.39720 319.80013,466.59021 321.13574,464.78322 C 320.74291,463.68331 320.35009,462.58341 319.95726,461.48350 C 319.09305,460.38359 318.22883,459.28369 317.36462,458.18378 C 317.12892,457.31956 316.89323,456.45536 316.65753,455.59114 C 317.75744,454.17697 318.85735,452.76281 319.95726,451.34864 C 319.87870,450.01304 319.80013,448.67744 319.72157,447.34184 C 319.32874,446.71332 318.93592,446.08480 318.54310,445.45628 C 318.62166,444.74920 318.70023,444.04212 318.77879,443.33503 C 319.48588,443.25647 320.19296,443.17790 320.90004,443.09934 C 324.04263,445.22059 327.18523,447.34184 330.32782,449.46309 C 348.08347,456.92674 391.76550,461.09068 419.65600,444.27781 z " id="path7284" sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccc" style="fill:#fba246;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.911
60071px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 389.86281,523.00744 C 389.46998,521.82897 391.23336,522.26765 390.84054,521.08918 C 383.37688,521.01061 375.91323,520.93205 368.44957,520.85348 C 368.44957,520.53923 368.44957,520.22496 368.44957,519.91070 C 374.10624,519.75357 379.76290,519.59645 385.41957,519.43932 C 388.24790,518.88937 391.07623,518.33941 393.90457,517.78946 C 395.39730,517.55377 396.89003,517.31807 398.38277,517.08237 C 401.44679,515.03969 404.51082,512.99701 407.57485,510.95432 C 407.49629,510.64006 407.41771,510.32580 407.33915,510.01153 C 401.36822,510.48292 395.39730,510.95432 389.42637,511.42571 C 387.30512,511.81853 385.18387,512.21135 383.06263,512.60418 C 379.13438,512.36849 375.20615,512.13279 371.27790,511.89710 C 369.78518,511.73997 368.29244,511.58284 366.79971,511.42571 C 364.44277,510.32580 362.08582,509.22589 359.72888,508.12598 C 376.54175,507.18320 396.89003,507.18320 415.11707,493.98432 C 391.31192,502.15506 371.27790,500.19093 355.01499,497.99112 C 375.91322,494.06288 396.57577,493.19867 417.00262,478.4
2849 C 387.38368,489.42756 366.24975,485.57788 349.35832,483.84946 C 371.51360,479.29269 403.56804,478.27136 414.40998,466.64376 C 383.06263,474.89306 355.95776,473.47890 338.75207,469.47210 C 352.81517,467.58654 366.87827,465.70098 380.94137,463.81543 C 374.10624,463.18691 367.27110,462.55840 360.43596,461.92988 C 373.32059,459.73006 386.20522,457.53024 399.08985,455.33043 C 381.88416,456.19465 346.53000,460.82997 319.89653,444.48849 C 323.66763,447.63108 328.61721,449.83090 331.20985,453.91627 C 327.28161,453.44487 323.35338,452.97349 319.42513,452.50210 C 319.66083,453.83770 319.89653,455.17330 320.13222,456.50890 C 324.13902,459.02298 328.14582,461.53704 332.15263,464.05112 C 327.43875,466.25093 322.72485,468.45075 318.01096,470.65057 C 323.90332,472.53612 329.79568,474.42169 335.68805,476.30724 C 330.03138,478.66418 322.48915,476.30724 318.71804,483.37807 C 325.55318,486.59923 335.21666,487.22774 339.22346,493.04154 C 333.33110,493.51293 326.73166,489.27043 321.54639,494.45571 C 327.67444,498.06968 333.
80249,501.68367 339.93055,505.29765 C 336.55226,504.82626 333.17397,504.35487 329.79568,503.88348 C 334.58814,509.30445 341.26727,513.37780 346.05972,518.79877 C 362.00838,520.29150 373.91416,521.51471 389.86281,523.00744 z " id="path6556" sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccc" style="fill:#ffc080;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 410.63580,448.38806 C 375.91016,459.46570 347.07688,453.33765 330.49970,448.38806 C 332.54238,449.09515 334.58507,449.80223 336.62775,450.50931 C 365.30391,460.56561 396.80839,453.41621 407.80747,450.27362 C 408.75025,449.64510 409.69303,449.01658 410.63580,448.38806 z " id="path7286" sodipodi:nodetypes="ccccc" style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 431.22109,368.33927 C 427.74256,388.71364 424.26401,409.08801 420.78546,429.46237 C 416.60557,437.06563 407.94091,440.30372 400.07083,442.61238 C 391.48668,445.18530 382.40444,445.05799 373.54205,444.61656 C 371.08048,446.38986 364.99205,442.92177 370.06503,441.81235 C 377.17154,440.98795 384.60188,442.10538 391.38552,439.26558 C 401.04319,435.47671 410.26670,429.97354 417.05844,422.00834 C 421.19961,403.95301 425.34070,385.89766 429.48184,367.84233 C 430.06159,368.00798 430.64135,368.17360 431.22109,368.33927 z " id="path3629" style="fill:#ffffff;fill-opacity:0.64285713;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 353.42087,428.84088 L 351.10708,419.00725 L 351.68553,378.22661 L 353.13164,373.45440 L 353.05576,339.28565 L 349.95018,336.28751 L 349.37173,316.04336 C 363.86558,304.49563 376.56238,306.21837 388.70625,316.23514 L 388.12780,336.28907 L 385.23556,339.18131 L 384.65711,373.58108 L 386.39245,378.21491 L 385.81401,427.68398 L 382.34331,429.99778 L 374.24503,428.84088 L 371.35278,425.37019 L 366.14675,425.37019 L 360.94071,429.41933 L 353.42087,428.84088 z " id="path3619" sodipodi:nodetypes="ccccccccccccccccccc" style="fill:#c1c1c1;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#9b989f;stroke-width:0.91160071px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 358.25832,325.31572 L 358.25832,416.41507" id="path5096" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.91160071px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 380.15345,325.31572 L 380.15345,416.41507" id="path5824" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.91160071px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 361.91098,325.31572 L 361.91098,416.41507" id="path5826" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#8f8f92;stroke-width:0.91160071px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 376.52161,325.31572 L 376.52161,416.41507" id="path6554" style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#8f8f92;stroke-width:0.91160071px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <g id="g9475" transform="matrix(0.911601,0.000000,0.000000,0.911601,328.5961,-156.2531)">
+ <path d="M 86.864034,673.56687 L 79.199560,676.97330 L 77.155700,678.67652 L 75.793127,679.69845 L 65.573829,679.35780 L 65.403508,678.33587 L 70.683478,676.97330 C 70.683478,676.97330 74.430554,676.63266 75.111841,676.46234 C 75.793127,676.29201 78.688595,674.92944 78.688595,674.92944 L 84.649852,671.52301 L 87.034355,671.52301 L 86.864034,673.56687 z " id="path8741" style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 91.973683,686.34099 L 88.056285,686.17067 L 85.331139,687.53324 L 81.073098,689.23646 L 77.836987,691.45064 L 75.111841,692.30225 L 70.853800,692.64289 L 69.320905,693.15386 L 71.024122,693.83514 L 75.963449,693.83514 L 80.221490,694.51643 L 83.627923,693.83514 L 87.545320,690.42871 C 87.545320,690.42871 90.270466,689.23646 90.951753,688.89581 C 91.633039,688.55517 93.165934,687.87388 93.165934,687.87388 L 91.973683,686.34099 z " id="path8743" style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 94.017542,700.30736 L 89.078215,703.03251 L 85.842104,705.07637 L 83.457601,706.94991 L 77.836987,708.14216 L 75.622806,708.14216 L 81.584063,710.01570 L 86.353069,707.97184 L 91.292396,705.58733 L 92.825291,704.05444 L 94.017542,700.30736 z " id="path8745" style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 91.462718,717.85049 C 91.462718,717.85049 81.924706,721.59757 81.584063,722.27885 C 81.243420,722.96014 78.688595,723.98207 78.688595,723.98207 L 72.897660,724.66336 L 71.024122,725.68529 L 76.644736,726.36657 L 82.435671,724.49304 L 86.693712,724.32271 L 89.929823,722.10853 L 91.462718,720.40532 L 91.462718,717.85049 z " id="path8747" style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ </g>
+ <path d="M 378.14273,525.28637 C 377.57434,530.51553 378.00099,537.83204 377.43261,543.06120 C 372.27918,543.00443 367.82875,543.82657 360.97078,541.72320 C 359.43614,536.89190 356.80919,529.30796 355.27454,524.47667 C 356.26507,524.72572 356.68741,524.86790 357.82038,524.93742 C 358.95335,525.00694 360.79692,524.96593 361.90337,525.03791 C 363.00981,525.10990 364.25012,525.06768 365.31257,525.13480 C 366.37503,525.20191 367.41113,525.22689 368.41214,525.28180 C 369.41314,525.33669 370.37905,525.38365 371.30113,525.41898 C 372.22321,525.45432 374.35115,525.55378 375.17683,525.56221 C 376.00251,525.57065 375.56381,525.48806 376.27564,525.46225 C 376.98745,525.43643 377.56225,525.35378 378.14273,525.28637 z " id="path10207" sodipodi:nodetypes="ccccsssssssc" style="fill:#ffffff;fill-opacity:0.31547615;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"/>
+ <path d="M 467.06377,199.37552 L 453.69293,208.53364 L 451.86130,221.53816 L 468.71223,214.21167 L 467.06377,199.37552 z " id="path16869" style="fill:#fefefe;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:1.0000000;color:#000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0;visibility:visible;display:inline;overflow:visible"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/up.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/up.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
+<!DOCTYPE svg [
+ <!ENTITY st0 "fill:none;stroke:none;">
+ <!ENTITY st1 "fill:#FFFFFF;stroke:#FFFFFF;stroke-width:7.5901;stroke-linejoin:round;">
+ <!ENTITY st2 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
+ <!ENTITY st3 "stroke:none;">
+]>
+<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
+ <g id="Layer_x0020_3" style="&st2;">
+ <g>
+ <path style="&st1;" d="M41.1,25.6c0.3,0,0.3-0.3,0.2-0.5L24.4,8.4c-0.5-0.5-0.7-0.4-1,0L6.7,25.1c-0.1,0.1-0.1,0.4,0.1,0.4h10v13.6c0,0.3,0.2,0.5,0.4,0.5l13.3,0c0.3,0,0.5-0.2,0.5-0.5V25.5l10.1,0.1z"/>
+ <path style="&st3;" d="M41.1,25.6c0.3,0,0.3-0.3,0.2-0.5L24.4,8.4c-0.5-0.5-0.7-0.4-1,0L6.7,25.1c-0.1,0.1-0.1,0.4,0.1,0.4h10v13.6c0,0.3,0.2,0.5,0.4,0.5l13.3,0c0.3,0,0.5-0.2,0.5-0.5V25.5l10.1,0.1z"/>
+ </g>
+ </g>
+ <g id="crop_x0020_marks" style="&st2;">
+ <path style="&st0;" d="M48,48H0V0h48v48z"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/doc/style/pdf/images/warning.svg
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/doc/style/pdf/images/warning.svg 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
+<!DOCTYPE svg [
+ <!ENTITY st0 "fill:#000000;stroke:#FFFFFF;stroke-width:7.9139;stroke-linejoin:round;">
+ <!ENTITY st1 "fill-rule:nonzero;clip-rule:nonzero;fill:#FFFFFF;stroke:#000000;stroke-miterlimit:4;">
+ <!ENTITY st2 "fill:none;stroke:none;">
+ <!ENTITY st3 "fill:#000000;">
+ <!ENTITY st4 "fill-rule:evenodd;clip-rule:evenodd;stroke:none;">
+ <!ENTITY st5 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
+]>
+<svg width="48pt" height="48pt" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
+ <g id="Layer_x0020_4" style="&st1;">
+ <g style="&st4;">
+ <path style="&st0;" d="M16.4,42.3L5.7,31.6V16.4L16.4,5.7h15.2l10.7,10.7v15.2L31.6,42.3H16.4z"/>
+ <path style="&st3;" d="M16.4,42.3L5.7,31.6V16.4L16.4,5.7h15.2l10.7,10.7v15.2L31.6,42.3H16.4z"/>
+ <path d="M11.7,17.7l18.7,18.7l5.9-5.9L17.6,11.7l-5.9,5.9z"/>
+ <path d="M11.7,30.5l5.9,5.9l18.7-18.7l-5.9-5.9L11.7,30.5z"/>
+ </g>
+ </g>
+ <g id="crop_x0020_marks" style="&st5;">
+ <path style="&st2;" d="M48,48H0V0h48v48z"/>
+ </g>
+</svg>

Added: sandbox/boost_docs/trunk/libs/smart_ptr/doc/Jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/libs/smart_ptr/doc/Jamfile.v2 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,77 @@
+
+# Copyright John Maddock 2005. Use, modification, and distribution are
+# subject to 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)
+
+using quickbook ;
+
+xml smart_ptr : smart_ptr.qbk ;
+boostbook standalone
+ :
+ smart_ptr
+ :
+ # HTML options first:
+ # Use graphics not text for navigation:
+ <xsl:param>navig.graphics=1
+ # How far down we chunk nested sections, basically all of them:
+ <xsl:param>chunk.section.depth=10
+ # Don't put the first section on the same page as the TOC:
+ <xsl:param>chunk.first.sections=1
+ # How far down sections get TOC's
+ <xsl:param>toc.section.depth=10
+ # Max depth in each TOC:
+ <xsl:param>toc.max.depth=4
+ # How far down we go with TOC's
+ <xsl:param>generate.section.toc.level=10
+ # Logo location:
+ <xsl:param>boost.logo=../boost.png
+
+ # The page style
+ <xsl:param>page.style="'website'"
+ # Show chapters select box
+ <xsl:param>grouped.links.chapters.show="'true'"
+ # GroupedLinks xml definition chapters location
+ <xsl:param>grouped.links.chapters.xml="'boost_libs_grouped_links.xml'"
+ # Select the base url for the chapters GroupedLinks
+ <xsl:param>grouped.links.chapters.url="'http://www.boost.org/libs/'"
+ # Show sections select box
+ <xsl:param>grouped.links.sections.show="'true'"
+ # GroupedLinks xml definition sections location
+ <xsl:param>grouped.links.sections.xml="'sections_grouped_links.xml'"
+ # Select the base url for the chapters GroupedLinks
+ <xsl:param>grouped.links.sections.url="'./'"
+ # Show the Google Search Box
+ <xsl:param>search.box.show="'true'"
+ # Location of the cse defintion
+ <xsl:param>search.box.cse.definition.src="'http://www.drivehq.com/web/matias.capeletto/bimap/doc/html/context8.xml'"
+
+ # PDF Options:
+ # TOC Generation: this is needed for FOP-0.9 and later:
+ # <xsl:param>fop1.extensions=1
+ <xsl:param>xep.extensions=1
+ # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
+ <xsl:param>fop.extensions=0
+ # No indent on body text:
+ <xsl:param>body.start.indent=0pt
+ # Margin size:
+ <xsl:param>page.margin.inner=0.5in
+ # Margin size:
+ <xsl:param>page.margin.outer=0.5in
+ # Yes, we want graphics for admonishments:
+ <xsl:param>admon.graphics=1
+ # Set this one for PDF generation *only*:
+ # default pnd graphics are awful in PDF form,
+ # better use SVG's instead:
+ #<xsl:param>admon.graphics.extension=".svg"
+ ;
+
+
+
+
+
+
+
+
+
+
+

Added: sandbox/boost_docs/trunk/libs/smart_ptr/doc/project-root.jam
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/libs/smart_ptr/doc/project-root.jam 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2006 João Abecasis
+#
+# 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)
+#
+
+##
+## IMPORTANT NOTE: This file MUST NOT be copied over a boost installation
+##
+
+import modules ;
+import path ;
+
+local boost-root = [ modules.peek : BOOST_ROOT ] ;
+
+if ! $(boost-root)
+{
+ local boost-search-dirs = [ modules.peek : BOOST_BUILD_PATH ] ;
+
+ for local dir in $(boost-search-dirs)
+ {
+ if [ path.glob $(dir)/../../../ : boost/version.hpp ]
+ {
+ boost-root += $(dir)/../../../ ;
+ }
+ }
+
+ if $(boost-root)
+ {
+ boost-root = [ path.make $(boost-root[1]) ] ;
+ }
+ else
+ {
+ ECHO "Warning: couldn't find BOOST_ROOT in" $(boost-root) ;
+ }
+}
+
+project boost/smart_ptr/doc
+ : # build everything in ./bin.v2
+ build-dir bin.v2
+ ;
+
+
+
+
+
+
+
+

Added: sandbox/boost_docs/trunk/libs/smart_ptr/doc/smart_ptr.qbk
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/libs/smart_ptr/doc/smart_ptr.qbk 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,17 @@
+[library smart_ptr
+ [quickbook 1.4]
+ [copyright 1999 Greg Colvin and Beman Dawes, 2002 Darin Adler, 2002 Peter Dimov]
+ [purpose Five smart pointer class templates, from Greg Colvin, Beman Dawes, Peter Dimov, and Darin Adler.]
+ [license
+ 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])
+ ]
+ [authors [Colvin, Greg], [Dawes, Beman], [Dimov, Peter], [Adler, Darin]]
+ [category memory]
+ [/last-revision $Date: 2007/06/20 16:39:52 +0100 $]
+]
+
+[section Introduction]
+
+[endsect]
\ No newline at end of file

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/admon.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/admon.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+<!--
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/admon.xsl" />
+-->
+
+<xsl:import href="relative-href.xsl" />
+<xsl:import href="box-wrapper.xsl" />
+
+ <xsl:template name="admon.graphic.icon">
+ <xsl:param name="node" select="."/>
+
+ <xsl:variable name="admon.icon.type">
+ <xsl:choose>
+ <xsl:when test="local-name($node)='note'">note</xsl:when>
+ <xsl:when test="local-name($node)='warning'">warning</xsl:when>
+ <xsl:when test="local-name($node)='caution'">caution</xsl:when>
+ <xsl:when test="local-name($node)='tip'">tip</xsl:when>
+ <xsl:when test="local-name($node)='important'">important</xsl:when>
+ <xsl:otherwise>note</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <div class="admonition-icon">
+ <div class="{$admon.icon.type}-icon" />
+ </div>
+
+ </xsl:template>
+
+
+
+ <!-- overwrites docbook graphical.admonition -->
+
+ <xsl:template name="graphical.admonition">
+
+ <xsl:variable name="admon.type">
+ <xsl:choose>
+ <xsl:when test="local-name(.)='note'">Note</xsl:when>
+ <xsl:when test="local-name(.)='warning'">Warning</xsl:when>
+ <xsl:when test="local-name(.)='caution'">Caution</xsl:when>
+ <xsl:when test="local-name(.)='tip'">Tip</xsl:when>
+ <xsl:when test="local-name(.)='important'">Important</xsl:when>
+ <xsl:otherwise>Note</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="alt">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="$admon.type"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <div class="{name(.)}">
+
+ <xsl:call-template name="box.wrapper.decoration" >
+ <xsl:with-param name="content" >
+
+ <div class="admonition-graphic">
+ <xsl:call-template name="admon.graphic.icon"/>
+ </div>
+ <div class="admonition-body">
+ <div class="admonition-title">
+ <xsl:call-template name="anchor"/>
+ <xsl:if test="$admon.textlabel != 0 or title">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </xsl:if>
+ </div>
+ <div class="admonition-content">
+ <xsl:apply-templates/>
+ </div>
+ </div>
+
+ </xsl:with-param>
+ </xsl:call-template>
+
+ </div>
+
+ </xsl:template>
+
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/annotation.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/annotation.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:key name="classes" match="class|struct|union" use="@name"/>
+ <xsl:key name="methods" match="method|overloaded-method" use="@name"/>
+ <xsl:key name="functions" match="function|overloaded-function" use="@name"/>
+ <xsl:key name="enums" match="enum" use="@name"/>
+ <xsl:key name="concepts" match="concept" use="@name"/>
+ <xsl:key name="libraries" match="library" use="@name"/>
+ <xsl:key name="macros" match="macro" use="@name"/>
+ <xsl:key name="headers" match="header" use="@name"/>
+ <xsl:key name="named-entities" match="class|struct|union|concept|function|overloaded-function|macro|library|namespace/data-member|header/data-member|*[attribute::id]" use="@name|@id"/>
+
+ <xsl:template match="function|overloaded-function" mode="generate.id">
+ <xsl:variable name="name" select="normalize-space(@name)"/>
+ <xsl:variable name="translated-name"
+ select="translate($name,
+ '~!%^&amp;*()[].,&lt;&gt;|/ +-=',
+ 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')"/>
+
+ <xsl:choose>
+ <xsl:when test="count(key('named-entities', $name))=1
+ and ($translated-name=$name)">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="separator" select="'.'"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="generate-id(.)"/>
+ <xsl:text>-bb</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="classname" mode="annotation">
+ <!-- Determine the (possibly qualified) class name we are looking for -->
+ <xsl:variable name="fullname">
+ <xsl:choose>
+ <xsl:when test="@alt">
+ <xsl:value-of select="@alt"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string(.)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Strip off any instantiation -->
+ <xsl:variable name="name">
+ <xsl:choose>
+ <xsl:when test="contains($fullname, '&lt;')">
+ <xsl:value-of select="substring-before($fullname, '&lt;')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$fullname"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Determine the unqualified name -->
+ <xsl:variable name="unqualified-name">
+ <xsl:call-template name="strip-qualifiers">
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:call-template name="cxx-link-name">
+ <xsl:with-param name="lookup" select="."/>
+ <xsl:with-param name="type" select="'class'"/>
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="string(.)"/>
+ <xsl:with-param name="unqualified-name" select="$unqualified-name"/>
+ <xsl:with-param name="nodes" select="key('classes', $unqualified-name)"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="methodname" mode="annotation">
+ <!-- Determine the (possibly qualified) method name we are looking for -->
+ <xsl:variable name="fullname">
+ <xsl:choose>
+ <xsl:when test="@alt">
+ <xsl:value-of select="@alt"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string(.)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Strip off any call -->
+ <xsl:variable name="name">
+ <xsl:choose>
+ <xsl:when test="contains($fullname, '(')">
+ <xsl:value-of select="substring-before($fullname, '(')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$fullname"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Determine the unqualified name -->
+ <xsl:variable name="unqualified-name">
+ <xsl:call-template name="strip-qualifiers">
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:call-template name="cxx-link-name">
+ <xsl:with-param name="lookup" select="."/>
+ <xsl:with-param name="type" select="'method'"/>
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="string(.)"/>
+ <xsl:with-param name="unqualified-name" select="$unqualified-name"/>
+ <xsl:with-param name="nodes" select="key('methods', $unqualified-name)"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="functionname" mode="annotation">
+ <!-- Determine the (possibly qualified) function name we are
+ looking for -->
+ <xsl:variable name="fullname">
+ <xsl:choose>
+ <xsl:when test="@alt">
+ <xsl:value-of select="@alt"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string(.)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Strip off any call -->
+ <xsl:variable name="name">
+ <xsl:choose>
+ <xsl:when test="contains($fullname, '(')">
+ <xsl:value-of select="substring-before($fullname, '(')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$fullname"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Determine the unqualified name -->
+ <xsl:variable name="unqualified-name">
+ <xsl:call-template name="strip-qualifiers">
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:call-template name="cxx-link-name">
+ <xsl:with-param name="lookup" select="."/>
+ <xsl:with-param name="type" select="'function'"/>
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="string(.)"/>
+ <xsl:with-param name="unqualified-name" select="$unqualified-name"/>
+ <xsl:with-param name="nodes"
+ select="key('functions', $unqualified-name)"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="enumname" mode="annotation">
+ <!-- Determine the (possibly qualified) enum name we are
+ looking for -->
+ <xsl:variable name="fullname">
+ <xsl:choose>
+ <xsl:when test="@alt">
+ <xsl:value-of select="@alt"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string(.)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Strip off any call -->
+ <xsl:variable name="name">
+ <xsl:choose>
+ <xsl:when test="contains($fullname, '(')">
+ <xsl:value-of select="substring-before($fullname, '(')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$fullname"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Determine the unqualified name -->
+ <xsl:variable name="unqualified-name">
+ <xsl:call-template name="strip-qualifiers">
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:call-template name="cxx-link-name">
+ <xsl:with-param name="lookup" select="."/>
+ <xsl:with-param name="type" select="'enum'"/>
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="string(.)"/>
+ <xsl:with-param name="unqualified-name" select="$unqualified-name"/>
+ <xsl:with-param name="nodes"
+ select="key('enums', $unqualified-name)"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="libraryname" mode="annotation">
+ <xsl:variable name="name">
+ <xsl:choose>
+ <xsl:when test="@alt">
+ <xsl:value-of select="@alt"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="text()"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="node" select="key('libraries', $name)"/>
+
+ <xsl:choose>
+ <xsl:when test="count($node)=0">
+ <xsl:message>
+ <xsl:text>warning: Cannot find library '</xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text>'</xsl:text>
+ </xsl:message>
+ <xsl:value-of select="$name"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="library.link">
+ <xsl:with-param name="node" select="$node"/>
+ <xsl:with-param name="name" select="text()"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="conceptname" mode="annotation">
+ <xsl:param name="name" select="text()"/>
+
+ <xsl:call-template name="concept.link">
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="macroname" mode="annotation">
+ <xsl:param name="name" select="text()"/>
+
+ <xsl:variable name="node" select="key('macros', $name)"/>
+ <xsl:choose>
+ <xsl:when test="count($node) = 0">
+ <xsl:message>
+ <xsl:text>warning: cannot find macro `</xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text>'</xsl:text>
+ </xsl:message>
+ <xsl:value-of select="$name"/>
+ </xsl:when>
+
+ <xsl:when test="count($node) = 1">
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="$node"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="$name"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>error: macro `</xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text>' is multiply defined.</xsl:text>
+ </xsl:message>
+ <xsl:value-of select="$node"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="headername" mode="annotation">
+ <xsl:param name="name" select="text()"/>
+
+ <xsl:variable name="node" select="key('headers', $name)"/>
+ <xsl:choose>
+ <xsl:when test="count($node) = 0">
+ <xsl:message>
+ <xsl:text>warning: cannot find header `</xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text>'</xsl:text>
+ </xsl:message>
+ <xsl:value-of select="$name"/>
+ </xsl:when>
+
+ <xsl:when test="count($node) = 1">
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="$node"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="$name"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>error: header `</xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text>' is multiply defined.</xsl:text>
+ </xsl:message>
+ <xsl:value-of select="$node"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="text()" mode="annotation">
+ <xsl:param name="highlight" select="false()"/>
+ <xsl:choose>
+ <xsl:when test="$highlight">
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="."/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="code" mode="annotation">
+ <computeroutput>
+ <xsl:apply-templates mode="annotation"/>
+ </computeroutput>
+ </xsl:template>
+
+ <xsl:template match="bold" mode="annotation">
+ <emphasis role="bold">
+ <xsl:apply-templates mode="annotation"/>
+ </emphasis>
+ </xsl:template>
+
+ <xsl:template match="comment()" mode="annotation">
+ <xsl:copy/>
+ </xsl:template>
+
+ <xsl:template match="node()" mode="annotation">
+ <xsl:param name="highlight" select="false()"/>
+
+ <xsl:element name="{name(.)}">
+ <xsl:for-each select="./@*">
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:for-each>
+ <xsl:apply-templates select="./*|./text()" mode="annotation">
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:apply-templates>
+ </xsl:element>
+ </xsl:template>
+
+ <!-- The "purpose" mode strips simpara/para elements so that we can
+ place the resulting text into a comment in the synopsis. -->
+ <xsl:template match="para|simpara" mode="purpose">
+ <xsl:apply-templates mode="annotation"/>
+ </xsl:template>
+
+ <xsl:template match="*" mode="purpose">
+ <xsl:apply-templates select="." mode="annotation"/>
+ </xsl:template>
+
+ <xsl:template match="text()" mode="purpose">
+ <xsl:apply-templates select="." mode="annotation"/>
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/box-wrapper.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/box-wrapper.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+ -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+<xsl:template name="box.wrapper.decoration">
+ <xsl:param name="content" />
+ <div class="box-outer-wrapper">
+ <div class="box-top-left" />
+ <div class="box-top-right" />
+ <div class="box-top" />
+ <div class="box-inner-wrapper">
+ <xsl:copy-of select="$content" />
+ </div>
+ <div class="box-bottom-left" />
+ <div class="box-bottom-right" />
+ <div class="box-bottom" />
+ </div>
+</xsl:template>
+
+
+
+</xsl:stylesheet>
\ No newline at end of file

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/callout.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/callout.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2007 Joel de Guzman <djowel -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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+<!--
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/callout.xsl" />
+-->
+
+<xsl:import href="relative-href.xsl"/>
+
+<xsl:template name="callout-bug">
+ <xsl:param name="conum" select='1'/>
+
+ <xsl:choose>
+ <xsl:when test="$callout.graphics != 0
+ and $conum &lt;= $callout.graphics.number.limit">
+
+ <xsl:variable name="relative_callout_graphics_path">
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="$callout.graphics.path"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <img src="{$relative_callout_graphics_path}{$conum}{$callout.graphics.extension}"
+ alt="[{$conum}>"/>
+ </xsl:when>
+
+ <xsl:when test="$callout.unicode != 0
+ and $conum &lt;= $callout.unicode.number.limit">
+ <xsl:choose>
+ <xsl:when test="$callout.unicode.start.character = 10102">
+ <xsl:choose>
+ <xsl:when test="$conum = 1">&#10102;</xsl:when>
+ <xsl:when test="$conum = 2">&#10103;</xsl:when>
+ <xsl:when test="$conum = 3">&#10104;</xsl:when>
+ <xsl:when test="$conum = 4">&#10105;</xsl:when>
+ <xsl:when test="$conum = 5">&#10106;</xsl:when>
+ <xsl:when test="$conum = 6">&#10107;</xsl:when>
+ <xsl:when test="$conum = 7">&#10108;</xsl:when>
+ <xsl:when test="$conum = 8">&#10109;</xsl:when>
+ <xsl:when test="$conum = 9">&#10110;</xsl:when>
+ <xsl:when test="$conum = 10">&#10111;</xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>Don't know how to generate Unicode callouts </xsl:text>
+ <xsl:text>when $callout.unicode.start.character is </xsl:text>
+ <xsl:value-of select="$callout.unicode.start.character"/>
+ </xsl:message>
+ <xsl:text>(</xsl:text>
+ <xsl:value-of select="$conum"/>
+ <xsl:text>)</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>(</xsl:text>
+ <xsl:value-of select="$conum"/>
+ <xsl:text>)</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+
+<!-- Overwrites calloutlist to make the output validate against Strict XHTML
+ Avoid the use of "width" and "compact"
+-->
+
+<xsl:template match="calloutlist">
+ <div class="calloutlist">
+ <xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="anchor"/>
+ <xsl:if test="title|info/title">
+ <xsl:call-template name="formal.object.heading"/>
+ </xsl:if>
+
+ <!-- Preserve order of PIs and comments -->
+ <xsl:apply-templates select="*[not(self::callout or self::title or self::titleabbrev)] |comment()[not(preceding-sibling::callout)] |processing-instruction()[not(preceding-sibling::callout)]"/>
+
+ <dl>
+ <xsl:apply-templates select="callout |comment()[preceding-sibling::calllout] |processing-instruction()[preceding-sibling::callout]"/>
+ </dl>
+ </div>
+</xsl:template>
+
+
+<xsl:template match="callout">
+ <dt>
+ <xsl:call-template name="anchor"/>
+ <xsl:call-template name="callout.arearefs">
+ <xsl:with-param name="arearefs" select="@arearefs"/>
+ </xsl:call-template>
+ </dt>
+ <dd><xsl:apply-templates/></dd>
+</xsl:template>
+
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/chunk-common.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/chunk-common.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,191 @@
+<?xml version="1.0"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+<!--
+<xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk-common.xsl" />
+-->
+
+<xsl:import href="header.xsl"/>
+<xsl:import href="footer.xsl"/>
+<xsl:import href="navbar.xsl"/>
+<xsl:import href="relative-href.xsl"/>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="*" mode="recursive-chunk-filename">
+ <xsl:param name="recursive" select="false()"/>
+
+ <xsl:variable name="their">
+ <xsl:apply-imports mode="recursive-chunk-filename" select="."/>
+ </xsl:variable>
+
+ <xsl:variable name="basename" select="substring-before( $their, $html.ext )"/>
+ <xsl:choose>
+ <xsl:when test="not($recursive)">
+ <xsl:value-of select="translate( $basename, '.', '/' )"/>
+ <xsl:value-of select="$html.ext"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$basename"/>
+ <xsl:value-of select="'.'"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="navig.content">
+ <xsl:param name="direction" select="next"/>
+ <xsl:variable name="navtext">
+ <xsl:choose>
+ <xsl:when test="$direction = 'prev'">
+ <xsl:call-template name="gentext.nav.prev"/>
+ </xsl:when>
+ <xsl:when test="$direction = 'next'">
+ <xsl:call-template name="gentext.nav.next"/>
+ </xsl:when>
+ <xsl:when test="$direction = 'up'">
+ <xsl:call-template name="gentext.nav.up"/>
+ </xsl:when>
+ <xsl:when test="$direction = 'home'">
+ <xsl:call-template name="gentext.nav.home"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>xxx</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$navig.graphics != 0">
+ <img>
+ <xsl:attribute name="src">
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="$navig.graphics.path"/>
+ </xsl:call-template>
+ <xsl:value-of select="$direction"/>
+ <xsl:value-of select="$navig.graphics.extension"/>
+ </xsl:attribute>
+ <xsl:attribute name="alt">
+ <xsl:value-of select="$navtext"/>
+ </xsl:attribute>
+ </img>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$navtext"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+
+<!-- ====================================================================== -->
+
+<xsl:template match="@fileref">
+ <xsl:choose>
+ <xsl:when test="contains(., ':')">
+ <xsl:value-of select="."/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="."/>
+ <xsl:with-param name="context" select=".."/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+
+<xsl:template match="@url">
+ <xsl:choose>
+ <xsl:when test="contains(., ':')">
+ <xsl:value-of select="."/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>XXX</xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>XXX</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- overwrites chunk-element-content -->
+
+<xsl:template name="chunk-element-content">
+ <xsl:param name="prev"/>
+ <xsl:param name="next"/>
+ <xsl:param name="nav.context"/>
+ <xsl:param name="content">
+ <xsl:apply-imports/>
+ </xsl:param>
+
+ <xsl:call-template name="user.preroot"/>
+
+ <html>
+
+ <xsl:call-template name="html.head">
+ <xsl:with-param name="prev" select="$prev"/>
+ <xsl:with-param name="next" select="$next"/>
+ </xsl:call-template>
+
+ <body>
+
+ <xsl:call-template name="body.attributes"/>
+
+ <xsl:if test="$header.show='true'">
+ <xsl:call-template name="boostbook.header">
+ <xsl:with-param name="prev" select="$prev"/>
+ <xsl:with-param name="next" select="$next"/>
+ <xsl:with-param name="nav.context" select="$nav.context"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:if test="$top.navigation.bar.show='true'">
+ <xsl:call-template name="insert.spirit.navbar">
+ <xsl:with-param name = "prev" select = "$prev"/>
+ <xsl:with-param name = "next" select = "$next"/>
+ <xsl:with-param name = "nav.context" select = "$nav.context"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ <div id="body">
+ <div id="body-inner">
+ <div id="content">
+ <xsl:copy-of select="$content"/>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+
+ <xsl:if test="$bottom.navigation.bar.show='true'">
+ <xsl:call-template name="insert.spirit.navbar">
+ <xsl:with-param name = "prev" select = "$prev"/>
+ <xsl:with-param name = "next" select = "$next"/>
+ <xsl:with-param name = "nav.context" select = "$nav.context"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:if test="$footer.show='true'">
+ <xsl:call-template name="boostbook.footer">
+ <xsl:with-param name="prev" select="$prev"/>
+ <xsl:with-param name="next" select="$next"/>
+ <xsl:with-param name="nav.context" select="$nav.context"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ </body>
+ </html>
+</xsl:template>
+
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/docbook-layout.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/docbook-layout.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,502 @@
+<?xml version = "1.0" encoding = "utf-8"?>
+<!--
+ Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+ -->
+
+<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version = "1.0">
+
+<!--
+<xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/xhtml/formal.xsl"/>
+-->
+
+ <xsl:import href="relative-href.xsl"/>
+ <xsl:import href="box-wrapper.xsl" />
+
+ <!--
+ Override the behaviour of some DocBook elements for better
+ integration with the new look & feel.
+ -->
+
+
+ <xsl:template match = "programlisting[ancestor::informaltable]">
+ <pre class = "table-{name(.)}"><xsl:apply-templates/></pre>
+ </xsl:template>
+
+ <xsl:template match = "refsynopsisdiv">
+ <h2 class = "{name(.)}-title">Synopsis</h2>
+ <div class = "{name(.)}"><xsl:apply-templates/></div>
+ </xsl:template>
+
+
+ <!-- logo -->
+
+ <xsl:template name="insert.titlepage.logo">
+ <xsl:if test="$chapter.logo.img != ''">
+ <div class="titlepage_logo"><img src="{$chapter.logo.img}"/></div>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="chapter.titlepage.before.recto">
+ <xsl:call-template name="insert.titlepage.logo" />
+ </xsl:template>
+
+ <xsl:template name="article.titlepage.before.recto">
+ <xsl:call-template name="insert.titlepage.logo" />
+ </xsl:template>
+
+ <xsl:template name="set.titlepage.before.recto">
+ <xsl:call-template name="insert.titlepage.logo" />
+ </xsl:template>
+
+ <xsl:template name="book.titlepage.before.recto">
+ <xsl:call-template name="insert.titlepage.logo" />
+ </xsl:template>
+
+ <xsl:template name="part.titlepage.before.recto">
+ <xsl:call-template name="insert.titlepage.logo" />
+ </xsl:template>
+
+ <!-- separators -->
+
+ <xsl:template name="section.titlepage.separator">
+ <xsl:if test="count(parent::*)='0'"><div class="titlepage_separator"/></xsl:if>
+ </xsl:template>
+
+ <xsl:template name="article.titlepage.separator"><div class="titlepage_separator"/></xsl:template>
+ <xsl:template name="set.titlepage.separator"><div class="titlepage_separator"/></xsl:template>
+ <xsl:template name="book.titlepage.separator"><div class="titlepage_separator"/></xsl:template>
+ <xsl:template name="reference.titlepage.separator"><div class="titlepage_separator"/></xsl:template>
+
+ <!-- table: remove border = '1' -->
+
+ <xsl:template match = "table|informaltable">
+ <xsl:choose>
+ <xsl:when test = "self::table and tgroup|mediaobject|graphic">
+ <xsl:apply-imports/>
+ </xsl:when><xsl:when test = "self::informaltable and tgroup|mediaobject|graphic">
+ <xsl:call-template name = "informal.object">
+ <xsl:with-param name = "class"><xsl:choose>
+ <xsl:when test = "@tabstyle">
+ <xsl:value-of select = "@tabstyle"/>
+ </xsl:when><xsl:otherwise>
+ <xsl:value-of select = "local-name(.)"/>
+ </xsl:otherwise>
+ </xsl:choose></xsl:with-param>
+ </xsl:call-template>
+ </xsl:when><xsl:otherwise>
+ <table class = "table"><xsl:copy-of select = "@*[not(local-name(.)='border')]"/>
+ <xsl:call-template name = "htmlTable"/>
+ </table>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match = "tgroup" name = "tgroup">
+ <xsl:variable name="summary"><xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
+ <xsl:with-param name="attribute" select="'table-summary'"/>
+ </xsl:call-template></xsl:variable>
+
+ <xsl:variable name="cellspacing"><xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
+ <xsl:with-param name="attribute" select="'cellspacing'"/>
+ </xsl:call-template></xsl:variable>
+
+ <xsl:variable name="cellpadding"><xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis" select="processing-instruction('dbhtml')[1]"/>
+ <xsl:with-param name="attribute" select="'cellpadding'"/>
+ </xsl:call-template></xsl:variable>
+
+ <table class = "table">
+ <xsl:choose>
+ <xsl:when test="../textobject/phrase">
+ <xsl:attribute name="summary">
+ <xsl:value-of select="../textobject/phrase"/>
+ </xsl:attribute>
+ </xsl:when><xsl:when test="$summary != ''">
+ <xsl:attribute name="summary">
+ <xsl:value-of select="$summary"/>
+ </xsl:attribute>
+ </xsl:when><xsl:when test="../title">
+ <xsl:attribute name="summary">
+ <xsl:value-of select="string(../title)"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise/>
+ </xsl:choose><xsl:if test="$cellspacing != '' or $html.cellspacing != ''">
+ <xsl:attribute name="cellspacing"><xsl:choose>
+ <xsl:when test="$cellspacing != ''"><xsl:value-of select="$cellspacing"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="$html.cellspacing"/></xsl:otherwise>
+ </xsl:choose></xsl:attribute>
+ </xsl:if><xsl:if test="$cellpadding != '' or $html.cellpadding != ''">
+ <xsl:attribute name="cellpadding"><xsl:choose>
+ <xsl:when test="$cellpadding != ''"><xsl:value-of select="$cellpadding"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="$html.cellpadding"/></xsl:otherwise>
+ </xsl:choose></xsl:attribute>
+ </xsl:if><xsl:if test="../@pgwide=1">
+ <xsl:attribute name="width">100%</xsl:attribute>
+ </xsl:if>
+
+ <xsl:variable name="colgroup">
+ <colgroup><xsl:call-template name="generate.colgroup">
+ <xsl:with-param name="cols" select="@cols"/>
+ </xsl:call-template></colgroup>
+ </xsl:variable>
+
+ <xsl:variable name="explicit.table.width"><xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis" select="../processing-instruction('dbhtml')[1]"/>
+ <xsl:with-param name="attribute" select="'table-width'"/>
+ </xsl:call-template></xsl:variable>
+
+ <xsl:variable name="table.width"><xsl:choose>
+ <xsl:when test="$explicit.table.width != ''">
+ <xsl:value-of select="$explicit.table.width"/>
+ </xsl:when><xsl:when test="$default.table.width = ''">
+ <xsl:text>100%</xsl:text>
+ </xsl:when><xsl:otherwise>
+ <xsl:value-of select="$default.table.width"/>
+ </xsl:otherwise>
+ </xsl:choose></xsl:variable>
+
+ <xsl:if test="$default.table.width != '' or $explicit.table.width != ''">
+ <xsl:attribute name="width"><xsl:choose>
+ <xsl:when test="contains($table.width, '%')">
+ <xsl:value-of select="$table.width"/>
+ </xsl:when><xsl:when test="$use.extensions != 0 and $tablecolumns.extension != 0">
+ <xsl:choose>
+ <xsl:when test="function-available('stbl:convertLength')">
+ <xsl:value-of select="stbl:convertLength($table.width)"/>
+ </xsl:when><xsl:when test="function-available('xtbl:convertLength')">
+ <xsl:value-of select="xtbl:convertLength($table.width)"/>
+ </xsl:when><xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>No convertLength function available.</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when><xsl:otherwise>
+ <xsl:value-of select="$table.width"/>
+ </xsl:otherwise>
+ </xsl:choose></xsl:attribute>
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="$use.extensions != 0 and $tablecolumns.extension != 0">
+ <xsl:choose>
+ <xsl:when test="function-available('stbl:adjustColumnWidths')">
+ <xsl:copy-of select="stbl:adjustColumnWidths($colgroup)"/>
+ </xsl:when><xsl:when test="function-available('xtbl:adjustColumnWidths')">
+ <xsl:copy-of select="xtbl:adjustColumnWidths($colgroup)"/>
+ </xsl:when><xsl:when test="function-available('ptbl:adjustColumnWidths')">
+ <xsl:copy-of select="ptbl:adjustColumnWidths($colgroup)"/>
+ </xsl:when><xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>No adjustColumnWidths function available.</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when><xsl:otherwise>
+ <xsl:copy-of select="$colgroup"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:apply-templates select="thead"/>
+ <xsl:apply-templates select="tfoot"/>
+ <xsl:apply-templates select="tbody"/>
+
+ <xsl:if test=".//footnote"><tbody class="footnotes">
+ <tr><td colspan="{@cols}">
+ <xsl:apply-templates select=".//footnote" mode="table.footnote.mode"/>
+ </td></tr>
+ </tbody></xsl:if>
+ </table>
+ </xsl:template>
+
+ <!-- table of contents
+
+ The standard Docbook template selects, amoung others,
+ the 'refentry' element for inclusion in TOC. In some
+ cases, this creates empty TOC. The most possible reason
+ is that there's 'refentry' element without 'refentrytitle',
+ but it's a mistery why it occurs. Even if we fix that
+ problem, we'll get non-empty TOC where no TOC is desired
+ (e.g. for section corresponding to each header file in
+ library doc). So, don't bother for now.
+ -->
+
+ <xsl:template name="section.toc">
+ <xsl:param name="toc-context" select="."/>
+ <xsl:param name="toc.title.p" select="true()"/>
+
+ <xsl:call-template name="make.toc">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ <xsl:with-param name="toc.title.p" select="$toc.title.p"/>
+ <xsl:with-param name="nodes" select="
+ section|sect1|sect2|sect3|sect4|sect5|
+ bridgehead[$bridgehead.in.toc != 0]
+ "/>
+ </xsl:call-template>
+
+ </xsl:template>
+
+ <!-- When there is both a title and a caption for a table, only use the
+ title. -->
+ <xsl:template match="table" mode="title.markup">
+ <xsl:param name="allow-anchors" select="0"/>
+ <xsl:apply-templates select="(title|caption)[1]" mode="title.markup">
+ <xsl:with-param name="allow-anchors" select="$allow-anchors"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+
+<!--========================================================================
+ Box-wrapper support
+============================================================================
+
+Overwrites docbook blocks templates to insert a box wrapper nested in them.
+With this wrapper in place we can modify the look & feel of the blocks with
+total freedom.
+
+These overwrites are against long stablished docbook templates, so it seems
+to be safe.
+
+=========================================================================-->
+
+
+<xsl:template match="sidebar">
+ <div class="{name(.)}">
+ <xsl:call-template name="box.wrapper.decoration" >
+ <xsl:with-param name="content" >
+ <xsl:call-template name="anchor"/>
+ <xsl:apply-templates/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </div>
+</xsl:template>
+
+
+<!-- Overwrites make.toc to add the box wrapper -->
+
+<xsl:template name="make.toc">
+ <xsl:param name="toc-context" select="."/>
+ <xsl:param name="toc.title.p" select="true()"/>
+ <xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
+
+ <xsl:variable name="toc.title">
+ <xsl:if test="$toc.title.p">
+ <p>
+ <b>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key">TableofContents</xsl:with-param>
+ </xsl:call-template>
+ </b>
+ </p>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$manual.toc != ''">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="toc" select="document($manual.toc, .)"/>
+ <xsl:variable name="tocentry" select="$toc//tocentry[@linkend=$id]"/>
+ <xsl:if test="$tocentry and $tocentry/*">
+ <div class="toc">
+ <xsl:call-template name="box.wrapper.decoration" >
+ <xsl:with-param name="content" >
+ <xsl:copy-of select="$toc.title"/>
+ <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
+ <xsl:call-template name="manual-toc">
+ <xsl:with-param name="tocentry" select="$tocentry/*[1]"/>
+ </xsl:call-template>
+ </xsl:element>
+ </xsl:with-param>
+ </xsl:call-template>
+ </div>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="$nodes">
+ <div class="toc">
+
+ <xsl:call-template name="box.wrapper.decoration" >
+ <xsl:with-param name="content" >
+
+ <xsl:copy-of select="$toc.title"/>
+ <xsl:element name="{$toc.list.type}" namespace="http://www.w3.org/1999/xhtml">
+ <xsl:apply-templates select="$nodes" mode="toc">
+ <xsl:with-param name="toc-context" select="$toc-context"/>
+ </xsl:apply-templates>
+ </xsl:element>
+
+ </xsl:with-param>
+ </xsl:call-template>
+
+ </div>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+
+<xsl:template match="programlisting|screen|synopsis">
+ <xsl:param name="suppress-numbers" select="'0'"/>
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:call-template name="anchor"/>
+
+ <div class="{name(.)}">
+
+ <xsl:call-template name="box.wrapper.decoration" >
+ <xsl:with-param name="content" >
+
+ <xsl:if test="name(.) = 'programlisting'">
+ <xsl:if test="$syntax.switcher.show='true'">
+ <xsl:call-template name="insert.style.selector">
+ <xsl:with-param name="xml" select="$syntax.switcher.xml" />
+ <xsl:with-param name="root" select="$syntax.switcher.root"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:if>
+
+ <pre>
+
+ <xsl:choose>
+ <xsl:when test="$suppress-numbers = '0' and @linenumbering = 'numbered' and $use.extensions != '0' and $linenumbering.extension != '0'">
+ <xsl:variable name="rtf">
+ <xsl:apply-templates/>
+ </xsl:variable>
+ <xsl:call-template name="number.rtf.lines">
+ <xsl:with-param name="rtf" select="$rtf"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </pre>
+ </xsl:with-param>
+ </xsl:call-template>
+ </div>
+
+</xsl:template>
+
+
+<!-- [XHTML] Overwrites to achive Strict XHTML validation -->
+
+<xsl:template name="process.footnotes">
+ <xsl:variable name="footnotes" select=".//footnote"/>
+ <xsl:variable name="fcount">
+ <xsl:call-template name="count.footnotes.in.this.chunk">
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="footnotes" select="$footnotes"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+<!--
+ <xsl:message>
+ <xsl:value-of select="name(.)"/>
+ <xsl:text> fcount: </xsl:text>
+ <xsl:value-of select="$fcount"/>
+ </xsl:message>
+-->
+
+ <!-- Only bother to do this if there's at least one non-table footnote -->
+ <xsl:if test="$fcount &gt; 0">
+ <div class="footnotes">
+ <xsl:call-template name="process.footnotes.in.this.chunk">
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="footnotes" select="$footnotes"/>
+ </xsl:call-template>
+ </div>
+ </xsl:if>
+
+ <!-- FIXME: When chunking, only the annotations actually used
+ in this chunk should be referenced. I don't think it
+ does any harm to reference them all, but it adds
+ unnecessary bloat to each chunk. -->
+ <xsl:if test="$annotation.support != 0 and //annotation">
+ <div class="annotation-list">
+ <div class="annotation-nocss">
+ <p>The following annotations are from this essay. You are seeing
+ them here because your browser doesn&#8217;t support the user-interface
+ techniques used to make them appear as &#8216;popups&#8217; on modern browsers.</p>
+ </div>
+
+ <xsl:apply-templates select="//annotation" mode="annotation-popup"/>
+ </div>
+ </xsl:if>
+</xsl:template>
+
+
+<xsl:template match="orderedlist">
+ <xsl:variable name="start">
+ <xsl:call-template name="orderedlist-starting-number"/>
+ </xsl:variable>
+
+ <xsl:variable name="numeration">
+ <xsl:call-template name="list.numeration"/>
+ </xsl:variable>
+
+ <xsl:variable name="type">
+ <xsl:choose>
+ <xsl:when test="$numeration='arabic'">ol_1</xsl:when>
+ <xsl:when test="$numeration='loweralpha'">ol_a</xsl:when>
+ <xsl:when test="$numeration='lowerroman'">ol_i</xsl:when>
+ <xsl:when test="$numeration='upperalpha'">ol_A</xsl:when>
+ <xsl:when test="$numeration='upperroman'">ol_I</xsl:when>
+ <!-- What!? This should never happen -->
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>Unexpected numeration: </xsl:text>
+ <xsl:value-of select="$numeration"/>
+ </xsl:message>
+ <xsl:value-of select="1"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <div>
+ <xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="anchor"/>
+
+ <xsl:if test="title">
+ <xsl:call-template name="formal.object.heading"/>
+ </xsl:if>
+
+ <!-- Preserve order of PIs and comments -->
+ <xsl:apply-templates select="*[not(self::listitem or self::title or self::titleabbrev)] |comment()[not(preceding-sibling::listitem)] |processing-instruction()[not(preceding-sibling::listitem)]"/>
+
+ <ol>
+ <xsl:if test="$start != '1'">
+ <xsl:attribute name="start">
+ <xsl:value-of select="$start"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="$numeration != ''">
+ <xsl:attribute name="class">
+ <xsl:value-of select="$type"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates select="listitem |comment()[preceding-sibling::listitem] |processing-instruction()[preceding-sibling::listitem]"/>
+ </ol>
+ </div>
+</xsl:template>
+
+<xsl:template name="language.attribute">
+ <xsl:param name="node" select="."/>
+</xsl:template>
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/docbook-params.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/docbook-params.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+ -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<!--========================================================================
+ Docbook parameters
+ These params overwrite docbook default parameters
+==========================================================================-->
+
+
+
+<xsl:param name="html.stylesheet" select="$boostbook.main.css" />
+
+<!-- Callouts graphics may pass to css control in the future -->
+<xsl:param name="callout.graphics.path" select="concat($css.stylesheet.root,'/images/callouts/')"/>
+
+
+<xsl:param name="generate.section.toc.level" select="3" />
+<xsl:param name="toc.max.depth" select="2" />
+<xsl:param name="admon.graphics" select="1" />
+<xsl:param name="chapter.autolabel" select="1" />
+<xsl:param name="css.decoration" select="0" />
+<xsl:param name="use.id.as.filename" select="1" />
+<xsl:param name="refentry.generate.name" select="0" />
+<xsl:param name="refentry.generate.title" select="1" />
+<xsl:param name="make.year.ranges" select="1" />
+<xsl:param name="generate.manifest" select="1" />
+<xsl:param name="chunker.output.indent" select="'yes'" />
+<xsl:param name="callout.graphics.number.limit" select="15" />
+
+<xsl:param name="admon.style">
+ <!-- Remove the style. Let the CSS do the styling -->
+</xsl:param>
+
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/docbook.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/docbook.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,484 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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) xmlns="http://www.w3.org/1999/xhtml"
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ version="1.0">
+
+ <xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/xhtml/chunker.xsl"/>
+
+ <xsl:import href="reference.xsl"/>
+
+ <xsl:import href="user-params.xsl"/>
+ <xsl:import href="docbook-params.xsl"/>
+
+ <xsl:output method="xml"
+ doctype-public="-//OASIS//DTD DocBook XML V4.2//EN"
+ doctype-system="http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"/>
+
+ <!-- A space-separated list of libraries to include in the
+ output. If this list is empty, all libraries will be included. -->
+ <xsl:param name="boost.include.libraries" select="''"/>
+
+ <!-- Internal -->
+
+ <!-- Deprecated, use pre.text.max.columns -->
+ <!-- The maximum number of columns allowed in preformatted text -->
+ <xsl:param name="max-columns" select="78"/>
+
+ <xsl:param name="pre.text.max.columns" select="$max-columns" />
+
+ <!-- A space-separated list of xml elements in the input file for which
+ whitespace should be preserved -->
+ <xsl:preserve-space elements="*"/>
+
+ <xsl:template match="library-reference">
+ <xsl:choose>
+ <xsl:when test="ancestor::library-reference">
+ <xsl:apply-templates/>
+ </xsl:when>
+ <xsl:otherwise>
+ <section>
+ <xsl:choose>
+ <xsl:when test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="ancestor::library/attribute::id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="ancestor::library/attribute::id"/>
+ <xsl:text>.reference</xsl:text>
+ </xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:if test="not(title)">
+ <title>
+ <xsl:text>Reference</xsl:text>
+ </title>
+ </xsl:if>
+
+ <xsl:if test="concept">
+ <section>
+ <xsl:choose>
+ <xsl:when test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id"/>
+ <xsl:text>.concepts</xsl:text>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="ancestor::library/attribute::id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="ancestor::library/attribute::id"/>
+ <xsl:text>.concepts</xsl:text>
+ </xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+
+ <title>Concepts</title>
+ <itemizedlist>
+ <xsl:for-each select="concept">
+ <listitem>
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="@name"/>
+ </xsl:call-template>
+ </listitem>
+ </xsl:for-each>
+ </itemizedlist>
+ </section>
+ </xsl:if>
+
+ <xsl:apply-templates/>
+ </section>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="header">
+ <xsl:if test="*">
+ <section>
+ <xsl:attribute name="id">
+ <xsl:call-template name="generate.id"/>
+ </xsl:attribute>
+
+ <title>
+ <xsl:text>Header &lt;</xsl:text>
+ <ulink>
+ <xsl:attribute name="url">
+ <xsl:value-of select="$project.header.root"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
+ <xsl:value-of select="@name"/>
+ </ulink>
+ <xsl:text>&gt;</xsl:text>
+ </title>
+
+ <xsl:apply-templates select="para|section" mode="annotation"/>
+ <xsl:if test="macro">
+ <xsl:call-template name="synopsis">
+ <xsl:with-param name="text">
+ <xsl:apply-templates mode="synopsis" select="macro">
+ <xsl:with-param name="indentation" select="0"/>
+ </xsl:apply-templates>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:if test="descendant::class|descendant::struct|descendant::union
+ |descendant::function|descendant::free-function-group
+ |descendant::overloaded-function|descendant::enum
+ |descendant::typedef">
+ <xsl:call-template name="synopsis">
+ <xsl:with-param name="text">
+ <xsl:apply-templates mode="synopsis"
+ select="namespace|class|struct|union
+ |function|free-function-group
+ |overloaded-function|enum
+ |typedef">
+ <xsl:with-param name="indentation" select="0"/>
+ </xsl:apply-templates>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:apply-templates mode="namespace-reference"/>
+ </section>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="header" mode="generate.id">
+ <xsl:text>header.</xsl:text>
+ <xsl:value-of select="translate(@name, '/','.')"/>
+ </xsl:template>
+
+ <xsl:template match="*" mode="passthrough">
+ <xsl:copy-of select="."/>
+ </xsl:template>
+
+ <!-- Syntax highlighting -->
+ <xsl:template name="highlight-keyword">
+ <xsl:param name="keyword"/>
+ <xsl:choose>
+ <xsl:when test="$boost.syntax.highlight='1'">
+ <emphasis role="bold"><xsl:value-of select="$keyword"/></emphasis>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$keyword"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="highlight-comment">
+ <xsl:param name="text"/>
+ <emphasis><xsl:copy-of select="$text"/></emphasis>
+ </xsl:template>
+
+ <xsl:template name="monospaced">
+ <xsl:param name="text"/>
+ <computeroutput><xsl:value-of select="$text"/></computeroutput>
+ </xsl:template>
+
+ <!-- Linking -->
+ <xsl:template name="internal-link">
+ <xsl:param name="to"/>
+ <xsl:param name="text"/>
+ <xsl:param name="highlight" select="false()"/>
+
+ <link linkend="{$to}">
+ <xsl:if test="$highlight">
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="$text"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="not($highlight)">
+ <xsl:value-of select="string($text)"/>
+ </xsl:if>
+ </link>
+ </xsl:template>
+
+ <xsl:template name="anchor">
+ <xsl:param name="to"/>
+ <xsl:param name="text"/>
+ <xsl:param name="highlight" select="false()"/>
+
+ <anchor id="{$to}"/>
+ <xsl:if test="$highlight">
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="$text"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="not($highlight)">
+ <xsl:value-of select="$text"/>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="link-or-anchor">
+ <xsl:param name="to"/>
+ <xsl:param name="text"/>
+
+ <!-- True if we should create an anchor, otherwise we will create
+ a link. If you require more control (e.g., with the possibility of
+ having no link or anchor), set link-type instead: if present, it
+ takes precedence. -->
+ <xsl:param name="is-anchor"/>
+
+ <!-- 'anchor', 'link', or 'none' -->
+ <xsl:param name="link-type">
+ <xsl:choose>
+ <xsl:when test="$is-anchor">
+ <xsl:text>anchor</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>link</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:param>
+
+ <xsl:param name="highlight" select="false()"/>
+
+ <xsl:choose>
+ <xsl:when test="$link-type='anchor'">
+ <xsl:call-template name="anchor">
+ <xsl:with-param name="to" select="$to"/>
+ <xsl:with-param name="text" select="$text"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$link-type='link'">
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to" select="$to"/>
+ <xsl:with-param name="text" select="$text"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$link-type='none'">
+ <xsl:if test="$highlight">
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="$text"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test="not($highlight)">
+ <xsl:value-of select="$text"/>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+Error: XSL template 'link-or-anchor' called with invalid link-type '<xsl:value-of select="$link-type"/>'
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="separator"/>
+
+ <xsl:template name="reference-documentation">
+ <xsl:param name="name"/>
+ <xsl:param name="refname"/>
+ <xsl:param name="purpose"/>
+ <xsl:param name="anchor"/>
+ <xsl:param name="synopsis"/>
+ <xsl:param name="text"/>
+
+ <refentry id="{$anchor}">
+ <refmeta>
+ <refentrytitle><xsl:value-of select="$name"/></refentrytitle>
+ <manvolnum>3</manvolnum>
+ </refmeta>
+ <refnamediv>
+ <refname><xsl:value-of select="$refname"/></refname>
+ <refpurpose>
+ <xsl:apply-templates mode="annotation" select="$purpose"/>
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <synopsis>
+ <xsl:copy-of select="$synopsis"/>
+ </synopsis>
+ </refsynopsisdiv>
+ <xsl:if test="not(string($text)='')">
+ <refsect1>
+ <title>Description</title>
+ <xsl:copy-of select="$text"/>
+ </refsect1>
+ </xsl:if>
+ </refentry>
+ </xsl:template>
+
+ <xsl:template name="member-documentation">
+ <xsl:param name="name"/>
+ <xsl:param name="text"/>
+
+ <refsect2>
+ <title><xsl:copy-of select="$name"/></title>
+ <xsl:copy-of select="$text"/>
+ </refsect2>
+ </xsl:template>
+
+ <xsl:template name="preformatted">
+ <xsl:param name="text"/>
+
+ <literallayout class="monospaced">
+ <xsl:copy-of select="$text"/>
+ </literallayout>
+ </xsl:template>
+
+ <xsl:template name="synopsis">
+ <xsl:param name="text"/>
+
+ <synopsis>
+ <xsl:copy-of select="$text"/>
+ </synopsis>
+ </xsl:template>
+
+ <!-- Fallthrough for DocBook elements -->
+ <xsl:template match="*">
+ <xsl:element name="{name(.)}">
+ <xsl:for-each select="./@*">
+ <xsl:choose>
+ <xsl:when test="local-name(.)='last-revision'">
+ <xsl:attribute
+ name="rev:last-revision"
+ namespace="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="code">
+ <computeroutput>
+ <xsl:apply-templates mode="annotation"/>
+ </computeroutput>
+ </xsl:template>
+
+ <xsl:template match="bold">
+ <emphasis role="bold">
+ <xsl:apply-templates mode="annotation"/>
+ </emphasis>
+ </xsl:template>
+
+ <xsl:template match="library">
+ <xsl:if test="not(@html-only = 1) and
+ ($boost.include.libraries='' or
+ contains($boost.include.libraries, @id))">
+
+ <chapter>
+ <xsl:attribute name="id">
+ <xsl:choose>
+ <xsl:when test="@id">
+ <xsl:value-of select="@id"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="generate.id"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+
+ <xsl:if test="@last-revision">
+ <xsl:attribute
+ name="rev:last-revision"
+ namespace="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision">
+ <xsl:value-of select="@last-revision"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </chapter>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="chapter">
+ <xsl:if test="$boost.include.libraries=''">
+ <chapter>
+ <xsl:for-each select="./@*">
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:for-each>
+
+ <xsl:apply-templates/>
+ </chapter>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="boostbook">
+ <book><xsl:apply-templates/></book>
+ </xsl:template>
+
+ <xsl:template match="programlisting">
+ <programlisting><xsl:apply-templates/></programlisting>
+ </xsl:template>
+
+ <!-- These DocBook elements have special meaning. Use the annotation mode -->
+ <xsl:template match="classname|methodname|functionname|enumname|
+ macroname|headername">
+ <computeroutput>
+ <xsl:apply-templates select="." mode="annotation"/>
+ </computeroutput>
+ </xsl:template>
+
+ <xsl:template match="libraryname|conceptname">
+ <xsl:apply-templates select="." mode="annotation"/>
+ </xsl:template>
+
+ <xsl:template match="description">
+ <xsl:apply-templates mode="annotation"/>
+ </xsl:template>
+
+ <!-- Swallow using-namespace and using-class directives along with
+ last-revised elements -->
+ <xsl:template match="using-namespace|using-class|last-revised"/>
+
+ <!-- If there is no "namespace-reference" mode, forward to
+ "reference" mode -->
+ <xsl:template match="*" mode="namespace-reference">
+ <xsl:apply-templates select="." mode="reference"/>
+ </xsl:template>
+
+ <!-- Make the various blocks immediately below a "part" be
+ "chapter"-s. Must also take into account turning
+ chapters within chpaters into sections. -->
+ <xsl:template match="part/part|part/article">
+ <chapter>
+ <xsl:for-each select="./@*">
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:for-each>
+ <xsl:apply-templates/>
+ </chapter>
+ </xsl:template>
+ <xsl:template match="part/part/partinfo|part/article/articleinfo">
+ <chapterinfo><xsl:apply-templates/></chapterinfo>
+ </xsl:template>
+ <xsl:template match="part/part/chapter">
+ <section>
+ <xsl:for-each select="./@*">
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:for-each>
+ <xsl:apply-templates/>
+ </section>
+ </xsl:template>
+ <xsl:template match="part/part/chapter/chapterinfo">
+ <sectioninfo><xsl:apply-templates/></sectioninfo>
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/error.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/error.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:template name="print.warning.context">
+ <xsl:message>
+ <xsl:text> In </xsl:text>
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:message>
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/fo.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/fo.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2003 Douglas Gregor -->
+<!-- Distributed under the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+ <!-- Import the FO stylesheet -->
+ <xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
+
+ <xsl:param name="chapter.autolabel" select="0"/>
+ <xsl:param name="refentry.generate.name" select="0"/>
+ <xsl:param name="refentry.generate.title" select="1"/>
+ <xsl:param name="fop.extensions" select="1"/>
+ <xsl:param name="make.year.ranges" select="1"/>
+ <xsl:param name="ulink.show" select="0"/>
+
+ <!-- The question and answer templates are copied here from the
+ 1.61.3 DocBook XSL stylesheets so that we can eliminate the emission
+ of id attributes in the emitted fo:list-item-label elements. FOP
+ 0.20.5 has problems with these id attributes, and they are otherwise
+ unused. -->
+<xsl:template match="question">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+
+ <xsl:variable name="entry.id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="parent::*"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="deflabel">
+ <xsl:choose>
+ <xsl:when test="ancestor-or-self::*[@defaultlabel]">
+ <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
+ /@defaultlabel"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$qanda.defaultlabel"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <fo:list-item id="{$entry.id}" xsl:use-attribute-sets="list.item.spacing">
+ <fo:list-item-label end-indent="label-end()">
+ <xsl:choose>
+ <xsl:when test="$deflabel = 'none'">
+ <fo:block/>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:block>
+ <xsl:apply-templates select="." mode="label.markup"/>
+ <xsl:text>.</xsl:text> <!-- FIXME: Hack!!! This should be in the locale! -->
+ </fo:block>
+ </xsl:otherwise>
+ </xsl:choose>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <xsl:choose>
+ <xsl:when test="$deflabel = 'none'">
+ <fo:block font-weight="bold">
+ <xsl:apply-templates select="*[local-name(.)!='label']"/>
+ </fo:block>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="*[local-name(.)!='label']"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </fo:list-item-body>
+ </fo:list-item>
+</xsl:template>
+
+<xsl:template match="answer">
+ <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
+ <xsl:variable name="entry.id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="parent::*"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="deflabel">
+ <xsl:choose>
+ <xsl:when test="ancestor-or-self::*[@defaultlabel]">
+ <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
+ /@defaultlabel"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$qanda.defaultlabel"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <fo:list-item xsl:use-attribute-sets="list.item.spacing">
+ <fo:list-item-label end-indent="label-end()">
+ <xsl:choose>
+ <xsl:when test="$deflabel = 'none'">
+ <fo:block/>
+ </xsl:when>
+ <xsl:otherwise>
+ <fo:block>
+ <!-- FIXME: Hack!!! This should be in the locale! -->
+ <xsl:variable name="answer.label">
+ <xsl:apply-templates select="." mode="label.markup"/>
+ </xsl:variable>
+ <xsl:copy-of select="$answer.label"/>
+ <xsl:if test="string($answer.label) != ''">
+ <xsl:text>.</xsl:text>
+ </xsl:if>
+ </fo:block>
+ </xsl:otherwise>
+ </xsl:choose>
+ </fo:list-item-label>
+ <fo:list-item-body start-indent="body-start()">
+ <xsl:apply-templates select="*[local-name(.)!='label']"/>
+ </fo:list-item-body>
+ </fo:list-item>
+</xsl:template>
+
+<!--
+
+ The following rules apply syntax highlighting to phrases
+ that have been appropriately marked up, the highlighting
+ used is the same as that used by our CSS style sheets,
+ but potentially we have the option to do better here
+ since we can add bold and italic formatting quite easily
+
+ -->
+
+<xsl:template match="phrase[@role='keyword']">
+ <fo:inline color="#3300CC"><xsl:apply-templates/></fo:inline>
+</xsl:template>
+<xsl:template match="phrase[@role='special']">
+ <fo:inline color="#707070"><xsl:apply-templates/></fo:inline>
+</xsl:template>
+<xsl:template match="phrase[@role='preprocessor']">
+ <fo:inline color="#009999"><xsl:apply-templates/></fo:inline>
+</xsl:template>
+<xsl:template match="phrase[@role='char']">
+ <fo:inline color="teal"><xsl:apply-templates/></fo:inline>
+</xsl:template>
+<xsl:template match="phrase[@role='comment']">
+ <fo:inline color="#009900"><xsl:apply-templates/></fo:inline>
+</xsl:template>
+<xsl:template match="phrase[@role='string']">
+ <fo:inline color="teal"><xsl:apply-templates/></fo:inline>
+</xsl:template>
+<xsl:template match="phrase[@role='number']">
+ <fo:inline color="teal"><xsl:apply-templates/></fo:inline>
+</xsl:template>
+<xsl:template match="phrase[@role='white_bkd']">
+ <fo:inline color="#E8FBE9"><xsl:apply-templates/></fo:inline>
+</xsl:template>
+<xsl:template match="phrase[@role='dk_grey_bkd']">
+ <fo:inline color="#A0DAAC"><xsl:apply-templates/></fo:inline>
+</xsl:template>
+
+<!--
+Make all hyperlinks colored:
+-->
+<xsl:attribute-set name="xref.properties">
+ <xsl:attribute name="color">#0C7445</xsl:attribute>
+</xsl:attribute-set>
+
+<!--
+Put a box around admonishments and keep them together:
+-->
+<xsl:attribute-set name="graphical.admonition.properties">
+ <xsl:attribute name="border-color">#DCDCDC</xsl:attribute>
+ <xsl:attribute name="border-width">1px</xsl:attribute>
+ <xsl:attribute name="border-bottom-color">#9D9D9D</xsl:attribute>
+ <xsl:attribute name="border-bottom-width">3px</xsl:attribute>
+ <xsl:attribute name="border-right-color">#9D9D9D</xsl:attribute>
+ <xsl:attribute name="border-right-width">3px</xsl:attribute>
+ <xsl:attribute name="border-style">solid</xsl:attribute>
+ <xsl:attribute name="padding-left">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-right">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-top">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-bottom">0.2cm</xsl:attribute>
+ <xsl:attribute name="keep-together">1</xsl:attribute>
+ <xsl:attribute name="background-color">#FAFFFB</xsl:attribute>
+</xsl:attribute-set>
+
+<!-- TOC border setup -->
+<xsl:attribute-set name="toc.margin.properties">
+ <xsl:attribute name="border-color">#DCDCDC</xsl:attribute>
+ <xsl:attribute name="border-width">1px</xsl:attribute>
+ <xsl:attribute name="border-bottom-color">#9D9D9D</xsl:attribute>
+ <xsl:attribute name="border-bottom-width">3px</xsl:attribute>
+ <xsl:attribute name="border-right-color">#9D9D9D</xsl:attribute>
+ <xsl:attribute name="border-right-width">3px</xsl:attribute>
+ <xsl:attribute name="border-style">solid</xsl:attribute>
+ <xsl:attribute name="padding-left">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-right">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-top">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-bottom">0.2cm</xsl:attribute>
+ <xsl:attribute name="keep-together">1</xsl:attribute>
+ <xsl:attribute name="background-color">#FAFFFB</xsl:attribute>
+</xsl:attribute-set>
+
+<!--
+Put a box around code blocks, also set the font size
+and keep the block together if we can:
+-->
+<xsl:attribute-set name="monospace.verbatim.properties">
+ <xsl:attribute name="border-color">#DCDCDC</xsl:attribute>
+ <xsl:attribute name="border-width">1px</xsl:attribute>
+ <xsl:attribute name="border-bottom-color">#9D9D9D</xsl:attribute>
+ <xsl:attribute name="border-bottom-width">3px</xsl:attribute>
+ <xsl:attribute name="border-right-color">#9D9D9D</xsl:attribute>
+ <xsl:attribute name="border-right-width">3px</xsl:attribute>
+ <xsl:attribute name="border-style">solid</xsl:attribute>
+ <xsl:attribute name="padding-left">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-right">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-top">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-bottom">0.2cm</xsl:attribute>
+ <xsl:attribute name="keep-together">1</xsl:attribute>
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
+ <xsl:attribute name="background-color">#FAFFFB</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="table.cell.padding">
+ <xsl:attribute name="padding-left">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-right">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-top">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-bottom">0.2cm</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:attribute-set name="table.properties">
+ <xsl:attribute name="keep-together">1</xsl:attribute>
+ <xsl:attribute name="background-color">#FAFFFB</xsl:attribute>
+</xsl:attribute-set>
+
+<xsl:param name="table.frame.border.color">#DCDCDC</xsl:param>
+<xsl:param name="table.cell.border.color">#DCDCDC</xsl:param>
+<xsl:param name="admon.graphics.extension">.svg</xsl:param>
+
+<!-- Render sidebars the same as Admonishments -->
+<xsl:attribute-set name="sidebar.properties">
+ <xsl:attribute name="border-color">#DCDCDC</xsl:attribute>
+ <xsl:attribute name="border-width">1px</xsl:attribute>
+ <xsl:attribute name="border-bottom-color">#9D9D9D</xsl:attribute>
+ <xsl:attribute name="border-bottom-width">3px</xsl:attribute>
+ <xsl:attribute name="border-right-color">#9D9D9D</xsl:attribute>
+ <xsl:attribute name="border-right-width">3px</xsl:attribute>
+ <xsl:attribute name="border-style">solid</xsl:attribute>
+ <xsl:attribute name="padding-left">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-right">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-top">0.2cm</xsl:attribute>
+ <xsl:attribute name="padding-bottom">0.2cm</xsl:attribute>
+ <xsl:attribute name="keep-together">1</xsl:attribute>
+ <xsl:attribute name="background-color">#FAFFFB</xsl:attribute>
+</xsl:attribute-set>
+
+</xsl:stylesheet>
+
+

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/footer.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/footer.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+ -->
+
+<!--
+ Footer stylesheet
+ -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"
+ exclude-result-prefixes="rev"
+ version="1.0">
+
+
+ <xsl:template name = "boostbook.footer">
+ <xsl:param name = "prev" select = "/foo"/>
+ <xsl:param name = "next" select = "/foo"/>
+ <xsl:param name = "nav.context"/>
+
+ <!-- website footer -->
+
+ <div id="footer">
+ <div id="footer-left">
+ <xsl:variable name="revised.time">
+ <xsl:call-template name = "find.revised.time"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$revised.time='unknown'">
+ <!-- unknown revised time, skip revised time -->
+ </xsl:when>
+ <xsl:otherwise>
+ <div id="revised">Revised: <xsl:value-of select="$revised.time"/></div>
+ </xsl:otherwise>
+ </xsl:choose>
+ <div id="copyright">
+ <xsl:apply-templates select="ancestor::*/*/copyright"
+ mode="boost.footer"/>
+ </div>
+ <div id="license">
+ <p>Distributed under the
+ <a href="/LICENSE_1_0.txt"
+ class="internal">Boost Software License, Version 1.0</a>.
+ </p>
+ </div>
+ </div>
+ <div id="footer-right">
+ <div id="banners">
+ <p id="banner-xhtml">
+ <a href="http://validator.w3.org/check?uri=referer"
+ class="external">XHTML 1.0</a>
+ </p>
+ <p id="banner-css">
+ <a href="http://jigsaw.w3.org/css-validator/check/referer"
+ class="external">CSS</a>
+ </p>
+ <p id="banner-sourceforge">
+ <a href="http://sourceforge.net"
+ class="external">SourceForge</a>
+ </p>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+
+
+ </xsl:template>
+
+
+ <xsl:template name = "month.name.from.number" >
+ <xsl:param name = "month"/>
+ <xsl:choose>
+ <xsl:when test="$month=1">January</xsl:when>
+ <xsl:when test="$month=2">February</xsl:when>
+ <xsl:when test="$month=3">March</xsl:when>
+ <xsl:when test="$month=4">April</xsl:when>
+ <xsl:when test="$month=5">May</xsl:when>
+ <xsl:when test="$month=6">June</xsl:when>
+ <xsl:when test="$month=7">July</xsl:when>
+ <xsl:when test="$month=8">August</xsl:when>
+ <xsl:when test="$month=9">September</xsl:when>
+ <xsl:when test="$month=10">October</xsl:when>
+ <xsl:when test="$month=11">November</xsl:when>
+ <xsl:when test="$month=12">December</xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+
+ <xsl:template name="format.cvs.revision">
+ <xsl:param name="text"/>
+
+ <!-- Remove the "$Date: " -->
+ <xsl:variable name="text.noprefix"
+ select="substring-after($text, '$Date: ')"/>
+
+ <!-- Grab the year -->
+ <xsl:variable name="year" select="substring-before($text.noprefix, '/')"/>
+ <xsl:variable name="text.noyear"
+ select="substring-after($text.noprefix, '/')"/>
+
+ <!-- Grab the month -->
+ <xsl:variable name="month" select="substring-before($text.noyear, '/')"/>
+ <xsl:variable name="text.nomonth"
+ select="substring-after($text.noyear, '/')"/>
+
+ <!-- Grab the year -->
+ <xsl:variable name="day" select="substring-before($text.nomonth, ' ')"/>
+ <xsl:variable name="text.noday"
+ select="substring-after($text.nomonth, ' ')"/>
+
+ <!-- Get the time -->
+ <xsl:variable name="time" select="substring-before($text.noday, ' ')"/>
+
+ <xsl:variable name="month.name">
+ <xsl:call-template name = "month.name.from.number" >
+ <xsl:with-param name = "month" select="$month" />
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:value-of select="concat($month.name, ' ', $day, ', ', $year, ' at ',
+ $time, ' GMT')"/>
+ </xsl:template>
+
+
+ <xsl:template name="format.svn.revision">
+ <xsl:param name="text"/>
+
+ <!-- Remove the "$Date: " -->
+ <xsl:variable name="text.noprefix"
+ select="substring-after($text, '$Date: ')"/>
+
+ <!-- Grab the year -->
+ <xsl:variable name="year" select="substring-before($text.noprefix, '-')"/>
+ <xsl:variable name="text.noyear"
+ select="substring-after($text.noprefix, '-')"/>
+
+ <!-- Grab the month -->
+ <xsl:variable name="month" select="substring-before($text.noyear, '-')"/>
+ <xsl:variable name="text.nomonth"
+ select="substring-after($text.noyear, '-')"/>
+
+ <!-- Grab the year -->
+ <xsl:variable name="day" select="substring-before($text.nomonth, ' ')"/>
+ <xsl:variable name="text.noday"
+ select="substring-after($text.nomonth, ' ')"/>
+
+ <!-- Get the time -->
+ <xsl:variable name="time" select="substring-before($text.noday, ' ')"/>
+ <xsl:variable name="text.notime"
+ select="substring-after($text.noday, ' ')"/>
+
+ <!-- Get the timezone -->
+ <xsl:variable name="timezone" select="substring-before($text.notime, ' ')"/>
+
+ <xsl:variable name="month.name">
+ <xsl:call-template name = "month.name.from.number" >
+ <xsl:with-param name = "month" select="$month" />
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:value-of select="concat($month.name, ' ', $day, ', ', $year, ' at ',
+ $time, ' ', $timezone)"/>
+ </xsl:template>
+
+
+ <xsl:template match="copyright" mode="boost.footer">
+ <!--xsl:if test="position() &gt; 1"-->
+ <p xmlns="http://www.w3.org/1999/xhtml">
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'Copyright'"/>
+ </xsl:call-template>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">copyright</xsl:with-param>
+ </xsl:call-template>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:call-template name="copyright.years">
+ <xsl:with-param name="years" select="year"/>
+ <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
+ <xsl:with-param name="single.year.ranges"
+ select="$make.single.year.ranges"/>
+ </xsl:call-template>
+ <xsl:call-template name="gentext.space"/>
+ <xsl:apply-templates select="holder" mode="titlepage.mode"/>
+ </p>
+ </xsl:template>
+
+
+ <xsl:template name= "find.revised.time" >
+ <xsl:variable name="revision-nodes"
+ select="ancestor-or-self::*
+ [not (attribute::rev:last-revision='')]"/>
+
+ <xsl:if test="count($revision-nodes) &gt; 0">
+ <xsl:variable name="revision-node"
+ select="$revision-nodes[last()]"/>
+ <xsl:variable name="revision-text">
+ <xsl:value-of
+ select="normalize-space($revision-node/attribute::rev:last-revision)"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="string-length($revision-text) &gt; 0">
+ <xsl:choose>
+ <xsl:when test="contains($revision-text, '/')">
+ <xsl:call-template name="format.cvs.revision">
+ <xsl:with-param name="text" select="$revision-text"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="format.svn.revision">
+ <xsl:with-param name="text" select="$revision-text"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>unknown</xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template>
+
+
+</xsl:stylesheet>
\ No newline at end of file

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/function.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/function.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,1109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:strip-space elements="requires effects postconditions returns throws
+ complexity notes rationale purpose"/>
+
+ <!-- When true, the stylesheet will emit compact definitions of
+ functions when the function does not have any detailed
+ description. -->
+ <xsl:param name="boost.compact.function">1</xsl:param>
+
+ <!-- The longest type length that is considered "short" for the
+ layout of function return types. When the length of the result type
+ and any storage specifiers is greater than this length, they will be
+ placed on a separate line from the function name and parameters
+ unless everything fits on a single line. -->
+ <xsl:param name="boost.short.result.type">12</xsl:param>
+
+ <!-- Display a function declaration -->
+ <xsl:template name="function">
+ <xsl:param name="indentation"/>
+ <xsl:param name="is-reference"/>
+
+ <!-- Whether or not we should include parameter names in the output -->
+ <xsl:param name="include-names" select="$is-reference"/>
+
+ <!-- What type of link the function name should have. This shall
+ be one of 'anchor' (the function output will be the target of
+ links), 'link' (the function output will link to a definition), or
+ 'none' (the function output will not be either a link or a link
+ target) -->
+ <xsl:param name="link-type">
+ <xsl:choose>
+ <xsl:when test="$is-reference">
+ <xsl:text>anchor</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>link</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:param>
+
+ <!-- The id we should link to or anchor as -->
+ <xsl:param name="link-to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:param>
+
+ <!-- If we are printing a constructor -->
+ <xsl:param name="constructor-for"/>
+
+ <!-- If we are printing a destructor -->
+ <xsl:param name="destructor-for"/>
+
+ <!-- If we are printing a copy assignment operator -->
+ <xsl:param name="copy-assign-for"/>
+
+ <!-- The name of this function -->
+ <xsl:param name="name" select="@name"/>
+
+ <!-- True if this is the function's separate documentation -->
+ <xsl:param name="standalone" select="false()"/>
+
+ <!-- True if we should suppress the template header -->
+ <xsl:param name="suppress-template" select="false()"/>
+
+ <!-- Calculate the specifiers -->
+ <xsl:variable name="specifiers">
+ <xsl:if test="@specifiers">
+ <xsl:value-of select="concat(@specifiers, ' ')"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <!-- Calculate the type -->
+ <xsl:variable name="type">
+ <xsl:value-of select="$specifiers"/>
+
+ <xsl:choose>
+ <!-- Conversion operators have an empty type, because the return
+ type is part of the name -->
+ <xsl:when test="$name='conversion-operator'"/>
+
+ <!-- Constructors and destructors have no return type -->
+ <xsl:when test="$constructor-for or $destructor-for"/>
+
+ <!-- Copy assignment operators return a reference to the class
+ they are in, unless another type has been explicitly
+ provided in the element. -->
+ <xsl:when test="$copy-assign-for and not(type)">
+ <xsl:value-of select="concat($copy-assign-for, '&amp; ')"/>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:apply-templates select="type" mode="annotation"/>
+ <xsl:text> </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Build the function name with return type -->
+ <xsl:variable name="function-name">
+ <xsl:choose>
+ <xsl:when test="$constructor-for">
+ <xsl:value-of select="$constructor-for"/>
+ </xsl:when>
+ <xsl:when test="$destructor-for">
+ <xsl:value-of select="concat('~',$destructor-for)"/>
+ </xsl:when>
+ <xsl:when test="$copy-assign-for">
+ <xsl:value-of select="'operator='"/>
+ </xsl:when>
+ <xsl:when test="$name='conversion-operator'">
+ <xsl:text>operator </xsl:text>
+ <xsl:apply-templates select="type" mode="annotation"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$name"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:if test="not ($standalone) or
+ (local-name(.)='signature' and (position() &gt; 1))
+ or $suppress-template">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+
+ <!-- Indent this declaration -->
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+
+ <!-- Build the template header -->
+ <xsl:variable name="template-length">
+ <xsl:choose>
+ <xsl:when test="$suppress-template">
+ 0
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="template.synopsis.length"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Build a full parameter string (without line breaks) -->
+ <xsl:variable name="param-string">
+ <xsl:text>(</xsl:text>
+ <xsl:call-template name="function-parameters">
+ <xsl:with-param name="include-names" select="$include-names"/>
+ <xsl:with-param name="wrap" select="false()"/>
+ </xsl:call-template>
+ <xsl:text>)</xsl:text>
+ </xsl:variable>
+
+ <!-- Build the text that follows the declarator-->
+ <xsl:variable name="postdeclarator">
+ <xsl:if test="@cv">
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@cv"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <!-- Build the full declaration text -->
+ <xsl:variable name="decl-string"
+ select="concat($type, $function-name, $param-string, $postdeclarator)"/>
+ <xsl:variable name="end-column"
+ select="$template-length + string-length($decl-string) + $indentation"/>
+
+ <xsl:choose>
+ <!-- Check if we should put the template header on its own line to
+ save horizontal space. -->
+ <xsl:when test="($template-length &gt; 0) and
+ ($end-column &gt; $pre.text.max.columns)">
+ <!-- Emit template header on its own line -->
+ <xsl:apply-templates select="template" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+
+ <!-- Emit the rest of the function declaration (without the
+ template header) indented two extra spaces. -->
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ <xsl:with-param name="is-reference" select="$is-reference"/>
+ <xsl:with-param name="include-names" select="$include-names"/>
+ <xsl:with-param name="link-type" select="$link-type"/>
+ <xsl:with-param name="link-to" select="$link-to"/>
+ <xsl:with-param name="constructor-for" select="$constructor-for"/>
+ <xsl:with-param name="destructor-for" select="$destructor-for"/>
+ <xsl:with-param name="copy-assign-for" select="$copy-assign-for"/>
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="standalone" select="$standalone"/>
+ <xsl:with-param name="suppress-template" select="true()"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- Check if we can put the entire declaration on a single
+ line. -->
+ <xsl:when test="not($end-column &gt; $pre.text.max.columns)">
+ <!-- Emit template header, if not suppressed -->
+ <xsl:if test="not($suppress-template)">
+ <xsl:apply-templates select="template" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="wrap" select="false()"/>
+ <xsl:with-param name="highlight" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:if>
+
+ <!-- Emit specifiers -->
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="$specifiers"/>
+ </xsl:call-template>
+
+ <!-- Emit type, if any -->
+ <xsl:choose>
+ <!-- Conversion operators have an empty type, because the return
+ type is part of the name -->
+ <xsl:when test="$name='conversion-operator'"/>
+
+ <!-- Constructors and destructors have no return type -->
+ <xsl:when test="$constructor-for or $destructor-for"/>
+
+ <!-- Copy assignment operators return a reference to the class
+ they are in, unless another type has been explicitly
+ provided in the element. -->
+ <xsl:when test="$copy-assign-for and not(type)">
+ <xsl:value-of select="concat($copy-assign-for, '&amp; ')"/>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:apply-templates select="type" mode="highlight"/>
+ <xsl:text> </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:call-template name="link-or-anchor">
+ <xsl:with-param name="to" select="$link-to"/>
+ <xsl:with-param name="text" select="$function-name"/>
+ <xsl:with-param name="link-type" select="$link-type"/>
+ <xsl:with-param name="highlight" select="true()"/>
+ </xsl:call-template>
+
+ <xsl:text>(</xsl:text>
+ <xsl:call-template name="function-parameters">
+ <xsl:with-param name="include-names" select="$include-names"/>
+ <xsl:with-param name="indentation"
+ select="$indentation + $template-length + string-length($type)
+ + string-length($function-name) + 1"/>
+ <xsl:with-param name="final" select="true()"/>
+ </xsl:call-template>
+ <xsl:text>)</xsl:text>
+
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="$postdeclarator"/>
+ </xsl:call-template>
+ <xsl:text>;</xsl:text>
+ </xsl:when>
+
+ <!-- This declaration will take multiple lines -->
+ <xsl:otherwise>
+ <!-- Emit specifiers -->
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="$specifiers"/>
+ </xsl:call-template>
+
+ <!-- Emit type, if any -->
+ <xsl:choose>
+ <!-- Conversion operators have an empty type, because the return
+ type is part of the name -->
+ <xsl:when test="$name='conversion-operator'"/>
+
+ <!-- Constructors and destructors have no return type -->
+ <xsl:when test="$constructor-for or $destructor-for"/>
+
+ <!-- Copy assignment operators return a reference to the class
+ they are in, unless another type has been explicitly
+ provided in the element. -->
+ <xsl:when test="$copy-assign-for and not(type)">
+ <xsl:value-of select="concat($copy-assign-for, '&amp; ')"/>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:apply-templates select="type" mode="highlight"/>
+ <xsl:text> </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:if test="string-length($type) &gt; $boost.short.result.type">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- Determine how many columns the type and storage
+ specifiers take on the same line as the function name. -->
+ <xsl:variable name="type-length">
+ <xsl:choose>
+ <xsl:when test="string-length($type) &gt; $boost.short.result.type">
+ 0
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string-length($type)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:call-template name="link-or-anchor">
+ <xsl:with-param name="to" select="$link-to"/>
+ <xsl:with-param name="text" select="$function-name"/>
+ <xsl:with-param name="link-type" select="$link-type"/>
+ <xsl:with-param name="highlight" select="true()"/>
+ </xsl:call-template>
+ <xsl:text>(</xsl:text>
+ <xsl:call-template name="function-parameters">
+ <xsl:with-param name="include-names" select="$include-names"/>
+ <xsl:with-param name="indentation"
+ select="$indentation + $type-length
+ + string-length($function-name) + 1"/>
+ <xsl:with-param name="final" select="true()"/>
+ </xsl:call-template>
+ <xsl:text>)</xsl:text>
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="$postdeclarator"/>
+ </xsl:call-template>
+ <xsl:text>;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Synopsis of function parameters, e.g., "(const T&, int x = 5)" -->
+ <xsl:template name="function-parameters">
+ <!-- Indentation level of this parameter list -->
+ <xsl:param name="indentation"/>
+
+ <!-- True if we should include parameter names -->
+ <xsl:param name="include-names" select="true()"/>
+
+ <!-- True if we should wrap function parameters to the next line -->
+ <xsl:param name="wrap" select="true()"/>
+
+ <!-- True if we are printing the final output -->
+ <xsl:param name="final" select="false()"/>
+
+ <!-- Internal: The prefix to emit before a parameter -->
+ <xsl:param name="prefix" select="''"/>
+
+ <!-- Internal: The list of parameters -->
+ <xsl:param name="parameters" select="parameter"/>
+
+ <!-- Internal: The column we are on -->
+ <xsl:param name="column" select="$indentation"/>
+
+ <!-- Internal: Whether this is the first parameter on this line or not -->
+ <xsl:param name="first-on-line" select="true()"/>
+
+ <xsl:if test="$parameters">
+ <!-- Information for this parameter -->
+ <xsl:variable name="parameter" select="$parameters[position()=1]"/>
+ <xsl:variable name="name">
+ <xsl:if test="$include-names and $parameter/@name != ''">
+ <xsl:text> </xsl:text><xsl:value-of select="$parameter/@name"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:variable name="type" select="string($parameter/paramtype)"/>
+
+ <xsl:variable name="default">
+ <xsl:choose>
+ <xsl:when test="$parameter/@default">
+ <xsl:text> = </xsl:text>
+ <xsl:value-of select="$parameter/@default"/>
+ </xsl:when>
+ <xsl:when test="$parameter/default">
+ <xsl:text> = </xsl:text>
+ <xsl:choose>
+ <xsl:when test="$final">
+ <xsl:apply-templates
+ select="$parameter/default/*|$parameter/default/text()"
+ mode="annotation"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string($parameter/default)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="text" select="concat($type, $name, $default)"/>
+
+ <xsl:variable name="end-column"
+ select="$column + string-length($prefix) + string-length($text)"/>
+
+ <xsl:choose>
+ <!-- Parameter goes on this line -->
+ <xsl:when test="$first-on-line or ($end-column &lt; $pre.text.max.columns)
+ or not($wrap)">
+ <xsl:choose>
+ <xsl:when test="$final">
+ <xsl:value-of select="$prefix"/>
+ <xsl:apply-templates
+ select="$parameter/paramtype/*|$parameter/paramtype/text()"
+ mode="annotation">
+ <xsl:with-param name="highlight" select="true()"/>
+ </xsl:apply-templates>
+ <xsl:value-of select="$name"/>
+ <xsl:copy-of select="$default"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat($prefix, $text)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:call-template name="function-parameters">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="include-names" select="$include-names"/>
+ <xsl:with-param name="wrap" select="$wrap"/>
+ <xsl:with-param name="final" select="$final"/>
+ <xsl:with-param name="parameters"
+ select="$parameters[position()!=1]"/>
+ <xsl:with-param name="prefix" select="', '"/>
+ <xsl:with-param name="column" select="$end-column"/>
+ <xsl:with-param name="first-on-line" select="false()"/>
+ </xsl:call-template>
+ </xsl:when>
+ <!-- Parameter goes on next line -->
+ <xsl:otherwise>
+ <!-- The comma goes on this line -->
+ <xsl:value-of select="$prefix"/><xsl:text>&#10;</xsl:text>
+
+ <!-- Indent and print the parameter -->
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:choose>
+ <xsl:when test="$final">
+ <xsl:apply-templates
+ select="$parameter/paramtype/*|$parameter/paramtype/text()"
+ mode="annotation">
+ <xsl:with-param name="highlight" select="true()"/>
+ </xsl:apply-templates>
+ <xsl:value-of select="$name"/>
+ <xsl:value-of select="$default"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat($prefix, $text)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <!-- Emit next parameter -->
+ <xsl:call-template name="function-parameters">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="include-names" select="$include-names"/>
+ <xsl:with-param name="wrap" select="$wrap"/>
+ <xsl:with-param name="final" select="$final"/>
+ <xsl:with-param name="parameters"
+ select="$parameters[position()!=1]"/>
+ <xsl:with-param name="prefix" select="', '"/>
+ <xsl:with-param name="column"
+ select="1 + string-length($text) + $indentation"/>
+ <xsl:with-param name="first-on-line" select="false()"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Function synopsis -->
+ <xsl:template match="function|method" mode="synopsis">
+ <xsl:param name="indentation"/>
+
+ <!-- True if we should compact this function -->
+ <xsl:variable name="compact"
+ select="not (para|description|requires|effects|postconditions|returns|
+ throws|complexity|notes|rationale) and
+ ($boost.compact.function='1') and
+ not (local-name(.)='method')"/>
+
+ <xsl:choose>
+ <xsl:when test="$compact">
+ <xsl:if test="purpose">
+ <!-- Compact display outputs the purpose as a comment (if
+ there is one) and the entire function declaration. -->
+ <xsl:text>&#10;&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text">
+ <xsl:text>// </xsl:text>
+ <xsl:apply-templates select="purpose/*|purpose/text()"
+ mode="purpose"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="is-reference" select="false()"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="overloaded-function|overloaded-method" mode="synopsis">
+ <xsl:param name="indentation"/>
+
+ <xsl:variable name="name" select="@name"/>
+
+ <!-- True if we should compact this function -->
+ <xsl:variable name="compact"
+ select="not (para|description|requires|effects|postconditions|returns|
+ throws|complexity|notes|rationale) and
+ ($boost.compact.function='1') and
+ not (local-name(.)='overloaded-method')"/>
+
+ <xsl:choose>
+ <xsl:when test="$compact">
+ <xsl:if test="purpose">
+ <!-- Compact display outputs the purpose as a comment (if
+ there is one) and the entire function declaration. -->
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text">
+ <xsl:text>// </xsl:text>
+ <xsl:apply-templates select="purpose" mode="annotation"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:for-each select="signature">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:when test="local-name(..)='namespace'">
+ <xsl:variable name="link-to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:variable>
+
+ <xsl:for-each select="signature">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="is-reference" select="false()"/>
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="link-to" select="$link-to"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="signature">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="is-reference" select="false()"/>
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Group free functions together under a category name (header synopsis)-->
+ <xsl:template match="free-function-group" mode="header-synopsis">
+ <xsl:param name="class"/>
+ <xsl:param name="indentation"/>
+ <xsl:apply-templates select="function|overloaded-function" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <!-- Constructors, destructor, and assignment operators -->
+ <xsl:template name="construct-copy-destruct-synopsis">
+ <xsl:param name="indentation"/>
+ <xsl:if test="constructor|copy-assignment|destructor">
+ <xsl:if test="typedef|static-constant">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <emphasis>
+ <xsl:text>// </xsl:text>
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id"/>
+ <xsl:text>construct-copy-destruct</xsl:text>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="'construct/copy/destruct'"/>
+ </xsl:call-template>
+ </emphasis>
+ <xsl:apply-templates select="constructor" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="copy-assignment" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="destructor" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="construct-copy-destruct-reference">
+ <xsl:if test="constructor|copy-assignment|destructor">
+ <xsl:call-template name="member-documentation">
+ <xsl:with-param name="name">
+ <xsl:call-template name="anchor">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id"/>
+ <xsl:text>construct-copy-destruct</xsl:text>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="''"/>
+ </xsl:call-template>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="@name"/>
+ </xsl:call-template>
+ <xsl:text> construct/copy/destruct</xsl:text>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <orderedlist>
+ <xsl:apply-templates select="constructor" mode="reference"/>
+ <xsl:apply-templates select="copy-assignment" mode="reference"/>
+ <xsl:apply-templates select="destructor" mode="reference"/>
+ </orderedlist>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="constructor" mode="reference">
+ <xsl:call-template name="function.documentation">
+ <xsl:with-param name="text">
+ <para>
+ <xsl:call-template name="preformatted">
+ <xsl:with-param name="text">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="constructor-for" select="../@name"/>
+ <xsl:with-param name="standalone" select="true()"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </para>
+ <xsl:call-template name="function-requirements"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="copy-assignment" mode="reference">
+ <xsl:call-template name="function.documentation">
+ <xsl:with-param name="text">
+ <para>
+ <xsl:call-template name="preformatted">
+ <xsl:with-param name="text">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="copy-assign-for" select="../@name"/>
+ <xsl:with-param name="standalone" select="true()"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </para>
+ <xsl:call-template name="function-requirements"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="destructor" mode="reference">
+ <xsl:call-template name="function.documentation">
+ <xsl:with-param name="text">
+ <para>
+ <xsl:call-template name="preformatted">
+ <xsl:with-param name="text">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="destructor-for" select="../@name"/>
+ <xsl:with-param name="standalone" select="true()"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </para>
+ <xsl:call-template name="function-requirements"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- Templates for functions -->
+ <xsl:template name="function.documentation">
+ <xsl:param name="text"/>
+ <xsl:choose>
+ <xsl:when test="count(ancestor::free-function-group) &gt; 0
+ or count(ancestor::method-group) &gt; 0
+ or local-name(.)='constructor'
+ or local-name(.)='copy-assignment'
+ or local-name(.)='destructor'">
+ <listitem><xsl:copy-of select="$text"/></listitem>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$text"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Semantic descriptions of functions -->
+ <xsl:template name="function-requirements">
+ <xsl:param name="namespace-reference" select="false()"/>
+
+ <xsl:if test="$namespace-reference=false()">
+ <xsl:apply-templates select="purpose/*"/>
+ </xsl:if>
+
+ <xsl:apply-templates select="description/*"/>
+
+ <xsl:if test="parameter/description|signature/parameter/description|
+ requires|effects|postconditions|returns|throws|complexity|
+ notes|rationale">
+ <variablelist spacing="compact">
+ <xsl:processing-instruction name="dbhtml">
+ list-presentation="table"
+ </xsl:processing-instruction>
+
+ <!-- Document parameters -->
+ <xsl:if test="parameter/description|signature/parameter/description">
+ <varlistentry>
+ <term>Parameters:</term>
+ <listitem>
+ <variablelist spacing="compact">
+ <xsl:processing-instruction name="dbhtml">
+ list-presentation="table"
+ </xsl:processing-instruction>
+ <xsl:for-each select="parameter|signature/parameter">
+ <xsl:sort select="attribute::name"/>
+ <xsl:if test="description">
+ <varlistentry>
+ <term>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="@name"/>
+ </xsl:call-template>
+ </term>
+ <listitem>
+ <xsl:apply-templates select="description/*"/>
+ </listitem>
+ </varlistentry>
+ </xsl:if>
+ </xsl:for-each>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </xsl:if>
+
+ <!-- Document rest of function's contract -->
+ <xsl:for-each select="requires|effects|postconditions|returns|throws|complexity|
+ notes|rationale">
+ <varlistentry>
+ <term><xsl:call-template name="function.requirement.name"/>:</term>
+ <listitem>
+ <xsl:apply-templates select="./*|./text()" mode="annotation"/>
+ </listitem>
+ </varlistentry>
+ </xsl:for-each>
+
+ </variablelist>
+ </xsl:if>
+
+ <xsl:if test="para">
+ <xsl:message>
+ <xsl:text>Warning: Use of 'para' elements in a function is deprecated.&#10;</xsl:text>
+ <xsl:text> Wrap them in a 'description' element.</xsl:text>
+ </xsl:message>
+ <xsl:call-template name="print.warning.context"/>
+ <xsl:apply-templates select="para"/>
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template name="function.requirement.name">
+ <xsl:param name="node" select="."/>
+ <xsl:choose>
+ <xsl:when test="local-name($node)='requires'">Requires</xsl:when>
+ <xsl:when test="local-name($node)='effects'">Effects</xsl:when>
+ <xsl:when test="local-name($node)='postconditions'">
+ <xsl:text>Postconditions</xsl:text>
+ </xsl:when>
+ <xsl:when test="local-name($node)='returns'">Returns</xsl:when>
+ <xsl:when test="local-name($node)='throws'">Throws</xsl:when>
+ <xsl:when test="local-name($node)='complexity'">Complexity</xsl:when>
+ <xsl:when test="local-name($node)='notes'">Notes</xsl:when>
+ <xsl:when test="local-name($node)='rationale'">Rationale</xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>Error: unhandled node type `</xsl:text>
+ <xsl:value-of select="local-name($node)"/>
+ <xsl:text>' in template function.requirement.name.</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Function reference -->
+ <xsl:template match="function|method" mode="reference">
+ <!-- True if we should compact this function -->
+ <xsl:variable name="compact"
+ select="not (para|description|requires|effects|postconditions|returns|
+ throws|complexity|notes|rationale) and
+ ($boost.compact.function='1') and
+ not (local-name(.)='method')"/>
+
+ <xsl:if test="not ($compact)">
+ <xsl:call-template name="function.documentation">
+ <xsl:with-param name="text">
+ <para>
+ <xsl:call-template name="preformatted">
+ <xsl:with-param name="text">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="link-type" select="'anchor'"/>
+ <xsl:with-param name="standalone" select="true()"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </para>
+ <xsl:call-template name="function-requirements"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Reference for functions at namespace level -->
+ <xsl:template match="function" mode="namespace-reference">
+ <!-- True if we should compact this function -->
+ <xsl:variable name="compact"
+ select="not (para|description|requires|effects|postconditions|returns|
+ throws|complexity|notes|rationale) and
+ ($boost.compact.function='1')"/>
+
+ <xsl:if test="not ($compact)">
+ <xsl:call-template name="reference-documentation">
+ <xsl:with-param name="name">
+ <xsl:text>Function </xsl:text>
+ <xsl:if test="template">
+ <xsl:text>template </xsl:text>
+ </xsl:if>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="@name"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="refname">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="purpose" select="purpose/*|purpose/text()"/>
+ <xsl:with-param name="anchor">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="synopsis">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="link-type" select="'none'"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <xsl:call-template name="function-requirements">
+ <xsl:with-param name="namespace-reference" select="true()"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="overloaded-function" mode="reference">
+ <xsl:variable name="name" select="@name"/>
+
+ <!-- True if we should compact this function -->
+ <xsl:variable name="compact"
+ select="not (para|description|requires|effects|postconditions|returns|
+ throws|complexity|notes|rationale) and
+ ($boost.compact.function='1')"/>
+
+ <xsl:if test="not ($compact)">
+ <xsl:call-template name="function.documentation">
+ <xsl:with-param name="text">
+ <para>
+ <xsl:attribute name="id">
+ <xsl:call-template name="generate.id"/>
+ </xsl:attribute>
+
+ <xsl:call-template name="preformatted">
+ <xsl:with-param name="text">
+ <xsl:for-each select="signature">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="standalone" select="true()"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:with-param>
+ </xsl:call-template>
+ </para>
+ <xsl:call-template name="function-requirements"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="overloaded-function" mode="namespace-reference">
+ <!-- True if we should compact this function -->
+ <xsl:variable name="compact"
+ select="not (para|description|requires|effects|postconditions|returns|
+ throws|complexity|notes|rationale) and
+ ($boost.compact.function='1')"/>
+
+ <xsl:variable name="name" select="@name"/>
+
+ <xsl:if test="not ($compact)">
+ <xsl:call-template name="reference-documentation">
+ <xsl:with-param name="name">
+ <xsl:text>Function </xsl:text>
+ <xsl:if test="template">
+ <xsl:text>template </xsl:text>
+ </xsl:if>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="@name"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="refname">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="purpose" select="purpose/*|purpose/text()"/>
+ <xsl:with-param name="anchor">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="synopsis">
+ <xsl:for-each select="signature">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="link-type" select="'none'"/>
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <xsl:call-template name="function-requirements">
+ <xsl:with-param name="namespace-reference" select="true()"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="overloaded-method" mode="reference">
+ <xsl:variable name="name" select="@name"/>
+
+ <xsl:call-template name="function.documentation">
+ <xsl:with-param name="text">
+ <para>
+ <xsl:attribute name="id">
+ <xsl:call-template name="generate.id"/>
+ </xsl:attribute>
+
+ <xsl:call-template name="preformatted">
+ <xsl:with-param name="text">
+ <xsl:for-each select="signature">
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="standalone" select="true()"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:with-param>
+ </xsl:call-template>
+ </para>
+ <xsl:call-template name="function-requirements"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- Group member functions together under a category name (synopsis)-->
+ <xsl:template match="method-group" mode="synopsis">
+ <xsl:param name="indentation"/>
+ <xsl:if test="count(child::*) &gt; 0">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <emphasis>
+ <xsl:text>// </xsl:text>
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="string(@name)"/>
+ </xsl:call-template>
+ </emphasis>
+ <xsl:apply-templates select="method|overloaded-method"
+ mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Group member functions together under a category name (reference)-->
+ <xsl:template match="method-group" mode="reference">
+ <xsl:if test="count(child::*) &gt; 0">
+ <xsl:call-template name="member-documentation">
+ <xsl:with-param name="name">
+ <xsl:call-template name="anchor">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="''"/>
+ </xsl:call-template>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="../@name"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <orderedlist>
+ <xsl:apply-templates select="method|overloaded-method"
+ mode="reference"/>
+ </orderedlist>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Group free functions together under a category name (synopsis)-->
+ <xsl:template match="free-function-group" mode="synopsis">
+ <xsl:param name="class"/>
+ <xsl:param name="indentation"/>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <emphasis>
+ <xsl:text>// </xsl:text>
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="string(@name)"/>
+ </xsl:call-template>
+ </emphasis>
+ <xsl:apply-templates select="function|overloaded-function" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <!-- Group free functions together under a category name (reference)-->
+ <xsl:template match="free-function-group" mode="reference">
+ <xsl:param name="class"/>
+ <xsl:call-template name="member-documentation">
+ <xsl:with-param name="name">
+ <xsl:call-template name="anchor">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="''"/>
+ </xsl:call-template>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="$class"/>
+ </xsl:call-template>
+ <xsl:value-of select="concat(' ',@name)"/>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <orderedlist>
+ <xsl:apply-templates select="function|overloaded-function"
+ mode="reference"/>
+ </orderedlist>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/global.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/global.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:template name="global-synopsis">
+ <xsl:param name="indentation" select="0" />
+ <xsl:if test="not(local-name(preceding-sibling::*[position()=1])=local-name(.)) and (position() &gt; 1)">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation" />
+ </xsl:call-template>
+ <xsl:call-template name="global-synopsis-impl">
+ <xsl:with-param name="link-type" select="'link'" />
+ </xsl:call-template>
+ </xsl:template>
+ <xsl:template name="global-reference">
+ <xsl:call-template name="reference-documentation">
+ <xsl:with-param name="refname">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="." />
+ </xsl:call-template>
+ <xsl:apply-templates select="specialization" />
+ </xsl:with-param>
+ <xsl:with-param name="purpose" select="purpose/*|purpose/text()" />
+ <xsl:with-param name="anchor">
+ <xsl:call-template name="generate.id" />
+ </xsl:with-param>
+ <xsl:with-param name="name">
+ <xsl:text>Global </xsl:text>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="@name" />
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="synopsis">
+ <xsl:call-template name="global-synopsis-impl">
+ <xsl:with-param name="link-type" select="'none'" />
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <xsl:apply-templates select="description" />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+ <xsl:template name="global-synopsis-impl">
+ <xsl:param name="link-type" />
+ <xsl:if test="@specifiers">
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="@specifiers" />
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ </xsl:if>
+ <xsl:apply-templates select="type/*|type/text()" mode="annotation" />
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="link-or-anchor">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id" select="." />
+ </xsl:with-param>
+ <xsl:with-param name="text" select="@name" />
+ <xsl:with-param name="link-type" select="$link-type" />
+ </xsl:call-template>
+ <xsl:text>;</xsl:text>
+ </xsl:template>
+ <xsl:template match="data-member" mode="generate.id">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="separator" select="'.'"/>
+ </xsl:call-template>
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/header.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/header.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+ -->
+
+<!--
+ Header stylesheet
+ -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+<xsl:import href="javascript.xsl"/>
+
+ <xsl:template name = "boostbook.header">
+ <xsl:param name = "prev" select = "/foo"/>
+ <xsl:param name = "next" select = "/foo"/>
+ <xsl:param name = "nav.context"/>
+
+ <xsl:variable name = "home" select = "/*[1]"/>
+ <xsl:variable name = "up" select = "parent::*"/>
+
+ <!-- Include the grouped links java script api -->
+
+ <div id="heading">
+
+ <div id="heading-placard"></div>
+
+ <!-- GroupedLinks selection boxes for All Boost Libraries and
+ inner sections -->
+
+ <div class="heading-navigation-box">
+ <xsl:if test = "$chapters.select.box.show = 'true'">
+ <xsl:call-template name = "nested.links.select.box">
+ <xsl:with-param name = "xml"
+ select="$chapters.select.box.xml"/>
+ <xsl:with-param name = "id" select = "'chapters_select_box'"/>
+ <xsl:with-param name = "base.root" select = "$chapters.select.box.root"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:if test = "$sections.select.box.show = 'true'">
+ <xsl:call-template name = "nested.links.select.box">
+ <xsl:with-param name = "xml"
+ select="$sections.select.box.xml"/>
+ <xsl:with-param name = "id" select = "'sections_select_box'"/>
+ <xsl:with-param name = "base.root" select = "$sections.select.box.root"/>
+ </xsl:call-template>
+ </xsl:if>
+ </div>
+
+ <!-- Google Custom Search linked CSE allows us to customize google
+ search pages by means of a definition in xml format. By default a
+ general definition is used, but libraries are encouraged to change
+ it in order to add a refinement for the libs docs -->
+
+ <div class="search-box">
+ <xsl:if test = "$google.search.box.show = 'true'">
+ <xsl:call-template name = "insert.google.search.box">
+ <xsl:with-param name = "xml"
+ select = "$google.search.box.xml"/>
+ </xsl:call-template>
+ </xsl:if>
+ </div>
+
+ </div>
+
+ </xsl:template>
+
+
+
+ <!--
+ insert.google.search.box template
+
+ params:
+ cse.definition - absolute web url of the cse definition xml
+
+ effects:
+ Insert a linked cse google search box
+ -->
+
+ <xsl:template name = "insert.google.search.box">
+ <xsl:param name = "xml"/>
+
+ <form id="cref" action="http://google.com/cse">
+ <div class="search-box-label" />
+ <div>
+ <input type="hidden" name="cref" value="{$xml}" />
+ <input class="search-box" type="text" name="q" id="q" size="40"
+ maxlength="255" alt="Search Text"/>
+ </div>
+ </form>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/html-single.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/html-single.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"
+ version="1.0">
+
+ <!-- Import the HTML stylesheet -->
+
+ <xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
+ <xsl:import href="admon.xsl"/>
+
+ <xsl:param name="admon.style"/>
+ <xsl:param name="admon.graphics">1</xsl:param>
+ <xsl:param name="chapter.autolabel" select="0"/>
+ <xsl:param name="refentry.generate.name" select="0"/>
+ <xsl:param name="refentry.generate.title" select="1"/>
+ <xsl:param name="make.year.ranges" select="1"/>
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/html.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/html.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"
+ xmlns="http://www.w3.org/1999/xhtml"
+ exclude-result-prefixes="rev"
+ version="1.0">
+
+ <!-- Import the HTML chunking stylesheet -->
+
+ <xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl"/>
+ <xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/xhtml/math.xsl"/>
+
+ <xsl:import href="user-params.xsl"/>
+ <xsl:import href="docbook-params.xsl"/>
+
+ <xsl:import href="chunk-common.xsl"/>
+ <xsl:import href="docbook-layout.xsl"/>
+ <xsl:import href="admon.xsl"/>
+ <xsl:import href="xref.xsl"/>
+ <xsl:import href="relative-href.xsl"/>
+ <xsl:import href="callout.xsl"/>
+ <xsl:import href="javascript.xsl"/>
+ <xsl:import href="relative-href.xsl"/>
+
+ <!-- Unused -->
+ <xsl:param name="doc.standalone">false</xsl:param>
+
+
+ <xsl:param name="generate.toc">
+appendix toc,title
+article/appendix nop
+article toc,title
+book toc,title
+chapter toc,title
+part toc,title
+preface toc,title
+qandadiv toc
+qandaset toc
+reference toc,title
+sect1 toc
+sect2 toc
+sect3 toc
+sect4 toc
+sect5 toc
+section toc
+set toc,title
+ </xsl:param>
+
+
+
+<!-- We don't want refentry's to show up in the TOC because they
+ will merely be redundant with the synopsis. -->
+<xsl:template match="refentry" mode="toc"/>
+
+
+<!-- ============================================================ -->
+
+<xsl:template name="user.head.content">
+ <xsl:param name="node" select="."/>
+
+ <!-- Javascipt components -->
+
+ <xsl:call-template name="include.javascript.components" />
+
+ <!-- Alternate styles -->
+
+ <xsl:if test="$syntax.switcher.show='true'">
+ <xsl:call-template name="include.alternate.stylesheets">
+ <xsl:with-param name="xml" select="$syntax.switcher.xml" />
+ <xsl:with-param name="root" select="$syntax.switcher.root"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:if test="$quickbook.source.style.show='true'">
+ <xsl:call-template name="include.alternate.css">
+ <xsl:with-param name="title" select="'Quickbook source'" />
+ <xsl:with-param name="url" select="$quickbook.source.css" />
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- Load user stylesheet -->
+
+ <xsl:if test="$syntax.switcher.show='true' or $quickbook.source.style.show='true'">
+ <xsl:call-template name="load.user.stylesheet" />
+ </xsl:if>
+
+</xsl:template>
+
+
+<xsl:template name="include.alternate.css">
+ <xsl:param name="title" />
+ <xsl:param name="url" />
+ <xsl:param name="rel" select="'alternate stylesheet'" />
+ <link rel="{$rel}" type="text/css" title="{$title}">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target"
+ select="$url"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </link>
+</xsl:template>
+
+
+<xsl:template name="output.html.stylesheets">
+ <xsl:param name="stylesheets" select="''"/>
+
+ <xsl:choose>
+ <xsl:when test="contains($stylesheets, ' ')">
+ <link rel="stylesheet">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="substring-before($stylesheets, ' ')"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:if test="$html.stylesheet.type != ''">
+ <xsl:attribute name="type">
+ <xsl:value-of select="$html.stylesheet.type"/>
+ </xsl:attribute>
+ </xsl:if>
+ </link>
+ <xsl:call-template name="output.html.stylesheets">
+ <xsl:with-param name="stylesheets" select="substring-after($stylesheets, ' ')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$stylesheets != ''">
+
+ <link rel="stylesheet">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="$stylesheets"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:if test="$html.stylesheet.type != ''">
+ <xsl:attribute name="type">
+ <xsl:value-of select="$html.stylesheet.type"/>
+ </xsl:attribute>
+ </xsl:if>
+ </link>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
+

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/index.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/index.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:template match="class-index">
+
+ </xsl:template>
+
+ <xsl:template match="function-index">
+
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/javascript.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/javascript.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+ -->
+
+<!--
+ Templates that allows the use javascript
+ Support for GroupedLinks select boxes
+ -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+<xsl:import href="relative-href.xsl"/>
+
+
+ <!--
+ include.javascript template
+
+ Effects:
+ Include boost javascript library
+ -->
+
+ <xsl:template name = "include.javascript.components">
+
+ <xsl:call-template name="insert.javascript.file" >
+ <xsl:with-param name="js" select="concat($javascript.root,'/main.js')" />
+ </xsl:call-template>
+
+ <xsl:call-template name="insert.javascript" >
+ <xsl:with-param name="content" >
+ boostscript.init( new Array(
+ <xsl:if test="($chapters.select.box.show='true') or ($sections.select.box.show='true')"
+ > boostscript.nested_links,
+ </xsl:if>
+ <xsl:if test="$syntax.switcher.show='true'"
+ > boostscript.style_switcher,
+ </xsl:if
+ > boostscript.common
+ ),
+ '<xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="$javascript.root"/>
+ </xsl:call-template>'
+ );
+ </xsl:with-param>
+ </xsl:call-template>
+
+ </xsl:template>
+
+ <!--
+ nested.links.select.box template
+
+ Params:
+ definition.xml - path to the xml definition file (it can be relative)
+ element.id - string identifier, it must be unique in the page
+
+ Effects:
+ Insert a NestedLinks select box
+
+ Requires:
+ nested_links.js must be included in the page
+ -->
+
+ <xsl:template name = "nested.links.select.box">
+ <xsl:param name = "id" select="generate-id()"/>
+ <xsl:param name = "xml"/>
+ <xsl:param name = "base.root"/>
+
+ <div class="nested-links-select-box" id="{$id}">
+ <xsl:call-template name="insert.javascript" >
+ <xsl:with-param name="content" >
+ boostscript.call( boostscript.nested_links, 'select_box',
+ '<xsl:value-of select="$id"/>',
+ '<xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="$xml"/>
+ </xsl:call-template>',
+ '<xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="$base.root"/>
+ </xsl:call-template>');
+ </xsl:with-param>
+ </xsl:call-template>
+ </div>
+ </xsl:template>
+
+ <xsl:template name = "include.alternate.stylesheets">
+ <xsl:param name = "xml"/>
+ <xsl:param name = "root"/>
+ <xsl:call-template name="insert.javascript" >
+ <xsl:with-param name="content" >
+ boostscript.call( boostscript.style_switcher, 'include_alternate_stylesheets',
+ '<xsl:call-template name = "href.target.relative">
+ <xsl:with-param name = "target" select="$xml" />
+ </xsl:call-template>',
+ '<xsl:call-template name = "href.target.relative">
+ <xsl:with-param name = "target" select="$root" />
+ </xsl:call-template>'
+ );
+ </xsl:with-param>
+ </xsl:call-template>
+
+ </xsl:template>
+
+ <xsl:template name="load.user.stylesheet">
+ <xsl:call-template name="insert.javascript" >
+ <xsl:with-param name="content" >
+ boostscript.call( boostscript.style_switcher, 'load_user_stylesheet' );
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name = "insert.style.selector">
+ <xsl:param name = "xml"/>
+ <xsl:param name = "root"/>
+ <xsl:param name = "id" select="generate-id()"/>
+ <div class="style-switcher-box" id="{$id}">
+ <xsl:call-template name="insert.javascript" >
+ <xsl:with-param name="content" >
+ boostscript.call( boostscript.style_switcher, 'insert_style_selector',
+ '<xsl:value-of select="$id"/>',
+ '<xsl:call-template name = "href.target.relative">
+ <xsl:with-param name = "target" select="$xml" />
+ </xsl:call-template>',
+ '<xsl:call-template name = "href.target.relative">
+ <xsl:with-param name = "target" select="$root" />
+ </xsl:call-template>'
+ );
+ </xsl:with-param>
+ </xsl:call-template>
+ </div>
+ </xsl:template>
+
+ <!-- insert.javascript
+
+ This function takes cares of adding the correct header
+ and footer to support old browsers that do not understand
+ javascript.
+
+ Effects:
+
+ <script type="text/javascript" /><!- -
+ {$content}
+ - -></script>
+ -->
+
+ <xsl:template name="insert.javascript">
+ <xsl:param name="content" />
+ <xsl:text disable-output-escaping="yes">
+ &lt;script type="text/javascript" &gt; &lt;!--</xsl:text>
+ <xsl:value-of select="$content" />
+ <xsl:text disable-output-escaping="yes">//--&gt;&lt;/script&gt;
+</xsl:text>
+ </xsl:template>
+
+ <xsl:template name="insert.javascript.file">
+ <xsl:param name="js" />
+ <script type="text/javascript">
+ <xsl:attribute name="src">
+ <xsl:call-template name = "href.target.relative">
+ <xsl:with-param name = "target" select="$js" />
+ </xsl:call-template>
+ </xsl:attribute>
+ </script>
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/library.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/library.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:key name="library-categories" match="library"
+ use="libraryinfo/librarycategory/@name"/>
+
+ <xsl:template match="librarylist">
+ <itemizedlist spacing="compact">
+ <xsl:apply-templates select="//library"
+ mode="build-library-list">
+ <xsl:sort select="@name"/>
+ </xsl:apply-templates>
+ </itemizedlist>
+ </xsl:template>
+
+ <xsl:template name="library.link">
+ <xsl:param name="node" select="."/>
+ <xsl:param name="name" select="$node/attribute::name"/>
+
+ <xsl:choose>
+ <xsl:when test="$node/attribute::html-only = 1">
+ <xsl:variable name="url">
+ <xsl:choose>
+ <xsl:when test="$node/attribute::url">
+ <xsl:value-of select="$node/attribute::url"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat($project.root,
+ '/libs/',
+ $node/attribute::dirname,
+ '/index.html')"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <ulink>
+ <xsl:attribute name="url">
+ <xsl:value-of select="$url"/>
+ </xsl:attribute>
+ <xsl:value-of select="$name"/>
+ </ulink>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:choose>
+ <xsl:when test="$node/attribute::id">
+ <xsl:value-of select="$node/attribute::id"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="$node"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="$name"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="library" mode="build-library-list">
+ <listitem>
+ <simpara>
+ <xsl:call-template name="library.link"/>
+ <xsl:text> - </xsl:text>
+ <xsl:apply-templates select="libraryinfo/librarypurpose"
+ mode="build-library-list"/>
+ </simpara>
+ </listitem>
+ </xsl:template>
+
+ <xsl:template match="librarypurpose" mode="build-library-list">
+ <xsl:apply-templates/>
+ <xsl:text>, from </xsl:text>
+ <xsl:apply-templates select="../author" mode="display-author-list"/>
+ </xsl:template>
+
+ <xsl:template match="author" mode="display-author-list">
+ <xsl:if test="(position() &gt; 1) and (count(../author) &gt; 2)">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <xsl:if test="(position() = count(../author)) and (position() &gt; 1)">
+ <xsl:if test="position() &lt; 3">
+ <xsl:text> </xsl:text>
+ </xsl:if>
+ <xsl:text>and </xsl:text>
+ </xsl:if>
+ <xsl:apply-templates select="firstname/text()"/>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="surname/text()"/>
+ <xsl:if test="(position() = count(../author))">
+ <xsl:text>.</xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="librarycategorylist">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="librarycategorydef">
+ <section>
+ <title><xsl:apply-templates/></title>
+ <xsl:variable name="name" select="@name"/>
+ <itemizedlist spacing="compact">
+ <xsl:apply-templates select="key('library-categories', $name)"
+ mode="build-library-list">
+ <xsl:sort select="@name"/>
+ </xsl:apply-templates>
+ </itemizedlist>
+ </section>
+ </xsl:template>
+
+ <xsl:template match="libraryinfo">
+ <chapterinfo>
+ <xsl:apply-templates select="author|copyright|legalnotice"/>
+ </chapterinfo>
+ </xsl:template>
+
+ <xsl:template match="librarypurpose|librarycategory"/>
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/lookup.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/lookup.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,449 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:param name="boost.max.id.length">26</xsl:param>
+
+ <!-- Generate an ID for the entity referenced -->
+ <xsl:template name="generate.id">
+ <xsl:param name="node" select="."/>
+ <xsl:choose>
+ <xsl:when test="ancestor::class-specialization|ancestor::struct-specialization|ancestor::union-specialization">
+ <xsl:value-of select="generate-id(.)"/>
+ <xsl:text>-bb</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="$node" mode="generate.id"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="*" mode="generate.id">
+ <xsl:value-of select="generate-id(.)"/>
+ <xsl:text>-bb</xsl:text>
+ </xsl:template>
+
+ <xsl:template name="strip-qualifiers-non-template">
+ <xsl:param name="name"/>
+ <xsl:choose>
+ <xsl:when test="contains($name, '&gt;')">
+ <xsl:call-template name="strip-qualifiers-non-template">
+ <xsl:with-param name="name" select="substring-after($name, '&gt;')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="contains($name, '::')">
+ <xsl:call-template name="strip-qualifiers-non-template">
+ <xsl:with-param name="name" select="substring-after($name, '::')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$name"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="strip-balanced">
+ <xsl:param name="name"/>
+ <xsl:param name="open" select="'&lt;'"/>
+ <xsl:param name="close" select="'&gt;'"/>
+ <xsl:param name="depth" select="0"/>
+ <xsl:choose>
+ <xsl:when test="contains($name, $open)
+ and not(contains(substring-before($name, $open), $close))">
+ <xsl:call-template name="strip-balanced">
+ <xsl:with-param name="name" select="substring-after($name, $open)"/>
+ <xsl:with-param name="open" select="$open"/>
+ <xsl:with-param name="close" select="$close"/>
+ <xsl:with-param name="depth" select="$depth + 1"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="contains($name, $close) and ($depth &gt; 1)">
+ <xsl:call-template name="strip-balanced">
+ <xsl:with-param name="name" select="substring-after($name, $close)"/>
+ <xsl:with-param name="open" select="$open"/>
+ <xsl:with-param name="close" select="$close"/>
+ <xsl:with-param name="depth" select="$depth - 1"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="substring-after($name, $close)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="strip-qualifiers-template">
+ <xsl:param name="name"/>
+ <xsl:choose>
+ <xsl:when test="contains($name, '::')
+ and not(contains(substring-before($name, '::'), '&lt;'))">
+ <xsl:call-template name="strip-qualifiers-template">
+ <xsl:with-param name="name" select="substring-after($name, '::')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="rest">
+ <xsl:call-template name="strip-balanced">
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$rest != ''">
+ <xsl:call-template name="strip-qualifiers-template">
+ <xsl:with-param name="name" select="$rest"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$name"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Strip the qualifiers off a qualified name and return the unqualified
+ name. For instance, "boost::python::function" would become just
+ "function".
+ Must handle ns::foo -> foo
+ Must handle ns::foo<bar::baz> -> foo<bar::baz>
+ Must handle ns::foo<bar::baz>::nested -> nested
+ Must handle ns::foo<x>::bar<y> -> bar<y> -->
+ <xsl:template name="strip-qualifiers">
+ <xsl:param name="name"/>
+ <xsl:choose>
+ <xsl:when test="substring($name, string-length($name)) = '&gt;'">
+ <xsl:call-template name="strip-qualifiers-template">
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="strip-qualifiers-non-template">
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Build the fully-qualified name of the given node -->
+ <xsl:template name="fully-qualified-name">
+ <xsl:param name="node"/>
+ <xsl:param name="separator" select="'::'"/>
+ <xsl:apply-templates select="$node" mode="fully-qualified-name">
+ <xsl:with-param name="separator" select="$separator"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <!-- Hack to make the node we are building the current node so that the
+ ancestor:: syntax will work -->
+ <xsl:template match="*" mode="fully-qualified-name">
+ <xsl:param name="separator" select="'::'"/>
+ <xsl:call-template name="build-fully-qualified-name">
+ <xsl:with-param name="separator" select="$separator"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- The real routine that builds a fully-qualified name for the current
+ node. -->
+ <xsl:template name="build-fully-qualified-name">
+ <xsl:param name="separator" select="'::'"/>
+
+ <!-- The depth of qualified name element that we will print now-->
+ <xsl:param name="depth" select="1"/>
+
+ <!-- Determine the set of ancestor namespaces -->
+ <xsl:variable name="ancestors"
+ select="ancestor::namespace|
+ ancestor::class|ancestor::struct|ancestor::union|
+ ancestor::class-specialization|ancestor::struct-specialization|ancestor::union-specialization"/>
+
+ <xsl:choose>
+ <xsl:when test="$depth &gt; count($ancestors)">
+ <xsl:apply-templates select="." mode="print-name"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="name($ancestors[$depth])='namespace' or
+ count(ancestor::free-function-group)=0">
+ <xsl:apply-templates select="$ancestors[$depth]" mode="print-name"/>
+ <xsl:value-of select="$separator"/>
+ </xsl:if>
+ <xsl:call-template name="build-fully-qualified-name">
+ <xsl:with-param name="separator" select="$separator"/>
+ <xsl:with-param name="depth" select="$depth + 1"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Print the name of the current node -->
+ <xsl:template match="*" mode="print-name">
+ <xsl:value-of select="@name"/>
+ </xsl:template>
+
+ <xsl:template name="print-specialization-name">
+ <xsl:value-of select="@name"/>
+ <xsl:text>&lt;</xsl:text>
+ <xsl:value-of select="specialization/template-arg[position() = 1]/text()"/>
+ <xsl:for-each select="specialization/template-arg[position() &gt; 1]">
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="text()"/>
+ </xsl:for-each>
+ <xsl:text>&gt;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="struct-specialization" mode="print-name">
+ <xsl:call-template name="print-specialization-name"/>
+ </xsl:template>
+
+ <xsl:template match="class-specialization" mode="print-name">
+ <xsl:call-template name="print-specialization-name"/>
+ </xsl:template>
+
+ <xsl:template match="union-specialization" mode="print-name">
+ <xsl:call-template name="print-specialization-name"/>
+ </xsl:template>
+
+ <xsl:template name="name-matches-node">
+ <!-- The name we are looking for -->
+ <xsl:param name="name"/>
+
+ <!-- The name to display -->
+ <xsl:param name="display-name" select="$name"/>
+
+ <!-- The context in which this name occurs -->
+ <xsl:param name="context"/>
+
+ <!-- The node that we are checking against -->
+ <xsl:param name="node"/>
+
+ <!-- The mode we are in. Can be one of:
+ matches: emits the matches as they are found (for debugging)
+ link: link to the node that was found
+ -->
+ <xsl:param name="mode" select="'matches'"/>
+
+ <!-- The index into the list of using directives for the context node -->
+ <xsl:param name="index" select="1"/>
+
+ <!-- The prefix we should append to the name when checking this node -->
+ <xsl:param name="prefix" select="''"/>
+
+ <xsl:choose>
+ <xsl:when test="count($node) &gt; 1">
+ <xsl:variable name="matches">
+ <xsl:call-template name="count-matches">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="context" select="$context"/>
+ <xsl:with-param name="nodes" select="$node[position() = 1]"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$matches = 0">
+ <xsl:call-template name="name-matches-node">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="$display-name"/>
+ <xsl:with-param name="context" select="$context"/>
+ <xsl:with-param name="node" select="$node[position() &gt; 1]"/>
+ <xsl:with-param name="mode" select="$mode"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="name-matches-node">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="$display-name"/>
+ <xsl:with-param name="context" select="$context"/>
+ <xsl:with-param name="node" select="$node[position() = 1]"/>
+ <xsl:with-param name="mode" select="$mode"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="count($node) = 1">
+ <!-- The fully-qualified name of the node we are checking against -->
+ <xsl:variable name="fully-qualified-name">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="$node"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <!-- The set of using directives for this context node -->
+ <xsl:variable name="directives"
+ select="$context/ancestor::*/using-namespace |
+ $context/ancestor::namespace |
+ $context/ancestor::*/using-class |
+ $context/ancestor::class |
+ $context/ancestor::struct"/>
+
+ <!-- The name of the current directive -->
+ <xsl:variable name="this-context">
+ <xsl:apply-templates select="$directives[$index]" mode="print-name"/>
+ </xsl:variable>
+
+ <!-- Check if we have a match -->
+ <xsl:variable name="have-match"
+ select="$fully-qualified-name = concat($prefix, $name)"/>
+
+ <xsl:if test="$have-match">
+ <xsl:choose>
+ <xsl:when test="$mode='matches'">
+ Match in namespace ::<xsl:value-of select="$prefix"/>
+ </xsl:when>
+ <xsl:when test="$mode='link'">
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="$node"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="$display-name"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:if>
+
+ <xsl:if test="(not($index &gt; count($directives))) and
+ (not($have-match) or ($mode = 'matches'))">
+ <xsl:variable name="first-branch">
+ <xsl:if test="not ($prefix = '')">
+ <!-- Recurse and append the current context node to the prefix -->
+ <xsl:call-template name="name-matches-node">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="$display-name"/>
+ <xsl:with-param name="context" select="$context"/>
+ <xsl:with-param name="node" select="$node"/>
+ <xsl:with-param name="mode" select="$mode"/>
+ <xsl:with-param name="index" select="$index + 1"/>
+ <xsl:with-param name="prefix"
+ select="concat($prefix, $this-context, '::')"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="string($first-branch) != ''">
+ <xsl:copy-of select="$first-branch"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Recurse with just the current context node -->
+ <xsl:call-template name="name-matches-node">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="$display-name"/>
+ <xsl:with-param name="context" select="$context"/>
+ <xsl:with-param name="node" select="$node"/>
+ <xsl:with-param name="mode" select="$mode"/>
+ <xsl:with-param name="index" select="$index + 1"/>
+ <xsl:with-param name="prefix"
+ select="concat($this-context, '::')"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Count the number of nodes in the set that match the given name and
+ lookup context -->
+ <xsl:template name="count-matches">
+ <xsl:param name="name"/>
+ <xsl:param name="context"/>
+ <xsl:param name="nodes"/>
+
+ <xsl:variable name="match-string">
+ <xsl:for-each select="$nodes">
+ <xsl:variable name="does-match">
+ <xsl:call-template name="name-matches-node">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="context" select="$context"/>
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="not($does-match='')">X</xsl:if>
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:value-of select="string-length($match-string)"/>
+ </xsl:template>
+
+ <xsl:template name="cxx-link-name">
+ <!-- The actual lookup node -->
+ <xsl:param name="lookup"/>
+
+ <!-- The type of name to lookup (e.g., class) -->
+ <xsl:param name="type"/>
+
+ <!-- The name we are looking for -->
+ <xsl:param name="name"/>
+
+ <!-- The name we will display -->
+ <xsl:param name="display-name"/>
+
+ <!-- The name we are looking for (unqualified)-->
+ <xsl:param name="unqualified-name"/>
+
+ <!-- The list of nodes that match the lookup node in both name and type -->
+ <xsl:param name="nodes"/>
+
+ <!-- Count the number of nodes that match -->
+ <xsl:variable name="matches">
+ <xsl:call-template name="count-matches">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="context" select="$lookup"/>
+ <xsl:with-param name="nodes" select="$nodes"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$matches = 0">
+ <xsl:message>
+ <xsl:text>Cannot find </xsl:text>
+ <xsl:value-of select="$type"/>
+ <xsl:text> named '</xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text>'</xsl:text>
+ </xsl:message>
+ <xsl:value-of select="$display-name"/>
+ </xsl:when>
+ <xsl:when test="$matches = 1">
+ <xsl:for-each select="$nodes">
+ <xsl:call-template name="name-matches-node">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="$display-name"/>
+ <xsl:with-param name="context" select="$lookup"/>
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="mode" select="'link'"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text>Reference to </xsl:text>
+ <xsl:value-of select="$type"/>
+ <xsl:text> '</xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text>' is ambiguous. Found:</xsl:text>
+ <xsl:for-each select="$nodes">
+ <xsl:call-template name="name-matches-node">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="context" select="$lookup"/>
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="mode" select="'matches'"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:message>
+ <xsl:call-template name="name-matches-node">
+ <xsl:with-param name="name" select="$name"/>
+ <xsl:with-param name="display-name" select="$display-name"/>
+ <xsl:with-param name="context" select="$lookup"/>
+ <xsl:with-param name="node" select="$nodes"/>
+ <xsl:with-param name="mode" select="'link'"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/macro.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/macro.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:template match="macro" mode="synopsis">
+ <xsl:param name="indentation" select="0"/>
+
+ <xsl:text>&#10;</xsl:text>
+ <xsl:if
+ test="not(local-name(preceding-sibling::*[position()=1])=local-name(.))">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="macro-synopsis">
+ <xsl:with-param name="link-type" select="'link'"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="macro" mode="reference">
+ <xsl:call-template name="reference-documentation">
+ <xsl:with-param name="refname" select="@name"/>
+ <xsl:with-param name="purpose" select="purpose/*|purpose/text()"/>
+ <xsl:with-param name="anchor">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="name">
+ <xsl:text>Macro </xsl:text>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="@name"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="synopsis">
+ <xsl:call-template name="macro-synopsis">
+ <xsl:with-param name="link-type" select="'none'"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <xsl:apply-templates select="description"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="macro-synopsis">
+ <xsl:param name="link-type"/>
+
+ <xsl:call-template name="link-or-anchor">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id" select="."/>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="@name"/>
+ <xsl:with-param name="link-type" select="$link-type"/>
+ </xsl:call-template>
+
+ <xsl:if test="@kind='functionlike'">
+ <xsl:text>(</xsl:text>
+ <xsl:for-each select="macro-parameter">
+ <xsl:if test="position() &gt; 1">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <xsl:value-of select="@name"/>
+ </xsl:for-each>
+ <xsl:text>)</xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="macro" mode="generate.id">
+ <xsl:value-of select="@name"/>
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/manpages.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/manpages.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <!-- Import the man pages stylesheet -->
+ <xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/>
+
+ <xsl:param name="generate.manifest" select="1"/>
+ <xsl:param name="manifest">man.manifest</xsl:param>
+
+ <xsl:template match="literallayout">
+ <xsl:text>&#10;.nf&#10;</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>&#10;.fi&#10;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="para|simpara|remark" mode="list">
+ <xsl:variable name="foo">
+ <xsl:apply-templates/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="literallayout">
+ <xsl:copy-of select="$foo"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="normalize-space($foo)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:if test="following-sibling::para or following-sibling::simpara or
+ following-sibling::remark">
+ <!-- Make sure multiple paragraphs within a list item don't -->
+ <!-- merge together. -->
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="build.refentry.filename">
+ <xsl:param name="node" select="."/>
+ <xsl:variable name="section" select="$node/refmeta/manvolnum"/>
+ <xsl:variable name="name" select="$node/refnamediv/refname[1]"/>
+ <xsl:value-of select="concat('man', $section, '/',
+ translate(normalize-space($name),
+ '&lt;&gt;', '__'),
+ '.', $section)"/>
+
+ </xsl:template>
+
+ <xsl:template match="refentry" mode="manifest">
+ <xsl:call-template name="build.refentry.filename"/>
+ <xsl:text>&#10;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="/">
+ <xsl:choose>
+ <xsl:when test="//refentry">
+ <xsl:apply-templates select="//refentry"/>
+ <xsl:if test="$generate.manifest=1">
+ <xsl:call-template name="write.text.chunk">
+ <xsl:with-param name="filename" select="$manifest"/>
+ <xsl:with-param name="content">
+ <xsl:value-of select="$manifest"/>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:apply-templates select="//refentry" mode="manifest"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>No refentry elements!</xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+<xsl:template match="refentry">
+ <xsl:variable name="section" select="refmeta/manvolnum"/>
+ <xsl:variable name="name" select="refnamediv/refname[1]"/>
+
+ <!-- standard man page width is 64 chars; 6 chars needed for the two
+ (x) volume numbers, and 2 spaces, leaves 56 -->
+ <xsl:variable name="twidth" select="(56 - string-length(refmeta/refentrytitle)) div 2"/>
+
+ <xsl:variable name="reftitle"
+ select="substring(refmeta/refentrytitle, 1, $twidth)"/>
+
+ <xsl:variable name="title">
+ <xsl:choose>
+ <xsl:when test="refentryinfo/title">
+ <xsl:value-of select="refentryinfo/title"/>
+ </xsl:when>
+ <xsl:when test="../referenceinfo/title">
+ <xsl:value-of select="../referenceinfo/title"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="date">
+ <xsl:choose>
+ <xsl:when test="refentryinfo/date">
+ <xsl:value-of select="refentryinfo/date"/>
+ </xsl:when>
+ <xsl:when test="../referenceinfo/date">
+ <xsl:value-of select="../referenceinfo/date"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="productname">
+ <xsl:choose>
+ <xsl:when test="refentryinfo/productname">
+ <xsl:value-of select="refentryinfo/productname"/>
+ </xsl:when>
+ <xsl:when test="../referenceinfo/productname">
+ <xsl:value-of select="../referenceinfo/productname"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:call-template name="write.text.chunk">
+ <xsl:with-param name="filename">
+ <xsl:call-template name="build.refentry.filename"/>
+ </xsl:with-param>
+ <xsl:with-param name="content">
+ <xsl:text>.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "</xsl:text>
+ <xsl:value-of select="translate($reftitle,'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
+ <xsl:text>" </xsl:text>
+ <xsl:value-of select="refmeta/manvolnum[1]"/>
+ <xsl:text> "</xsl:text>
+ <xsl:value-of select="normalize-space($date)"/>
+ <xsl:text>" "</xsl:text>
+ <xsl:value-of select="normalize-space($productname)"/>
+ <xsl:text>" "</xsl:text>
+ <xsl:value-of select="$title"/>
+ <xsl:text>"
+</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>&#10;</xsl:text>
+
+ <!-- Author section -->
+ <xsl:choose>
+ <xsl:when test="refentryinfo//author">
+ <xsl:apply-templates select="refentryinfo" mode="authorsect"/>
+ </xsl:when>
+ <xsl:when test="/book/bookinfo//author">
+ <xsl:apply-templates select="/book/bookinfo" mode="authorsect"/>
+ </xsl:when>
+ <xsl:when test="/article/articleinfo//author">
+ <xsl:apply-templates select="/article/articleinfo" mode="authorsect"/>
+ </xsl:when>
+ </xsl:choose>
+
+ </xsl:with-param>
+ </xsl:call-template>
+ <!-- Now generate stub include pages for every page documented in
+ this refentry (except the page itself) -->
+ <xsl:for-each select="refnamediv/refname">
+ <xsl:if test=". != $name">
+ <xsl:call-template name="write.text.chunk">
+ <xsl:with-param name="filename"
+ select="concat(normalize-space(.), '.', $section)"/>
+ <xsl:with-param name="content" select="concat('.so man',
+ $section, '/', $name, '.', $section, '&#10;')"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:for-each>
+</xsl:template>
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/navbar.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/navbar.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+ <xsl:import href="user-params.xsl"/>
+ <xsl:import href="relative-href.xsl"/>
+
+ <xsl:template name = "insert.spirit.navig.icon">
+ <xsl:param name="direction" select="'next'"/>
+ <xsl:param name="accesskey" select="''"/>
+ <xsl:param name="target" select="''"/>
+
+ <div class = "spirit-nav-icon">
+ <a accesskey = "{$accesskey}" href="{$target}">
+ <div class = "{$direction}-icon" />
+ </a>
+ </div>
+
+ </xsl:template>
+
+ <xsl:template name = "insert.spirit.navbar">
+ <xsl:param name = "prev" select = "/foo"/>
+ <xsl:param name = "next" select = "/foo"/>
+ <xsl:param name = "nav.context"/>
+
+ <xsl:variable name = "home" select = "/*[1]"/>
+ <xsl:variable name = "up" select = "parent::*"/>
+
+ <div class = "spirit-nav">
+ <!-- prev -->
+ <xsl:if test = "count($prev)>0">
+ <xsl:call-template name = "insert.spirit.navig.icon">
+ <xsl:with-param name = "direction" select = "'prev'"/>
+ <xsl:with-param name = "accesskey" select="'p'" />
+ <xsl:with-param name = "target">
+ <xsl:call-template name = "href.target">
+ <xsl:with-param name = "object" select = "$prev"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- up -->
+ <xsl:if test = "count($up)>0">
+ <xsl:call-template name = "insert.spirit.navig.icon">
+ <xsl:with-param name = "direction" select = "'up'"/>
+ <xsl:with-param name = "accesskey" select="'u'" />
+ <xsl:with-param name = "target">
+ <xsl:call-template name = "href.target">
+ <xsl:with-param name = "object" select = "$up"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- home -->
+ <xsl:if test = "$home != . or $nav.context = 'toc'">
+ <xsl:call-template name = "insert.spirit.navig.icon">
+ <xsl:with-param name = "direction" select = "'home'"/>
+ <xsl:with-param name = "accesskey" select="'h'" />
+ <xsl:with-param name = "target">
+ <xsl:call-template name = "href.target">
+ <xsl:with-param name = "object" select = "$home"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:if test = "$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
+ <xsl:text>|</xsl:text>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test = "$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
+ <a accesskey = "t">
+ <xsl:attribute name = "href">
+ <xsl:apply-templates select = "/*[1]" mode = "recursive-chunk-filename"/>
+ <xsl:text>-toc</xsl:text>
+ <xsl:value-of select = "$html.ext"/>
+ </xsl:attribute>
+ <xsl:call-template name = "gentext">
+ <xsl:with-param name = "key" select = "'nav-toc'"/>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ <!-- next -->
+ <xsl:if test = "count($next)>0">
+ <xsl:call-template name = "insert.spirit.navig.icon">
+ <xsl:with-param name = "direction" select = "'next'"/>
+ <xsl:with-param name = "accesskey" select="'n'" />
+ <xsl:with-param name = "target">
+ <xsl:call-template name = "href.target">
+ <xsl:with-param name = "object" select = "$next"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/reference.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/reference.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:include href="annotation.xsl"/>
+ <xsl:include href="template.xsl"/>
+ <xsl:include href="function.xsl"/>
+ <xsl:include href="type.xsl"/>
+ <xsl:include href="source-highlight.xsl"/>
+ <xsl:include href="utility.xsl"/>
+ <xsl:include href="lookup.xsl"/>
+ <xsl:include href="library.xsl"/>
+ <xsl:include href="index.xsl"/>
+ <xsl:include href="error.xsl"/>
+ <xsl:include href="macro.xsl"/>
+ <xsl:include href="testing/testsuite.xsl"/>
+ <xsl:include href="caramel/concept2docbook.xsl"/>
+
+ <xsl:template name="namespace-synopsis">
+ <xsl:param name="indentation" select="0"/>
+ <!-- Open namespace-->
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="concat('namespace ',@name)"/>
+ </xsl:call-template>
+ <xsl:text> {</xsl:text>
+
+ <!-- Emit namespace types -->
+ <xsl:apply-templates select="class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization|
+ typedef|enum|data-member" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Emit namespace functions -->
+ <xsl:apply-templates
+ select="free-function-group|function|overloaded-function"
+ mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Emit namespaces -->
+ <xsl:apply-templates select="namespace" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Close namespace -->
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:text>}</xsl:text>
+ </xsl:template>
+
+ <!-- Emit namespace synopsis -->
+ <xsl:template match="namespace" mode="synopsis">
+ <xsl:param name="indentation" select="0"/>
+
+ <xsl:choose>
+ <xsl:when test="count(ancestor::namespace)=0">
+ <xsl:call-template name="namespace-synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="namespace-synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Emit namespace reference -->
+ <xsl:template match="namespace" mode="reference">
+ <xsl:apply-templates select="namespace|typedef|free-function-group"
+ mode="reference">
+ <xsl:with-param name="indentation" select="0"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization|enum|function|
+ overloaded-function|data-member"
+ mode="namespace-reference"/>
+ </xsl:template>
+
+ <!-- Eat extra documentation when in the synopsis or reference sections -->
+ <xsl:template match="para|section" mode="synopsis"/>
+ <xsl:template match="para|section" mode="reference"/>
+
+ <!-- Comment mode tries to wipe out any extra spacing in the output -->
+ <xsl:template match="purpose" mode="comment">
+ <xsl:apply-templates mode="comment"/>
+ </xsl:template>
+
+ <xsl:template match="simpara|para" mode="comment">
+ <xsl:apply-templates select="text()|*" mode="comment"/>
+ </xsl:template>
+
+ <xsl:template match="text()" mode="comment">
+ <xsl:value-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="*" mode="comment">
+ <xsl:apply-templates select="." mode="annotation"/>
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/relative-href.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/relative-href.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+<!--
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/lib/lib.xsl"/>
+-->
+
+<!-- ==================================================================== -->
+
+<!-- Check if path is absolute
+
+ Not attempting to fully parse or validate absolute vs. relative URI.
+ Assumes an absolute url when $target matches the regex '^[a-zA-Z.+-]*:'
+
+ According to RFC1808, however, the colon (':') may also appear in a relative
+ URL. To workaround this limitation for relative links containing colons one
+ may use the alternatives below, instead.
+
+ For the relative URI this:that use ./this:that or this%3Athat, instead.
+-->
+<xsl:template name="is.absolute.uri">
+ <xsl:param name="uri"/>
+
+ <xsl:variable name="scheme1" select="substring-before($uri, ':')"/>
+ <xsl:variable name="scheme2" select="translate($scheme1, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-.', '')"/>
+
+ <xsl:choose>
+ <xsl:when test="$scheme1 and not($scheme2)">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="href.target.relative">
+ <xsl:param name="target"/>
+ <xsl:param name="context" select="."/>
+
+ <xsl:variable name="isabsoluteuri">
+ <xsl:call-template name="is.absolute.uri">
+ <xsl:with-param name="uri" select="$target"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$isabsoluteuri='1'">
+ <xsl:value-of select="$target"/>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:variable name="href.to.uri" select="$target"/>
+ <xsl:variable name="href.from.uri">
+ <xsl:call-template name="href.target.uri">
+ <xsl:with-param name="object" select="$context"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="href.to">
+ <xsl:call-template name="trim.common.uri.paths">
+ <xsl:with-param name="uriA" select="$href.to.uri"/>
+ <xsl:with-param name="uriB" select="$href.from.uri"/>
+ <xsl:with-param name="return" select="'A'"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="href.from">
+ <xsl:call-template name="trim.common.uri.paths">
+ <xsl:with-param name="uriA" select="$href.to.uri"/>
+ <xsl:with-param name="uriB" select="$href.from.uri"/>
+ <xsl:with-param name="return" select="'B'"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="depth">
+ <xsl:call-template name="count.uri.path.depth">
+ <xsl:with-param name="filename" select="$href.from"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="href">
+ <xsl:call-template name="copy-string">
+ <xsl:with-param name="string" select="'../'"/>
+ <xsl:with-param name="count" select="$depth"/>
+ </xsl:call-template>
+ <xsl:value-of select="$href.to"/>
+ </xsl:variable>
+
+ <xsl:value-of select="$href"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+</xsl:template>
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/source-highlight.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/source-highlight.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:param name="boost.syntax.highlight">1</xsl:param>
+
+ <xsl:template name="source-highlight">
+ <xsl:param name="text" select="."/>
+ <xsl:choose>
+ <xsl:when test="$boost.syntax.highlight='1'">
+ <xsl:call-template name="highlight-text">
+ <xsl:with-param name="text" select="$text"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$text"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Perform C++ keyword highlighting on the given text -->
+ <xsl:template name="highlight-text">
+ <xsl:param name="text" select="."/>
+ <xsl:param name="keywords"
+ select="'asm auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while'"/>
+ <xsl:param name="best-match" select="''"/>
+
+ <!-- Determine the current keyword -->
+ <xsl:variable name="keyword">
+ <xsl:choose>
+ <xsl:when test="contains($keywords, ' ')">
+ <xsl:value-of select="substring-before($keywords, ' ')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$keywords"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Determine the set of keywords that are left -->
+ <xsl:variable name="keywords-left">
+ <xsl:if test="contains($keywords, ' ')">
+ <xsl:value-of select="substring-after($keywords, ' ')"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <!-- The set of characters that can be identifiers -->
+ <xsl:variable name="id-chars" select="'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'"/>
+
+ <xsl:variable name="X" select="'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'"/>
+
+ <xsl:choose>
+ <!-- Have we exhausted all keywords without finding any to highlight? -->
+ <xsl:when test="$keyword='' and $best-match=''">
+ <!-- Just copy the text -->
+ <xsl:copy-of select="$text"/>
+ </xsl:when>
+
+ <!-- Have we exhausted all keywords, but have one to highlight? If so,
+ make sure we didn't just find part of an identifier. -->
+ <xsl:when
+ test="$keyword='' and
+ not (starts-with(translate(substring-after($text, $best-match),
+ $id-chars, $X), 'X')) and
+ not (substring(translate(substring-before($text, $best-match),
+ $id-chars, $X),
+ string-length(substring-before($text,
+ $best-match)),
+ 1) = 'X')">
+ <!-- Copy text before this keyword -->
+ <xsl:value-of select="substring-before($text, $best-match)"/>
+
+ <!-- Highlight the keyword -->
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="$best-match"/>
+ </xsl:call-template>
+
+ <!-- Recurse on the rest of the text -->
+ <xsl:call-template name="highlight-text">
+ <xsl:with-param name="text"
+ select="substring-after($text, $best-match)"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- We thought we had a keyword to highlight, but it was part of an
+ identifier. So output all of the text up to (but not including!)
+ the last letter of the identifier, and try again to
+ highlight. -->
+ <xsl:when test="$keyword=''">
+ <xsl:value-of select="substring-before($text, $best-match)"/>
+ <xsl:value-of
+ select="substring($best-match, 1, string-length($best-match)-1)"/>
+ <xsl:call-template name="highlight-text">
+ <xsl:with-param name="text"
+ select="concat(substring($best-match, string-length($best-match),
+ 1), substring-after($text, $best-match))"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- Does the text contain this keyword with a better match than we
+ previously had? -->
+ <xsl:when
+ test="contains($text, $keyword) and
+ (($best-match = '') or
+ (string-length(substring-before($text, $keyword)) &lt;
+ string-length(substring-before($text, $best-match))))">
+ <!-- Recurse with the current keyword as the new best match -->
+ <xsl:call-template name="highlight-text">
+ <xsl:with-param name="text" select="$text"/>
+ <xsl:with-param name="keywords" select="$keywords-left"/>
+ <xsl:with-param name="best-match" select="$keyword"/>
+ </xsl:call-template>
+ </xsl:when>
+
+ <!-- Text does not contain this keyword. Just recurse normally -->
+ <xsl:otherwise>
+ <xsl:call-template name="highlight-text">
+ <xsl:with-param name="text" select="$text"/>
+ <xsl:with-param name="keywords" select="$keywords-left"/>
+ <xsl:with-param name="best-match" select="$best-match"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="*" mode="highlight">
+ <xsl:element name="{name(.)}">
+ <xsl:for-each select="./@*">
+ <xsl:choose>
+ <xsl:when test="local-name(.)='last-revision'">
+ <xsl:attribute
+ name="rev:last-revision"
+ namespace="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"
+>
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ <xsl:apply-templates mode="highlight"/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="text()" mode="highlight">
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="."/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="classname|methodname|functionname|libraryname|enumname|
+ conceptname|macroname" mode="highlight">
+ <xsl:apply-templates select="." mode="annotation"/>
+ </xsl:template>
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/template.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/template.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,444 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <!-- Determine the length of a template header synopsis -->
+ <xsl:template name="template.synopsis.length">
+ <xsl:variable name="text">
+ <xsl:apply-templates select="template" mode="synopsis">
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="wrap" select="false()"/>
+ <xsl:with-param name="highlight" select="false()"/>
+ </xsl:apply-templates>
+ </xsl:variable>
+ <xsl:value-of select="string-length($text)"/>
+ </xsl:template>
+
+ <!-- Determine the length of a template header reference -->
+ <xsl:template name="template.reference.length">
+ <xsl:choose>
+ <xsl:when test="not(template)">
+ 0
+ </xsl:when>
+ <xsl:when test="template/*/purpose">
+ <!-- TBD: The resulting value need only be greater than the number of
+ columns. We chose to add 17 because it's funny for C++
+ programmers. :) -->
+ <xsl:value-of select="$pre.text.max.columns + 17"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="template.synopsis.length"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Output a template header in synopsis mode -->
+ <xsl:template match="template" mode="synopsis">
+ <xsl:param name="indentation" select="0"/>
+ <xsl:param name="wrap" select="true()"/>
+ <xsl:param name="highlight" select="true()"/>
+
+ <xsl:call-template name="template.synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="wrap" select="$wrap"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- Output a template header in reference mode -->
+ <xsl:template match="template" mode="reference">
+ <xsl:param name="indentation" select="0"/>
+ <xsl:param name="highlight" select="true()"/>
+ <xsl:call-template name="template.reference">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- Emit a template header synopsis -->
+ <xsl:template name="template.synopsis">
+ <xsl:param name="indentation" select="0"/>
+ <xsl:param name="wrap" select="true()"/>
+ <xsl:param name="highlight" select="true()"/>
+
+ <xsl:choose>
+ <xsl:when test="$highlight">
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="'template'"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>template</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>&lt;</xsl:text>
+ <xsl:call-template name="template.synopsis.parameters">
+ <xsl:with-param name="indentation" select="$indentation + 9"/>
+ <xsl:with-param name="wrap" select="$wrap"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+ <xsl:text>&gt; </xsl:text>
+ </xsl:template>
+
+ <!-- Display a list of template parameters for a synopsis (no comments) -->
+ <xsl:template name="template.synopsis.parameters">
+ <xsl:param name="indentation"/>
+ <xsl:param name="wrap" select="true()"/>
+ <xsl:param name="highlight" select="true()"/>
+
+ <xsl:param name="column" select="$indentation"/>
+ <xsl:param name="prefix" select="''"/>
+ <xsl:param name="parameters" select="template-type-parameter|template-varargs|template-nontype-parameter"/>
+ <xsl:param name="first-on-line" select="true()"/>
+
+ <xsl:if test="$parameters">
+ <!-- Emit the prefix (either a comma-space, or empty if this is
+ the first parameter) -->
+ <xsl:value-of select="$prefix"/>
+
+ <!-- Get the actual parameter and its attributes -->
+ <xsl:variable name="parameter" select="$parameters[position()=1]"/>
+ <xsl:variable name="rest" select="$parameters[position()!=1]"/>
+
+ <!-- Compute the actual text of this parameter -->
+ <xsl:variable name="text">
+ <xsl:call-template name="template.parameter">
+ <xsl:with-param name="parameter" select="$parameter"/>
+ <xsl:with-param name="is-last" select="not(rest)"/>
+ <xsl:with-param name="highlight" select="false()"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <!-- Where will this template parameter finish? -->
+ <xsl:variable name="end-column"
+ select="$column + string-length($prefix) + string-length($text)"/>
+
+ <!-- Should the text go on this line or on the next? -->
+ <xsl:choose>
+ <xsl:when test="$first-on-line or ($end-column &lt; $pre.text.max.columns) or
+ not($wrap)">
+ <!-- Print on this line -->
+ <xsl:call-template name="template.parameter">
+ <xsl:with-param name="parameter" select="$parameter"/>
+ <xsl:with-param name="is-last" select="not($rest)"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+
+ <!-- Recurse -->
+ <xsl:call-template name="template.synopsis.parameters">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="wrap" select="$wrap"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ <xsl:with-param name="column" select="$end-column"/>
+ <xsl:with-param name="prefix" select="', '"/>
+ <xsl:with-param name="parameters" select="$rest"/>
+ <xsl:with-param name="first-on-line" select="false()"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Print on next line -->
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="template.parameter">
+ <xsl:with-param name="parameter" select="$parameter"/>
+ <xsl:with-param name="is-last" select="not($rest)"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="template.synopsis.parameters">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="wrap" select="$wrap"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ <xsl:with-param name="column"
+ select="$indentation + string-length($text)"/>
+ <xsl:with-param name="prefix" select="', '"/>
+ <xsl:with-param name="parameters" select="$rest"/>
+ <xsl:with-param name="first-on-line" select="false()"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Emit a template header reference -->
+ <xsl:template name="template.reference">
+ <xsl:param name="indentation" select="0"/>
+ <xsl:param name="highlight" select="true()"/>
+
+ <xsl:if test="template-type-parameter|template-varargs|template-nontype-parameter">
+ <xsl:choose>
+ <xsl:when test="$highlight">
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="'template'"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>template</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>&lt;</xsl:text>
+ <xsl:call-template name="template.reference.parameters">
+ <xsl:with-param name="indentation" select="$indentation + 9"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+ <xsl:text>&gt; </xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Display a set of template parameters for a reference -->
+ <xsl:template name="template.reference.parameters">
+ <xsl:param name="indentation"/>
+ <xsl:param name="highlight" select="true()"/>
+ <xsl:param name="parameters" select="template-type-parameter|template-varargs|template-nontype-parameter"/>
+
+ <xsl:choose>
+ <xsl:when test="$parameters/purpose">
+ <xsl:call-template name="template.reference.parameters.comments">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="template.synopsis.parameters">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="wrap" select="true()"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Output template parameters when there are comments with the parameters.
+ For clarity, we output each template parameter on a separate line. -->
+ <xsl:template name="template.reference.parameters.comments">
+ <xsl:param name="indentation"/>
+ <xsl:param name="highlight" select="true()"/>
+ <xsl:param name="parameters" select="template-type-parameter|template-varargs|template-nontype-parameter"/>
+
+ <xsl:if test="$parameters">
+ <!-- Get the actual parameter and its attributes -->
+ <xsl:variable name="parameter" select="$parameters[position()=1]"/>
+ <xsl:variable name="rest" select="$parameters[position()!=1]"/>
+
+ <!-- Display the parameter -->
+ <xsl:call-template name="template.parameter">
+ <xsl:with-param name="parameter" select="$parameter"/>
+ <xsl:with-param name="is-last" select="not($rest)"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+
+ <xsl:if test="$rest">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+
+ <!-- Display the comment -->
+ <xsl:if test="$parameter/purpose">
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text">
+ <xsl:text> // </xsl:text>
+ <xsl:apply-templates
+ select="$parameter/purpose/*|$parameter/purpose/text()"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- Indent the next line -->
+ <xsl:if test="$parameter/purpose or $rest">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- Recurse to print the rest of the parameters -->
+ <xsl:call-template name="template.reference.parameters.comments">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ <xsl:with-param name="parameters" select="$rest"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Print a template parameter -->
+ <xsl:template name="template.parameter">
+ <xsl:param name="parameter"/>
+ <xsl:param name="is-last"/>
+ <xsl:param name="highlight" select="true()"/>
+ <xsl:apply-templates select="$parameter"
+ mode="print.parameter">
+ <xsl:with-param name="parameter" select="$parameter"/>
+ <xsl:with-param name="is-last" select="$is-last"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <xsl:template name="template.parameter.name">
+ <xsl:param name="name" select="@name"/>
+ <xsl:param name="highlight" select="true()"/>
+
+ <xsl:choose>
+ <xsl:when test="$highlight">
+ <xsl:call-template name="concept.link">
+ <xsl:with-param name="name"
+ select="translate($name, '0123456789', '')"/>
+ <xsl:with-param name="text" select="$name"/>
+ <xsl:with-param name="warn" select="false"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$name"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="template-type-parameter" mode="print.parameter">
+ <xsl:param name="parameter"/>
+ <xsl:param name="is-last"/>
+ <xsl:param name="highlight"/>
+
+ <xsl:choose>
+ <xsl:when test="$highlight">
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="'typename'"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>typename</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text> </xsl:text>
+
+ <xsl:call-template name="template.parameter.name">
+ <xsl:with-param name="name" select="$parameter/@name"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+
+ <xsl:variable name="def">
+ <xsl:choose>
+ <xsl:when test="$parameter/@default">
+ <xsl:message>
+ <xsl:text>Warning: 'default' attribute of template parameter element is deprecated. Use 'default' element.</xsl:text>
+ <xsl:call-template name="print.warning.context"/>
+ </xsl:message>
+ <xsl:choose>
+ <xsl:when test="$highlight and false()">
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text">
+ <xsl:value-of select="$parameter/@default"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$parameter/@default"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$parameter/default">
+ <xsl:choose>
+ <xsl:when test="$highlight">
+ <xsl:apply-templates
+ select="$parameter/default/*|$parameter/default/text()"
+ mode="highlight"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string($parameter/default)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:if test="not($def='')">
+ <xsl:text> = </xsl:text>
+
+ <xsl:copy-of select="$def"/>
+
+ <!-- If this is the last parameter, add an extra space to
+ avoid printing >> -->
+ <xsl:if
+ test="$is-last and (substring($def, string-length($def))='&gt;')">
+ <xsl:text> </xsl:text>
+ </xsl:if>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="template-nontype-parameter" mode="print.parameter">
+ <xsl:param name="parameter"/>
+ <xsl:param name="is-last"/>
+ <xsl:param name="highlight"/>
+
+ <xsl:choose>
+ <xsl:when test="$highlight">
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text">
+ <xsl:apply-templates
+ select="$parameter/type/*|$parameter/type/text()"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$parameter/type/*|$parameter/type/text()"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text> </xsl:text>
+
+ <xsl:call-template name="template.parameter.name">
+ <xsl:with-param name="name" select="$parameter/@name"/>
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:call-template>
+
+ <xsl:variable name="def">
+ <xsl:value-of select="string($parameter/default)"/>
+ </xsl:variable>
+
+ <xsl:if test="not($def='')">
+ <xsl:text> = </xsl:text>
+
+ <xsl:choose>
+ <xsl:when test="$highlight">
+ <xsl:apply-templates select="$parameter/default/*|$parameter/default/text()" mode="highlight"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$def"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <!-- If this is the last parameter, add an extra space to
+ avoid printing >> -->
+ <xsl:if
+ test="$is-last and (substring($def, string-length($def))='&gt;')">
+ <xsl:text> </xsl:text>
+ </xsl:if>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="template-varargs" mode="print.parameter">
+ <xsl:text>...</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="specialization">
+ <xsl:param name="highlight" select="true()"/>
+ <xsl:text>&lt;</xsl:text>
+ <xsl:apply-templates select="template-arg">
+ <xsl:with-param name="highlight" select="$highlight"/>
+ </xsl:apply-templates>
+ <xsl:text>&gt;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="template-arg">
+ <xsl:if test="position() &gt; 1">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <xsl:apply-templates mode="highlight"/>
+ </xsl:template>
+</xsl:stylesheet>
+

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/type.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/type.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,1300 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:include href="global.xsl"/>
+ <xsl:strip-space elements="inherit purpose"/>
+
+ <!-- When true, the stylesheet will emit compact definitions of
+ enumerations when the enumeration does not have any detailed
+ description. A compact definition renders the enum definition along
+ with a comment for the purpose of the enum (if it exists) directly
+ within the synopsis. A non-compact definition will create a
+ separate refentry element for the enum. -->
+ <xsl:param name="boost.compact.enum">1</xsl:param>
+
+ <!-- When true, the stylesheet will emit compact definitions of
+ typedefs when the typedef does not have any detailed
+ description. -->
+ <xsl:param name="boost.compact.typedef">1</xsl:param>
+
+ <xsl:template match="class|struct|union" mode="generate.id">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="separator" select="'.'"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="typedef" mode="generate.id">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="separator" select="'.'"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="enum" mode="generate.id">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="separator" select="'.'"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="enumvalue" mode="generate.id">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="parent::enum"/>
+ <xsl:with-param name="separator" select="'.'"/>
+ </xsl:call-template>
+ <xsl:text>.</xsl:text>
+ <xsl:value-of select="@name"/>
+ </xsl:template>
+
+ <!-- Display the full name of the current node, e.g., "Class
+ template function". -->
+ <xsl:template name="type.display.name">
+ <xsl:choose>
+ <xsl:when test="contains(local-name(.), 'class')">
+ <xsl:text>Class </xsl:text>
+ </xsl:when>
+ <xsl:when test="contains(local-name(.), 'struct')">
+ <xsl:text>Struct </xsl:text>
+ </xsl:when>
+ <xsl:when test="contains(local-name(.), 'union')">
+ <xsl:text>Union </xsl:text>
+ </xsl:when>
+ <xsl:when test="local-name(.)='enum'">
+ <xsl:text>Type </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+Unknown type element "<xsl:value-of select="local-name(.)"/>" in type.display.name
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:if test="template and count(template/*) &gt; 0">
+ <xsl:text>template </xsl:text>
+ </xsl:if>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text">
+ <xsl:value-of select="@name"/>
+ <xsl:apply-templates select="specialization"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- Determine the class key for the given node -->
+ <xsl:template name="type.class.key">
+ <xsl:param name="node" select="."/>
+ <xsl:choose>
+ <xsl:when test="contains(local-name($node), '-specialization')">
+ <xsl:value-of select="substring-before(local-name($node), '-')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="local-name($node)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Emit class synopsis -->
+ <xsl:template match="class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization" mode="synopsis">
+ <xsl:param name="indentation"/>
+
+ <!-- The keyword used to declare this class type, e.g., class,
+ struct, or union. -->
+ <xsl:variable name="class-key">
+ <xsl:call-template name="type.class.key"/>
+ </xsl:variable>
+
+ <!-- Spacing -->
+ <xsl:if test="not (local-name(preceding-sibling::*[position()=1])=local-name(.)) and (position() &gt; 1)">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+
+ <xsl:text>&#10;</xsl:text>
+
+ <!-- Calculate how long this declaration would be if we put it all
+ on one line -->
+ <xsl:variable name="full-decl-string">
+ <xsl:apply-templates select="template" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="wrap" select="false()"/>
+ </xsl:apply-templates>
+ <xsl:value-of select="$class-key"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:apply-templates select="specialization"/>
+ <xsl:text>;</xsl:text>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="(string-length($full-decl-string) +
+ string-length($indentation)) &lt; $pre.text.max.columns">
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="template" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="$class-key"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <xsl:value-of select="@name"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:apply-templates select="specialization"/>
+ <xsl:text>;</xsl:text>
+ </xsl:when>
+
+ <xsl:otherwise>
+ <!-- Template header -->
+ <xsl:if test="template">
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="template" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+ <xsl:text>&#10;</xsl:text>
+
+ <!-- Indent class templates' names in the synopsis -->
+ <xsl:text> </xsl:text>
+ </xsl:if>
+
+ <!-- Class name -->
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="$class-key"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="string(@name)"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="specialization"/>
+ <xsl:text>;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <!-- Free functions associated with the class -->
+ <xsl:apply-templates select="free-function-group" mode="header-synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="class" select="@name"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <!-- Emit a typedef synopsis -->
+ <xsl:template name="type.typedef.display.aligned">
+ <xsl:param name="compact"/>
+ <xsl:param name="indentation"/>
+ <xsl:param name="is-reference"/>
+ <xsl:param name="max-type-length"/>
+ <xsl:param name="max-name-length"/>
+
+ <!-- What type of link the typedef name should have. This shall
+ be one of 'anchor' (the typedef output will be the target of
+ links), 'link' (the typedef output will link to a definition), or
+ 'none' (the typedef output will not be either a link or a link
+ target) -->
+ <xsl:param name="link-type">
+ <xsl:choose>
+ <xsl:when test="$is-reference">
+ <xsl:text>anchor</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>link</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:param>
+
+ <!-- The id we should link to or anchor as -->
+ <xsl:param name="link-to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:param>
+
+ <!-- The id we should link to or anchor as -->
+ <xsl:param name="typedef-name">
+ <xsl:value-of select="@name"/>
+ </xsl:param>
+
+ <!-- Padding for the typedef types -->
+ <xsl:variable name="type-padding">
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$max-type-length"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <!-- Padding for the typedef names -->
+ <xsl:variable name="name-padding">
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$max-name-length"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:text>&#10;</xsl:text>
+ <xsl:choose>
+ <!-- Create a vertical ellipsis -->
+ <xsl:when test="@name = '...'">
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation + 3"/>
+ </xsl:call-template>
+ <xsl:text>.&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation + 3"/>
+ </xsl:call-template>
+ <xsl:text>.&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation + 3"/>
+ </xsl:call-template>
+ <xsl:text>.</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="'typedef'"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+
+ <!-- Length of the type -->
+ <xsl:variable name="type-length">
+ <xsl:choose>
+ <xsl:when test="@type">
+ <xsl:message>
+ <xsl:text>Warning: `type' attribute of `typedef' element is deprecated. Use 'type' element instead.</xsl:text>
+ </xsl:message>
+ <xsl:call-template name="print.warning.context"/>
+ <xsl:value-of select="string-length(@type)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string-length(type)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Emit the type -->
+ <xsl:choose>
+ <xsl:when test="@type">
+ <xsl:value-of select="@type"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="type/*|type/text()"
+ mode="highlight"/>
+ <!--
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text">
+ <xsl:apply-templates select="type/*|type/text()"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ -->
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:choose>
+ <xsl:when test="$max-type-length &gt; 0">
+ <xsl:value-of select="substring($type-padding, 1,
+ $max-type-length - $type-length)"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="substring(concat(@name, ';', $name-padding),
+ 1, $max-name-length)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="link-or-anchor">
+ <xsl:with-param name="to" select="$link-to"/>
+ <xsl:with-param name="text" select="$typedef-name"/>
+ <xsl:with-param name="link-type" select="$link-type"/>
+ <xsl:with-param name="highlight" select="true()"/>
+ </xsl:call-template>
+ <xsl:text>;</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:if test="$compact and purpose">
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text">
+ <xsl:text>// </xsl:text>
+ <xsl:apply-templates select="purpose" mode="comment"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="typedef" mode="synopsis">
+ <xsl:param name="indentation"/>
+ <xsl:param name="max-type-length" select="0"/>
+ <xsl:param name="max-name-length" select="0"/>
+
+ <!-- True if we should compact this typedef -->
+ <xsl:variable name="compact"
+ select="not (para|description) and ($boost.compact.typedef='1')"/>
+
+ <xsl:choose>
+ <xsl:when test="$compact">
+ <!-- Spacing -->
+ <xsl:if test="not (local-name(preceding-sibling::*[position()=1])=local-name(.)) and (position() &gt; 1)">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+
+ <xsl:call-template name="type.typedef.display.aligned">
+ <xsl:with-param name="compact" select="$compact"/>
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="max-type-length" select="$max-type-length"/>
+ <xsl:with-param name="max-name-length" select="$max-name-length"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="type.typedef.display.aligned">
+ <xsl:with-param name="compact" select="$compact"/>
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="is-reference" select="false()"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Emit a typedef reference entry -->
+ <xsl:template match="typedef" mode="reference">
+ <!-- True if this typedef was compacted -->
+ <xsl:variable name="compact"
+ select="not (para|description) and ($boost.compact.typedef='1')"/>
+
+ <xsl:if test="not ($compact)">
+ <xsl:call-template name="reference-documentation">
+ <xsl:with-param name="refname" select="@name"/>
+ <xsl:with-param name="purpose" select="purpose/*|purpose/text()"/>
+ <xsl:with-param name="anchor">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="name">
+ <xsl:text>Type definition </xsl:text>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="@name"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="synopsis">
+ <xsl:call-template name="type.typedef.display.aligned">
+ <xsl:with-param name="compact" select="false()"/>
+ <xsl:with-param name="indentation" select="0"/>
+ <xsl:with-param name="is-reference" select="true()"/>
+ <xsl:with-param name="link-type" select="'none'"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <xsl:apply-templates select="description"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Emit a list of static constants -->
+ <xsl:template match="static-constant" mode="synopsis">
+ <xsl:param name="indentation"/>
+ <xsl:text>&#10;</xsl:text>
+
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text" select="'static const '"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text">
+ <xsl:apply-templates select="type/*|type/text()"/>
+ </xsl:with-param>
+ </xsl:call-template>
+
+ <xsl:if test="not(@name = '')">
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ </xsl:if>
+
+ <xsl:text> = </xsl:text>
+
+ <xsl:call-template name="source-highlight">
+ <xsl:with-param name="text">
+ <xsl:apply-templates select="default/*|default/text()"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>;</xsl:text>
+
+ <xsl:if test="purpose">
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text">
+ <xsl:text>// </xsl:text>
+ <xsl:apply-templates select="purpose" mode="comment"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Format base classes on a single line -->
+ <xsl:template name="print.base.classes.single">
+ <xsl:apply-templates select="inherit"/>
+ </xsl:template>
+
+ <xsl:template name="print.base.classes.multi">
+ <xsl:param name="indentation"/>
+
+ <xsl:variable name="n" select="count(inherit)"/>
+ <xsl:for-each select="inherit">
+ <!-- Indentation -->
+ <xsl:if test="position() &gt; 1">
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- Output the access specifier -->
+ <xsl:variable name="access">
+ <xsl:choose>
+ <xsl:when test="@access">
+ <xsl:value-of select="@access"/>
+ </xsl:when>
+ <xsl:when test="parent::class|parent::class-specialization">
+ <xsl:text>private</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>public</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="@access"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+
+ <!-- Output the type -->
+ <xsl:choose>
+ <xsl:when test="type">
+ <xsl:apply-templates select="type/*|type/text()" mode="annotation"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates mode="annotation"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <!-- Output a comma if not at the end -->
+ <xsl:if test="position() &lt; $n">
+ <xsl:text>,</xsl:text>
+ </xsl:if>
+
+ <!-- Output a comment if we have one -->
+ <xsl:if test="purpose">
+ <xsl:choose>
+ <xsl:when test="position() &lt; $n">
+ <xsl:text> </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text> </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text">
+ <xsl:text>// </xsl:text>
+ <xsl:apply-templates select="purpose/*|purpose/text()"
+ mode="annotation"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:if test="position() &lt; $n">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="print.base.classes">
+ <xsl:param name="indentation" select="0"/>
+ <xsl:param name="base-indentation" select="0"/>
+
+ <xsl:variable name="single-line-candidate" select="not(inherit/purpose)"/>
+ <xsl:variable name="single-line">
+ <xsl:if test="$single-line-candidate">
+ <xsl:call-template name="print.base.classes.single"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$single-line-candidate and
+ (string-length($single-line) + $indentation + 3
+ &lt; $pre.text.max.columns)">
+ <xsl:call-template name="print.base.classes.single"/>
+ <xsl:text> {</xsl:text>
+ </xsl:when>
+ <xsl:when test="$single-line-candidate and
+ (string-length($single-line) + $base-indentation + 5
+ &lt; $pre.text.max.columns)">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$base-indentation"/>
+ </xsl:call-template>
+ <xsl:text> : </xsl:text>
+ <xsl:call-template name="print.base.classes.single"/>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$base-indentation"/>
+ </xsl:call-template>
+ <xsl:text>{</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text> : </xsl:text>
+ <xsl:call-template name="print.base.classes.multi">
+ <xsl:with-param name="indentation" select="$indentation + 3"/>
+ </xsl:call-template>
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$base-indentation"/>
+ </xsl:call-template>
+ <xsl:text>{</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Emit a list of base classes without comments and on a single line -->
+ <xsl:template match="inherit">
+ <xsl:choose>
+ <xsl:when test="position()=1">
+ <xsl:text> : </xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>, </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="@access"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates mode="annotation">
+ <xsl:with-param name="highlight" select="true()"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <!-- Find the maximum length of the types in typedefs -->
+ <xsl:template name="find-max-type-length">
+ <xsl:param name="typedefs" select="typedef"/>
+ <xsl:param name="max-length" select="0"/>
+ <xsl:param name="want-name" select="false()"/>
+
+ <xsl:choose>
+ <xsl:when test="$typedefs">
+ <xsl:variable name="typedef" select="$typedefs[position()=1]"/>
+ <xsl:variable name="rest" select="$typedefs[position()!=1]"/>
+
+ <!-- Find the length of the type -->
+ <xsl:variable name="length">
+ <xsl:choose>
+ <xsl:when test="$typedef/@name != '...'">
+ <xsl:choose>
+ <xsl:when test="$want-name">
+ <xsl:value-of select="string-length($typedef/@name) + 1"/>
+ </xsl:when>
+ <xsl:when test="$typedef/@type">
+ <xsl:value-of select="string-length($typedef/@type)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string-length($typedef/type)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ 0
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Pass on the larger length -->
+ <xsl:choose>
+ <xsl:when test="$length &gt; $max-length">
+ <xsl:call-template name="find-max-type-length">
+ <xsl:with-param name="typedefs" select="$rest"/>
+ <xsl:with-param name="max-length" select="$length"/>
+ <xsl:with-param name="want-name" select="$want-name"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="find-max-type-length">
+ <xsl:with-param name="typedefs" select="$rest"/>
+ <xsl:with-param name="max-length" select="$max-length"/>
+ <xsl:with-param name="want-name" select="$want-name"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$max-length"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="constructor" mode="synopsis">
+ <xsl:param name="indentation"/>
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="context" select="../@name"/>
+ <xsl:with-param name="is-reference" select="false()"/>
+ <xsl:with-param name="constructor-for" select="../@name"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="copy-assignment" mode="synopsis">
+ <xsl:param name="indentation"/>
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="context" select="../@name"/>
+ <xsl:with-param name="is-reference" select="false()"/>
+ <xsl:with-param name="copy-assign-for" select="../@name"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template match="destructor" mode="synopsis">
+ <xsl:param name="indentation"/>
+ <xsl:call-template name="function">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="context" select="../@name"/>
+ <xsl:with-param name="is-reference" select="false()"/>
+ <xsl:with-param name="destructor-for" select="../@name"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="class-type-synopsis">
+ <xsl:param name="indentation" select="0"/>
+
+ <!-- The keyword used to declare this class type, e.g., class,
+ struct, or union. -->
+ <xsl:variable name="class-key">
+ <xsl:call-template name="type.class.key"/>
+ </xsl:variable>
+
+ <xsl:if test="ancestor::class|ancestor::class-specialization|
+ ancestor::struct|ancestor::struct-specialization|
+ ancestor::union|ancestor::union-specialization">
+ <xsl:text>&#10;&#10;</xsl:text>
+
+ <!-- If this nested class has a "purpose" element, use it as a
+ comment. -->
+ <xsl:if test="purpose">
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text">
+ <xsl:text>// </xsl:text>
+ <xsl:apply-templates select="purpose" mode="comment"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+ </xsl:if>
+
+ <!-- Template header -->
+ <xsl:if test="template">
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="template" mode="reference">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:apply-templates>
+ </xsl:if>
+ <xsl:text>&#10;</xsl:text>
+
+ <!-- Class name -->
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="$class-key"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:apply-templates select="specialization"/>
+
+ <xsl:choose>
+ <xsl:when test="inherit">
+ <!-- Base class list (with opening brace) -->
+ <xsl:call-template name="print.base.classes">
+ <xsl:with-param name="indentation"
+ select="string-length($class-key) + string-length(@name)
+ + $indentation + 1"/>
+ <xsl:with-param name="base-indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Opening brace -->
+ <xsl:text> {</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <!-- Public designator -->
+ <xsl:if test="contains(local-name(.), 'class')">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="'public'"/>
+ </xsl:call-template>
+ <xsl:text>:</xsl:text>
+ </xsl:if>
+
+ <!-- Typedefs -->
+ <xsl:if test="typedef">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text" select="'// types'"/>
+ </xsl:call-template>
+
+ <xsl:variable name="max-type-length">
+ <xsl:call-template name="find-max-type-length"/>
+ </xsl:variable>
+ <xsl:variable name="max-name-length">
+ <xsl:call-template name="find-max-type-length">
+ <xsl:with-param name="want-name" select="true()"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:apply-templates select="typedef" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ <xsl:with-param name="max-type-length"
+ select="$max-type-length"/>
+ <xsl:with-param name="max-name-length"
+ select="$max-name-length"/>
+ </xsl:apply-templates>
+ </xsl:if>
+
+ <!-- Static constants -->
+ <xsl:if test="static-constant">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:if test="typedef">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:call-template>
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text" select="'// static constants'"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="static-constant" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+ </xsl:if>
+
+ <!-- Nested classes/structs/unions -->
+ <xsl:apply-templates select="class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization"
+ mode="reference">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Enums -->
+ <xsl:apply-templates select="enum" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Construct/Copy/Destruct -->
+ <xsl:call-template name="construct-copy-destruct-synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:call-template>
+
+ <!-- Member functions -->
+ <xsl:apply-templates
+ select="method-group|method|overloaded-method"
+ mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Data members -->
+ <xsl:apply-templates select="data-member" mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation + 2"/>
+ </xsl:apply-templates>
+
+ <!-- Closing brace -->
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <xsl:text>};</xsl:text>
+ </xsl:template>
+
+ <!-- Emit nested class reference documentation -->
+ <xsl:template match="class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization" mode="reference">
+ <xsl:param name="indentation"/>
+
+ <xsl:call-template name="class-type-synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- Emit namespace-level class reference documentation -->
+ <xsl:template match="class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization" mode="namespace-reference">
+ <xsl:param name="indentation" select="0"/>
+
+ <xsl:call-template name="separator"/>
+ <xsl:call-template name="reference-documentation">
+ <xsl:with-param name="refname">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="purpose" select="purpose/*|purpose/text()"/>
+ <xsl:with-param name="anchor">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="name">
+ <xsl:call-template name="type.display.name"/>
+ </xsl:with-param>
+ <xsl:with-param name="synopsis">
+ <xsl:call-template name="class-type-synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ <!-- Associated free functions -->
+ <xsl:apply-templates select="ancestor-or-self::*/free-function-group"
+ mode="synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="class" select="@name"/>
+ </xsl:apply-templates>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <!-- Paragraphs go into the top of the "Description" section. -->
+ <xsl:if test="para">
+ <xsl:message>
+ <xsl:text>Warning: Use of 'para' elements in 'class' element is deprecated.&#10;Wrap them in a 'description' element.</xsl:text>
+ </xsl:message>
+ <xsl:call-template name="print.warning.context"/>
+ <xsl:apply-templates select="para" mode="annotation"/>
+ </xsl:if>
+ <xsl:apply-templates select="description"/>
+
+ <xsl:call-template name="construct-copy-destruct-reference"/>
+
+ <xsl:apply-templates
+ select="method-group|method|overloaded-method"
+ mode="reference"/>
+
+ <!-- Emit reference docs for nested classes -->
+ <xsl:apply-templates
+ select="class|class-specialization|
+ struct|struct-specialization|
+ union|union-specialization"
+ mode="namespace-reference"/>
+
+ <!-- Emit reference docs for nested enums -->
+ <xsl:apply-templates
+ select="enum"
+ mode="namespace-reference"/>
+
+ <xsl:apply-templates select="free-function-group" mode="reference">
+ <xsl:with-param name="class" select="@name"/>
+ </xsl:apply-templates>
+
+ <!-- Specializations of this class -->
+ <!-- TBD: fix this. We should key off the class name and match
+ fully-qualified names -->
+ <xsl:variable name="name" select="@name"/>
+ <xsl:if test="local-name(.)='class' and
+ ../class-specialization[@name=$name]">
+ <refsect2>
+ <title>Specializations</title>
+ <itemizedlist>
+ <xsl:apply-templates
+ select="../class-specialization[@name=$name]"
+ mode="specialization-list"/>
+ </itemizedlist>
+ </refsect2>
+ </xsl:if>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!-- Output a link to a specialization -->
+ <xsl:template match="class-specialization|
+ struct-specialization|
+ union-specialization" mode="specialization-list">
+ <listitem>
+ <para>
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text">
+ <xsl:call-template name="type.display.name"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </para>
+ </listitem>
+ </xsl:template>
+
+ <!-- Data member synopsis -->
+ <xsl:template match="data-member" mode="synopsis">
+ <xsl:param name="indentation"/>
+
+ <xsl:choose>
+ <xsl:when test="ancestor::class|ancestor::class-specialization|
+ ancestor::struct|ancestor::struct-specialization|
+ ancestor::union|ancestor::union-specialization">
+
+ <!-- Spacing -->
+ <xsl:if
+ test="not(local-name(preceding-sibling::*[position()=1])=local-name(.))">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+
+ <!-- Indent -->
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+
+ <xsl:if test="@specifiers">
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="@specifiers"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ </xsl:if>
+
+ <xsl:apply-templates select="type/*|type/text()" mode="annotation"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>;</xsl:text>
+
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="global-synopsis">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Data member reference -->
+ <xsl:template match="data-member" mode="reference">
+ <xsl:choose>
+ <xsl:when test="ancestor::class|ancestor::class-specialization|
+ ancestor::struct|ancestor::struct-specialization|
+ ancestor::union|ancestor::union-specialization"/>
+ <xsl:otherwise>
+ <xsl:call-template name="global-reference"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- Enumeration synopsis -->
+ <xsl:template match="enum" mode="synopsis">
+ <xsl:param name="indentation"/>
+
+ <!-- Spacing -->
+ <xsl:if
+ test="(not (local-name(preceding-sibling::*[position()=1])=local-name(.))
+ and (position() &gt; 1)) or
+ not (para or description or not ($boost.compact.enum=1))">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+
+ <!-- Indent -->
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+
+ <xsl:choose>
+ <!-- When there is a detailed description, we only put the
+ declaration in the synopsis and will put detailed documentation
+ in either a <refentry/> or in class documentation. -->
+ <xsl:when test="para or description or not ($boost.compact.enum=1)">
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="'enum'"/>
+ </xsl:call-template>
+
+ <xsl:text> </xsl:text>
+
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="string(@name)"/>
+ <xsl:with-param name="higlhight" select="false()"/>
+ </xsl:call-template>
+ </xsl:when>
+ <!-- When there is no detailed description, we put the enum
+ definition within the synopsis. The purpose of the enum (if
+ available) is formatted as a comment prior to the
+ definition. This way, we do not create a separate block of text
+ for what is generally a very small amount of information. -->
+ <xsl:otherwise>
+ <xsl:if test="purpose">
+ <xsl:call-template name="highlight-comment">
+ <xsl:with-param name="text">
+ <xsl:text>// </xsl:text>
+ <xsl:apply-templates select="purpose/*|purpose/text()" mode="annotation"/>
+ </xsl:with-param>
+ </xsl:call-template>
+
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="'enum'"/>
+ </xsl:call-template>
+
+ <xsl:text> </xsl:text>
+
+ <xsl:call-template name="anchor">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="@name"/>
+ <xsl:with-param name="higlhight" select="false()"/>
+ </xsl:call-template>
+
+ <xsl:text> { </xsl:text>
+ <xsl:call-template name="type.enum.list.compact">
+ <xsl:with-param name="indentation"
+ select="$indentation + string-length(@name) + 8"/>
+ <xsl:with-param name="compact" select="true()"/>
+ </xsl:call-template>
+ <xsl:text> }</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>;</xsl:text>
+ </xsl:template>
+
+ <!-- Enumeration reference at namespace level -->
+ <xsl:template match="enum" mode="namespace-reference">
+ <xsl:if test="para or description or not ($boost.compact.enum=1)">
+ <xsl:call-template name="reference-documentation">
+ <xsl:with-param name="name">
+ <xsl:call-template name="type.display.name"/>
+ </xsl:with-param>
+ <xsl:with-param name="refname">
+ <xsl:call-template name="fully-qualified-name">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="purpose" select="purpose/*|purpose/text()"/>
+ <xsl:with-param name="anchor">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="synopsis">
+ <xsl:call-template name="type.enum.display"/>
+ </xsl:with-param>
+
+ <xsl:with-param name="text">
+ <!-- Paragraphs go into the top of the "Description" section. -->
+ <xsl:if test="para">
+ <xsl:message>
+ <xsl:text>Warning: Use of 'para' elements in 'enum' element is deprecated.&#10;Wrap them in a 'description' element.</xsl:text>
+ </xsl:message>
+ <xsl:call-template name="print.warning.context"/>
+ <xsl:apply-templates select="para" mode="annotation"/>
+ </xsl:if>
+ <xsl:apply-templates select="description"/>
+ <variablelist spacing="compact">
+ <xsl:apply-templates select="enumvalue" mode="reference"/>
+ </variablelist>
+ </xsl:with-param>
+
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Output an enumeration along with its values -->
+ <xsl:template name="type.enum.display">
+ <!-- Spacing -->
+ <xsl:if test="position() &gt; 1">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+
+ <xsl:text>&#10;</xsl:text>
+
+ <xsl:call-template name="highlight-keyword">
+ <xsl:with-param name="keyword" select="'enum'"/>
+ </xsl:call-template>
+
+ <!-- Header -->
+ <xsl:variable name="header" select="concat(' ', @name, ' { ')"/>
+ <xsl:value-of select="$header"/>
+
+ <!-- Print the enumeration values -->
+ <xsl:call-template name="type.enum.list.compact">
+ <xsl:with-param name="indentation" select="4 + string-length($header)"/>
+ </xsl:call-template>
+
+ <xsl:text> };</xsl:text>
+ </xsl:template>
+
+ <!-- List enumeration values in a compact form e.g.,
+ enum Name { value1 = foo, value2 = bar, ... };
+ This routine prints only the enumeration values; the caller is
+ responsible for printing everything outside the braces
+ (inclusive). -->
+ <xsl:template name="type.enum.list.compact">
+ <xsl:param name="indentation"/>
+ <xsl:param name="compact" select="false()"/>
+
+ <!-- Internal: The column we are on -->
+ <xsl:param name="column" select="$indentation"/>
+
+ <!-- Internal: The index of the current enumvalue
+ we're processing -->
+ <xsl:param name="pos" select="1"/>
+
+ <!-- Internal: a prefix that we need to print prior to printing
+ this value. -->
+ <xsl:param name="prefix" select="''"/>
+
+ <xsl:if test="not($pos &gt; count(enumvalue))">
+ <xsl:variable name="value" select="enumvalue[position()=$pos]"/>
+
+ <!-- Compute the string to be printed for this value -->
+ <xsl:variable name="result">
+ <xsl:value-of select="$prefix"/>
+ <xsl:value-of select="$value/attribute::name"/>
+
+ <xsl:if test="$value/default">
+ <xsl:text> = </xsl:text>
+ <xsl:value-of select="$value/default/*|$value/default/text()"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <!-- The column we will end on, assuming that this value fits on
+ this line -->
+ <xsl:variable name="end" select="$column + string-length($result)"/>
+
+ <!-- The column we will actually end on -->
+ <xsl:variable name="end2">
+ <xsl:choose>
+ <!-- If the enumeration value fits on this line, put it there -->
+ <xsl:when test="$end &lt; $pre.text.max.columns">
+ <xsl:value-of select="$end"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$indentation
+ + string-length($result)
+ - string-length($prefix)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:value-of select="$prefix"/>
+
+ <!-- If the enumeration value doesn't fit on this line,
+ put it on a new line -->
+ <xsl:if test="not($end &lt; $pre.text.max.columns)">
+ <xsl:text>&#10;</xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ </xsl:call-template>
+ </xsl:if>
+
+ <!-- If the enumeration value has a description, link it
+ to its description. -->
+ <xsl:choose>
+ <xsl:when test="($value/purpose or $value/description) and not($compact)">
+ <xsl:call-template name="internal-link">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id">
+ <xsl:with-param name="node" select="$value"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="$value/attribute::name"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$value/attribute::name"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <!-- If the enumeration value has a default,
+ print it. -->
+ <xsl:if test="$value/default">
+ <xsl:text> = </xsl:text>
+ <xsl:apply-templates
+ select="$value/default/*|$value/default/text()"/>
+ </xsl:if>
+
+ <!-- Recursively generate the rest of the enumeration list -->
+ <xsl:call-template name="type.enum.list.compact">
+ <xsl:with-param name="indentation" select="$indentation"/>
+ <xsl:with-param name="compact" select="$compact"/>
+ <xsl:with-param name="column" select="$end2"/>
+ <xsl:with-param name="pos" select="$pos + 1"/>
+ <xsl:with-param name="prefix" select="', '"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- Enumeration reference at namespace level -->
+ <xsl:template match="enumvalue" mode="reference">
+ <xsl:if test="purpose or description">
+ <varlistentry>
+ <term>
+ <xsl:call-template name="monospaced">
+ <xsl:with-param name="text" select="@name"/>
+ </xsl:call-template>
+ <!-- Note: the anchor must come after the text here, and not
+ before it; otherwise, FOP goes into an infinite loop. -->
+ <xsl:call-template name="anchor">
+ <xsl:with-param name="to">
+ <xsl:call-template name="generate.id"/>
+ </xsl:with-param>
+ <xsl:with-param name="text" select="''"/>
+ </xsl:call-template>
+ </term>
+ <listitem>
+ <xsl:apply-templates
+ select="purpose/*|purpose/text()|
+ description/*|description/text()"
+ mode="annotation"/>
+ </listitem>
+ </varlistentry>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/user-params.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/user-params.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
+ Copyright (c) 2007 Matias Capeletto
+
+ 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)
+ -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<!-- Deprecated, use project.root -->
+<xsl:param name="boost.root" select="'../../../..'"/>
+
+<!-- Deprecated, use project.header.root -->
+<xsl:param name="boost.header.root" select="'$boost.root'"/>
+
+
+<!--========================================================================
+ Html user parameters
+ These params control boostbook behaviour
+============================================================================
+
+Note: Paths can be absolute or relative to [build-dir]/html/
+Conventions:
+
+ .root : directory
+ .path : general file
+ .img : image file
+ .xml : xml file
+ .css : stylesheet
+ .show : boolean ('true' or 'false')
+ .type : enumerated options
+ -->
+
+
+<!-- project.root
+ =======================================================================
+ Path to the project root. This is the only parameter you have to change
+ if your project directory use the following structure:
+
+ {$project.root}/doc/style/html/main.css (Main stylesheet path)
+ {$project.root}/doc/style/html/conversion/docbook_to_quickbook.css
+ {$project.root}/doc/style/html/syntax.xml (Alternates syntax highlighting)
+ {$project.root}/doc/javascript/main.js (Boost Javascript API)
+ {$project.root}/doc/chapters.xml (NestedLinks chapters xml definition)
+
+ This element will not be needed in the future
+ {$project.root}/doc/style/html/images/callouts/{n}.png
+ -->
+<xsl:param name = "project.root"
+ select = "$boost.root" />
+
+<xsl:param name = "project.header.root"
+ select = "$boost.header.root" />
+
+<!-- css.stylesheet.root
+ =======================================================================
+ Path to the stylesheet root. Boostbook embrace a modular css approach.
+ The entry point of the stylesheet will be main.css, but other
+ alternate stylesheets can be included
+ ( i.e. {$css.stylesheet.dir}/conversion/docbook_to_quickbook.css )
+ Boostbook produce style agnostic xhtml. The style depends only on
+ the main.css stylesheet. The banner, footer, admonitions, navigation
+ and callouts graphics are controlled by the stylesheet and can be
+ easily be change by editing it.
+
+ -->
+<xsl:param name = "css.stylesheet.root"
+ select = "concat($project.root,'/doc/style/html')" />
+
+<xsl:param name = "boostbook.main.css"
+ select = "concat($css.stylesheet.root,'/main.css')" />
+
+<xsl:param name = "quickbook.source.css"
+ select = "concat($css.stylesheet.root,'/conversion/boostbook_to_quickbook.css')" />
+
+
+<!-- javascript.root
+ =======================================================================
+ Directory with the javascript libraries used by boostbook.
+ It must contain:
+
+ {$javascript.root}/main.js (Boost Javascript API)
+ -->
+<xsl:param name = "javascript.root"
+ select = "concat($project.root,'/doc/javascript')" />
+
+
+<!-- page.style.type
+ =======================================================================
+ This parameter controls the general style of the html pages. It is
+ included for future changes. The only supported style now is 'standard'
+ -->
+<xsl:param name = "page.style.type"
+ select = "'standard'" />
+
+
+<!-- header.show
+ =======================================================================
+ Insert a banner with the project logo and navigation tools
+ -->
+<xsl:param name = "header.show"
+ select = "'true'" />
+
+
+<!-- chapters.select.box (.show & .xml & .root)
+ =======================================================================
+ Insert a select box in the banner that allows to jump between chapters.
+ The select box uses the NestedLinks javascript API to load the
+ available chapters from a xml definition file.
+ -->
+
+<xsl:param name = "chapters.select.box.show"
+ select = "'true'" />
+
+<xsl:param name = "chapters.select.box.xml"
+ select = "concat($project.root,'/doc/chapters.xml')" />
+
+<xsl:param name = "chapters.select.box.root"
+ select = "concat($project.root,'/libs')" />
+
+
+<!-- sections.select.box (.show & .xml & .root)
+ =======================================================================
+ Insert a select box in the banner that allows to jump between sections
+ of the current chapter.
+ -->
+
+<xsl:param name = "sections.select.box.show"
+ select = "'true'" />
+
+<xsl:param name = "sections.select.box.xml"
+ select = "'sections.xml'" />
+
+<xsl:param name = "sections.select.box.root"
+ select = "'./'" />
+
+<!-- google.search.box (.show & .xml)
+ =======================================================================
+ Insert a google search box in the banner. Boostbook use a linked cse
+ custom google search page controlled by the .xml definition.
+ -->
+
+<xsl:param name = "google.search.box.show"
+ select = "'true'" />
+
+<xsl:param name = "google.search.box.xml"
+ select = "'http://tinyurl.com/33np8c'" />
+
+
+<!-- ( top & bottom ) .navigation.bar.show
+ =======================================================================
+ Insert spirit navigations bars at the top and the bottom of the page
+ -->
+<xsl:param name = "top.navigation.bar.show"
+ select = "'true'" />
+
+<xsl:param name = "bottom.navigation.bar.show"
+ select = "'true'" />
+
+<!-- footer.show
+ =======================================================================
+ Insert a footer with copyright and validation information
+ -->
+<xsl:param name = "footer.show"
+ select = "'true'" />
+
+
+<!-- chapter.logo.img
+ =======================================================================
+ If defined, include the image pointed by chapter.logo.src in the first
+ page of the chapter.
+ -->
+<xsl:param name = "chapter.logo.img"
+ select = "''" />
+
+
+<!-- syntax.switcher ( .show & .xml & .root )
+ =======================================================================
+ Includes an alternate stylesheets for differents syntax highlighting
+ and adds buttons in the corners of code blocks.
+ -->
+<xsl:param name = "syntax.switcher.show"
+ select = "'true'" />
+
+<xsl:param name = "syntax.switcher.xml"
+ select = "concat($css.stylesheet.root,'/syntax.xml')" />
+
+<xsl:param name = "syntax.switcher.root"
+ select = "$css.stylesheet.root" />
+
+
+<!-- quickbook.source.style.show
+ =======================================================================
+ Includes an alternate stylesheet that allows to see the page as
+ quickbook sources. Very useful in translations or when trying to learn
+ quickbook.
+ -->
+<xsl:param name = "quickbook.source.style.show"
+ select = "'true'" />
+
+
+
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/utility.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/utility.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <!-- Indent the current line xmlns="http://www.w3.org/1999/xhtml"-->
+ <xsl:template name="indent">
+ <xsl:param name="indentation"/>
+ <xsl:if test="$indentation > 0">
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="indent">
+ <xsl:with-param name="indentation" select="$indentation - 1"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/xhtml.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/xhtml.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"
+ xmlns="http://www.w3.org/1999/xhtml"
+ exclude-result-prefixes="rev"
+ version="1.0">
+
+ <!-- Import the HTML chunking stylesheet -->
+
+ <xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl"/>
+ <xsl:import
+ href="http://docbook.sourceforge.net/release/xsl/current/xhtml/math.xsl"/>
+
+
+ <xsl:import href="chunk-common.xsl"/>
+ <xsl:import href="docbook-layout.xsl"/>
+ <xsl:import href="admon.xsl"/>
+ <xsl:import href="xref.xsl"/>
+ <xsl:import href="relative-href.xsl"/>
+ <xsl:import href="callout.xsl"/>
+
+ <xsl:param name="admon.style"/>
+ <xsl:param name="admon.graphics">1</xsl:param>
+ <xsl:param name="html.stylesheet" select="'boostbook.css'"/>
+ <xsl:param name="navig.graphics" select="1"/>
+ <xsl:param name="navig.graphics.extension" select="'.png'"/>
+ <xsl:param name="chapter.autolabel" select="1"/>
+ <xsl:param name="css.decoration" select="0"/> <!-- [XHTML] -->
+ <xsl:param name="use.id.as.filename" select="1"/>
+ <xsl:param name="refentry.generate.name" select="0"/>
+ <xsl:param name="refentry.generate.title" select="1"/>
+ <xsl:param name="make.year.ranges" select="1"/>
+ <xsl:param name="generate.manifest" select="1"/>
+ <xsl:param name="generate.section.toc.level" select="3"/>
+ <xsl:param name="doc.standalone">false</xsl:param>
+ <xsl:param name="chunker.output.indent">yes</xsl:param>
+ <xsl:param name="toc.max.depth">2</xsl:param>
+ <xsl:param name="callout.graphics.number.limit">15</xsl:param>
+ <xsl:param name = "admon.graphics.path"
+ select = "concat($boost.root, '/doc/html/images/')"/>
+ <xsl:param name = "navig.graphics.path"
+ select = "concat($boost.root, '/doc/html/images/')"/>
+
+ <xsl:param name = "include.html.to.quickbook.stylesheet"
+ select = "'false'"/>
+
+
+
+ <xsl:param name="admon.style">
+ <!-- Remove the style. Let the CSS do the styling -->
+</xsl:param>
+
+<!-- Always have graphics -->
+<xsl:param name="admon.graphics" select="1"/>
+
+ <xsl:param name="generate.toc">
+appendix toc,title
+article/appendix nop
+article toc,title
+book toc,title
+chapter toc,title
+part toc,title
+preface toc,title
+qandadiv toc
+qandaset toc
+reference toc,title
+sect1 toc
+sect2 toc
+sect3 toc
+sect4 toc
+sect5 toc
+section toc
+set toc,title
+ </xsl:param>
+
+
+
+ <!-- We don't want refentry's to show up in the TOC because they
+ will merely be redundant with the synopsis. -->
+ <xsl:template match="refentry" mode="toc"/>
+
+
+<!-- ============================================================ -->
+
+<xsl:template name="include.alternate.stylesheet">
+ <xsl:param name="title" />
+ <xsl:param name="url" />
+ <xsl:param name="rel" select="'alternate stylesheet'" />
+ <link rel="{$rel}" type="text/css" title="{$title}">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target"
+ select="$url"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </link>
+</xsl:template>
+
+
+<xsl:template name="output.html.stylesheets">
+ <xsl:param name="stylesheets" select="''"/>
+
+ <xsl:choose>
+ <xsl:when test="contains($stylesheets, ' ')">
+ <link rel="stylesheet">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="substring-before($stylesheets, ' ')"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:if test="$html.stylesheet.type != ''">
+ <xsl:attribute name="type">
+ <xsl:value-of select="$html.stylesheet.type"/>
+ </xsl:attribute>
+ </xsl:if>
+ </link>
+ <xsl:call-template name="output.html.stylesheets">
+ <xsl:with-param name="stylesheets" select="substring-after($stylesheets, ' ')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$stylesheets != ''">
+ <link rel="stylesheet">
+ <xsl:attribute name="href">
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="$stylesheets"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:if test="$html.stylesheet.type != ''">
+ <xsl:attribute name="type">
+ <xsl:value-of select="$html.stylesheet.type"/>
+ </xsl:attribute>
+ </xsl:if>
+ </link>
+
+ <!-- Alternate styles -->
+
+ <xsl:call-template name="include.alternate.stylesheet">
+ <xsl:with-param name="title" select="'vs'" />
+ <xsl:with-param name="url" select="'style/syntax/vs.css'" />
+ <xsl:with-param name="rel" select="'stylesheet'" />
+ </xsl:call-template>
+
+ <xsl:call-template name="include.alternate.stylesheet">
+ <xsl:with-param name="title" select="'cw'" />
+ <xsl:with-param name="url" select="'style/syntax/cw.css'" />
+ </xsl:call-template>
+
+ <xsl:call-template name="include.alternate.stylesheet">
+ <xsl:with-param name="title" select="'bc'" />
+ <xsl:with-param name="url" select="'style/syntax/bc.css'" />
+ </xsl:call-template>
+
+ <xsl:call-template name="include.alternate.stylesheet">
+ <xsl:with-param name="title" select="'em'" />
+ <xsl:with-param name="url" select="'style/syntax/em.css'" />
+ </xsl:call-template>
+
+ <xsl:call-template name="include.alternate.stylesheet">
+ <xsl:with-param name="title" select="'kd'" />
+ <xsl:with-param name="url" select="'style/syntax/kd.css'" />
+ </xsl:call-template>
+
+ <xsl:call-template name="include.alternate.stylesheet">
+ <xsl:with-param name="title" select="'sc'" />
+ <xsl:with-param name="url" select="'style/syntax/sc.css'" />
+ </xsl:call-template>
+
+ <xsl:if test="$include.html.to.quickbook.stylesheet = 'true'">
+ <xsl:call-template name="include.alternate.stylesheet">
+ <xsl:with-param name="title" select="'Quickbook source'" />
+ <xsl:with-param name="url" select="'style/conversion/boostbook_to_quickbook.css'" />
+ </xsl:call-template>
+ </xsl:if>
+
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
+

Added: sandbox/boost_docs/trunk/tools/boostbook/xsl/xref.xsl
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/boostbook/xsl/xref.xsl 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<!--
+ 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)
+ -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:suwl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.UnwrapLinks"
+ xmlns="http://www.w3.org/1999/xhtml"
+ exclude-result-prefixes="suwl"
+ version="1.0">
+
+<!--
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/common/stripns.xsl"/>
+
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/xref.xsl"/>
+-->
+
+<xsl:template name="adjust-url">
+ <xsl:param name="target"/>
+ <xsl:param name="context" select="."/>
+
+ <xsl:choose>
+ <xsl:when test="contains($target, ':')">
+ <xsl:value-of select="$target"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="href.target.relative">
+ <xsl:with-param name="target" select="$target"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+
+</xsl:template>
+
+
+<xsl:template match="ulink" name="ulink">
+ <xsl:variable name="link">
+ <a>
+ <xsl:if test="@id">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@id"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:attribute name="href">
+ <xsl:call-template name="adjust-url">
+ <xsl:with-param name="target" select="@url"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <!--xsl:if test="$ulink.target != ''"> [XHTML]
+ <xsl:attribute name="target">
+ <xsl:value-of select="$ulink.target"/>
+ </xsl:attribute>
+ </xsl:if-->
+ <xsl:choose>
+ <xsl:when test="count(child::node())=0">
+ <xsl:value-of select="@url"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </a>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="function-available('suwl:unwrapLinks')">
+ <xsl:copy-of select="suwl:unwrapLinks($link)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$link"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+
+</xsl:stylesheet>

Added: sandbox/boost_docs/trunk/tools/quickbook/detail/actions.hpp
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/tools/quickbook/detail/actions.hpp 2007-06-25 14:35:23 EDT (Mon, 25 Jun 2007)
@@ -0,0 +1,701 @@
+/*=============================================================================
+ Copyright (c) 2002 2004 2006 Joel de Guzman
+ Copyright (c) 2004 Eric Niebler
+ http://spirit.sourceforge.net/
+
+ Use, modification and distribution is subject to 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)
+=============================================================================*/
+#if !defined(BOOST_SPIRIT_QUICKBOOK_ACTIONS_HPP)
+#define BOOST_SPIRIT_QUICKBOOK_ACTIONS_HPP
+
+#include <time.h>
+#include <map>
+#include <string>
+#include <vector>
+#include <stack>
+#include <algorithm>
+#include <boost/spirit/iterator/position_iterator.hpp>
+#include <boost/filesystem/operations.hpp>
+#include <boost/foreach.hpp>
+#include <boost/tuple/tuple.hpp>
+#include "../syntax_highlight.hpp"
+#include "./collector.hpp"
+#include "./template_stack.hpp"
+#include "./utils.hpp"
+
+#ifdef BOOST_MSVC
+// disable copy/assignment could not be generated, unreferenced formal params
+#pragma warning(disable : 4511 4512 4100)
+#endif
+
+namespace quickbook
+{
+ namespace fs = boost::filesystem;
+ typedef position_iterator<std::string::const_iterator> iterator;
+ typedef symbols<std::string> string_symbols;
+
+ struct actions;
+ extern tm* current_time; // the current time
+ extern tm* current_gm_time; // the current UTC time
+ extern bool debug_mode;
+ extern unsigned qbk_major_version;
+ extern unsigned qbk_minor_version;
+ extern unsigned qbk_version_n; // qbk_major_version * 100 + qbk_minor_version
+
+ // forward declarations
+ struct actions;
+ int parse(char const* filein_, actions& actor, bool ignore_docinfo = false);
+
+ struct error_action
+ {
+ // Prints an error message to std::cerr
+
+ void operator()(iterator first, iterator /*last*/) const;
+ };
+
+ struct phrase_action
+ {
+ // blurb, blockquote, preformatted, list_item,
+ // unordered_list, ordered_list
+
+ phrase_action(
+ collector& out,
+ collector& phrase,
+ std::string const& pre,
+ std::string const& post)
+ : out(out)
+ , phrase(phrase)
+ , pre(pre)
+ , post(post) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ collector& phrase;
+ std::string pre;
+ std::string post;
+ };
+
+ struct header_action
+ {
+ // Handles paragraph, h1, h2, h3, h4, h5, h6,
+
+ header_action(
+ collector& out,
+ collector& phrase,
+ std::string const& library_id,
+ std::string const& section_id,
+ std::string const& qualified_section_id,
+ std::string const& pre,
+ std::string const& post)
+ : out(out)
+ , phrase(phrase)
+ , library_id(library_id)
+ , section_id(section_id)
+ , qualified_section_id(qualified_section_id)
+ , pre(pre)
+ , post(post) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ collector& phrase;
+ std::string const& library_id;
+ std::string const& section_id;
+ std::string const& qualified_section_id;
+ std::string pre;
+ std::string post;
+ };
+
+ struct generic_header_action
+ {
+ // Handles h
+
+ generic_header_action(
+ collector& out,
+ collector& phrase,
+ std::string const& library_id,
+ std::string const& section_id,
+ std::string const& qualified_section_id,
+ int const& section_level)
+ : out(out)
+ , phrase(phrase)
+ , library_id(library_id)
+ , section_id(section_id)
+ , qualified_section_id(qualified_section_id)
+ , section_level(section_level) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ collector& phrase;
+ std::string const& library_id;
+ std::string const& section_id;
+ std::string const& qualified_section_id;
+ int const& section_level;
+ };
+
+ struct simple_phrase_action
+ {
+ // Handles simple text formats
+
+ simple_phrase_action(
+ collector& out
+ , std::string const& pre
+ , std::string const& post
+ , string_symbols const& macro)
+ : out(out)
+ , pre(pre)
+ , post(post)
+ , macro(macro) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ std::string pre;
+ std::string post;
+ string_symbols const& macro;
+ };
+
+ struct list_action
+ {
+ // Handles lists
+
+ typedef std::pair<char, int> mark_type;
+ list_action(
+ collector& out
+ , collector& list_buffer
+ , int& list_indent
+ , std::stack<mark_type>& list_marks)
+ : out(out)
+ , list_buffer(list_buffer)
+ , list_indent(list_indent)
+ , list_marks(list_marks) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ collector& list_buffer;
+ int& list_indent;
+ std::stack<mark_type>& list_marks;
+ };
+
+ struct list_format_action
+ {
+ // Handles list formatting and hierarchy
+
+ typedef std::pair<char, int> mark_type;
+ list_format_action(
+ collector& out
+ , int& list_indent
+ , std::stack<mark_type>& list_marks)
+ : out(out)
+ , list_indent(list_indent)
+ , list_marks(list_marks) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ int& list_indent;
+ std::stack<mark_type>& list_marks;
+ };
+
+ struct span
+ {
+ // Decorates c++ code fragments
+
+ span(char const* name, collector& out)
+ : name(name), out(out) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ char const* name;
+ collector& out;
+ };
+
+ struct unexpected_char
+ {
+ // Handles unexpected chars in c++ syntax
+
+ unexpected_char(collector& out)
+ : out(out) {}
+
+ void operator()(char) const;
+
+ collector& out;
+ };
+
+ struct anchor_action
+ {
+ // Handles anchors
+
+ anchor_action(collector& out)
+ : out(out) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ };
+
+ namespace
+ {
+ char const* quickbook_get_date = "__quickbook_get_date__";
+ char const* quickbook_get_time = "__quickbook_get_time__";
+ }
+
+ struct do_macro_action
+ {
+ // Handles macro substitutions
+
+ do_macro_action(collector& phrase)
+ : phrase(phrase) {}
+
+ void operator()(std::string const& str) const;
+ collector& phrase;
+ };
+
+ struct space
+ {
+ // Prints a space
+
+ space(collector& out)
+ : out(out) {}
+
+ void operator()(iterator first, iterator last) const;
+ void operator()(char ch) const;
+
+ collector& out;
+ };
+
+ struct pre_escape_back
+ {
+ // Escapes back from code to quickbook (Pre)
+
+ pre_escape_back(actions& escape_actions, std::string& save)
+ : escape_actions(escape_actions), save(save) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ actions& escape_actions;
+ std::string& save;
+ };
+
+ struct post_escape_back
+ {
+ // Escapes back from code to quickbook (Post)
+
+ post_escape_back(collector& out, actions& escape_actions, std::string& save)
+ : out(out), escape_actions(escape_actions), save(save) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ actions& escape_actions;
+ std::string& save;
+ };
+
+ typedef cpp_highlight<
+ span
+ , space
+ , string_symbols
+ , do_macro_action
+ , pre_escape_back
+ , post_escape_back
+ , actions
+ , unexpected_char
+ , collector>
+ cpp_p_type;
+
+ typedef python_highlight<
+ span
+ , space
+ , string_symbols
+ , do_macro_action
+ , pre_escape_back
+ , post_escape_back
+ , actions
+ , unexpected_char
+ , collector>
+ python_p_type;
+
+ struct code_action
+ {
+ // Does the actual syntax highlighing of code
+
+ code_action(
+ collector& out
+ , collector& phrase
+ , collector& temp
+ , std::string const& source_mode
+ , string_symbols const& macro
+ , actions& escape_actions)
+ : out(out)
+ , phrase(phrase)
+ , temp(temp)
+ , source_mode(source_mode)
+ , cpp_p(temp, macro, do_macro_action(temp), escape_actions)
+ , python_p(temp, macro, do_macro_action(temp), escape_actions)
+ {
+ }
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ collector& phrase;
+ collector& temp;
+ std::string const& source_mode;
+
+ cpp_p_type cpp_p;
+ python_p_type python_p;
+ };
+
+ struct inline_code_action
+ {
+ // Does the actual syntax highlighing of code inlined in text
+
+ inline_code_action(
+ collector& out
+ , collector& temp
+ , std::string const& source_mode
+ , string_symbols const& macro
+ , actions& escape_actions)
+ : out(out)
+ , source_mode(source_mode)
+ , temp(temp)
+ , cpp_p(temp, macro, do_macro_action(temp), escape_actions)
+ , python_p(temp, macro, do_macro_action(temp), escape_actions)
+ {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ std::string const& source_mode;
+ collector& temp;
+
+ cpp_p_type cpp_p;
+ python_p_type python_p;
+ };
+
+ struct raw_char_action
+ {
+ // Prints a single raw (unprocessed) char.
+ // Allows '<', '>'... etc.
+
+ raw_char_action(collector& phrase)
+ : phrase(phrase) {}
+
+ void operator()(char ch) const;
+ void operator()(iterator first, iterator /*last*/) const;
+
+ collector& phrase;
+ };
+
+ struct plain_char_action
+ {
+ // Prints a single plain char.
+ // Converts '<' to "&lt;"... etc See utils.hpp
+
+ plain_char_action(collector& phrase)
+ : phrase(phrase) {}
+
+ void operator()(char ch) const;
+ void operator()(iterator first, iterator /*last*/) const;
+
+ collector& phrase;
+ };
+
+ struct image_action
+ {
+ // Handles inline images
+
+ image_action(collector& phrase)
+ : phrase(phrase) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& phrase;
+ };
+
+ struct markup_action
+ {
+ // A generic markup action
+
+ markup_action(collector& phrase, std::string const& str)
+ : phrase(phrase), str(str) {}
+
+ template <typename T>
+ void operator()(T const&) const
+ {
+ phrase << str;
+ }
+
+ template <typename T>
+ void operator()(T const&, T const&) const
+ {
+ phrase << str;
+ }
+
+ collector& phrase;
+ std::string str;
+ };
+
+ struct break_action
+ {
+ // Handles line-breaks (DEPRECATED!!!)
+
+ break_action(collector& phrase)
+ : phrase(phrase) {}
+
+ void operator()(iterator f, iterator) const;
+
+ collector& phrase;
+ };
+
+ struct macro_identifier_action
+ {
+ // Handles macro identifiers
+
+ macro_identifier_action(quickbook::actions& actions)
+ : actions(actions) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ quickbook::actions& actions;
+ };
+
+ struct macro_definition_action
+ {
+ // Handles macro definitions
+
+ macro_definition_action(quickbook::actions& actions)
+ : actions(actions) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ quickbook::actions& actions;
+ };
+
+ struct template_body_action
+ {
+ // Handles template definitions
+
+ template_body_action(quickbook::actions& actions)
+ : actions(actions) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ quickbook::actions& actions;
+ };
+
+ struct do_template_action
+ {
+ // Handles template substitutions
+
+ do_template_action(quickbook::actions& actions)
+ : actions(actions) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ quickbook::actions& actions;
+ };
+
+ struct link_action
+ {
+ // Handles links (URL, XML refentry, function, class, member)
+
+ link_action(collector& phrase, char const* tag)
+ : phrase(phrase), tag(tag) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& phrase;
+ char const* tag;
+ };
+
+ struct variablelist_action
+ {
+ // Handles variable lists
+
+ variablelist_action(quickbook::actions& actions)
+ : actions(actions) {}
+
+ void operator()(iterator, iterator) const;
+
+ quickbook::actions& actions;
+ };
+
+ struct table_action
+ {
+ // Handles tables
+
+ table_action(quickbook::actions& actions)
+ : actions(actions) {}
+
+ void operator()(iterator, iterator) const;
+
+ quickbook::actions& actions;
+ };
+
+ struct start_row_action
+ {
+ // Handles table rows
+
+ start_row_action(collector& phrase, unsigned& span, std::string& header)
+ : phrase(phrase), span(span), header(header) {}
+
+ void operator()(char) const;
+ void operator()(iterator f, iterator) const;
+
+ collector& phrase;
+ unsigned& span;
+ std::string& header;
+ };
+
+ struct start_col_action
+ {
+ // Handles table columns
+
+ start_col_action(collector& phrase, unsigned& span)
+ : phrase(phrase), span(span) {}
+
+ void operator()(char) const;
+
+ collector& phrase;
+ unsigned& span;
+ };
+
+ struct end_col_action
+ {
+ end_col_action(collector& phrase, collector& temp_para)
+ : phrase(phrase), temp_para(temp_para) {}
+
+ void operator()(char) const;
+
+ collector& phrase;
+ collector& temp_para;
+ };
+
+ struct begin_section_action
+ {
+ // Handles begin page
+
+ begin_section_action(
+ collector& out
+ , collector& phrase
+ , std::string& library_id
+ , std::string& section_id
+ , int& section_level
+ , std::string& qualified_section_id)
+ : out(out)
+ , phrase(phrase)
+ , library_id(library_id)
+ , section_id(section_id)
+ , section_level(section_level)
+ , qualified_section_id(qualified_section_id) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ collector& phrase;
+ std::string& library_id;
+ std::string& section_id;
+ int& section_level;
+ std::string& qualified_section_id;
+ };
+
+ struct end_section_action
+ {
+ end_section_action(
+ collector& out
+ , int& section_level
+ , std::string& qualified_section_id)
+ : out(out)
+ , section_level(section_level)
+ , qualified_section_id(qualified_section_id) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ int& section_level;
+ std::string& qualified_section_id;
+ };
+
+ struct xinclude_action
+ {
+ // Handles XML includes
+ xinclude_action(collector& out_, quickbook::actions& actions_)
+ : out(out_), actions(actions_) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ quickbook::actions& actions;
+ };
+
+ struct include_action
+ {
+ // Handles QBK includes
+
+ include_action(quickbook::actions& actions_)
+ : actions(actions_) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ quickbook::actions& actions;
+ };
+
+ struct import_action
+ {
+ // Handles import of source code files (e.g. *.cpp *.py)
+ import_action(collector& out_, quickbook::actions& actions_)
+ : out(out_), actions(actions_) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ collector& out;
+ quickbook::actions& actions;
+ };
+
+ struct xml_author
+ {
+ // Handles xml author
+
+ xml_author(collector& out)
+ : out(out) {}
+
+ void operator()(std::pair<std::string, std::string> const& author) const;
+
+ collector& out;
+ };
+
+ struct xml_year
+ {
+ // Handles xml year
+
+ xml_year(collector& out)
+ : out(out) {}
+
+ void operator()(std::string const &year) const;
+
+ collector& out;
+ };
+
+ void pre(collector& out, quickbook::actions& actions, bool ignore_docinfo = false);
+ void post(collector& out, quickbook::actions& actions, bool ignore_docinfo = false);
+
+ struct phrase_to_string_action
+ {
+ phrase_to_string_action(std::string& out, collector& phrase)
+ : out(out) , phrase(phrase) {}
+
+ void operator()(iterator first, iterator last) const;
+
+ std::string& out;
+ collector& phrase;
+ };
+}
+
+#endif // BOOST_SPIRIT_QUICKBOOK_ACTIONS_HPP
+


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