$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: srajko_at_[hidden]
Date: 2007-05-25 14:02:53
Author: srajko
Date: 2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
New Revision: 4250
URL: http://svn.boost.org/trac/boost/changeset/4250
Log:
FileTemplate version 0.9
Added:
   sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk.py
      - copied, changed from r4247, /sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk
   sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2.py
      - copied, changed from r4225, /sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2
   sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/html/options.py
   sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/options.py
   sandbox/template_under_construction/$template_library$/options.py
   sandbox/template_under_construction/file_template/
   sandbox/template_under_construction/file_template/Jamfile.v2
   sandbox/template_under_construction/file_template/LICENSE_1_0.txt
   sandbox/template_under_construction/file_template/boost-build.jam
   sandbox/template_under_construction/file_template/libs/
   sandbox/template_under_construction/file_template/libs/file_template/
   sandbox/template_under_construction/file_template/libs/file_template/build/
   sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/
   sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/build.vcproj
   sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/doc.vcproj
   sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/example.vcproj
   sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/file_template.sln
   sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/test.vcproj
   sandbox/template_under_construction/file_template/libs/file_template/doc/
   sandbox/template_under_construction/file_template/libs/file_template/doc/Jamfile.v2
   sandbox/template_under_construction/file_template/libs/file_template/doc/file_template.qbk
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/boostbook.css
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/Thumbs.db   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/blank.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/caution.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/draft.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/home.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/important.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/next.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/note.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/prev.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/tip.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/toc-blank.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/toc-minus.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/toc-plus.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/up.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/warning.png   (contents, props changed)
   sandbox/template_under_construction/file_template/libs/file_template/doc/html/reference.css
   sandbox/template_under_construction/file_template/libs/file_template/doc/sandbox.qbk
   sandbox/template_under_construction/file_template/libs/file_template/doc/templates.qbk
   sandbox/template_under_construction/file_template/project-root.jam
Removed:
   sandbox/template_under_construction/$template_library$/libs/$template_library$/build/$template_library$.sln
   sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk
   sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2
Text files modified: 
   sandbox/template_under_construction/$template_library$/libs/$template_library$/build/vc8ide.py                |    13 ++                                      
   sandbox/template_under_construction/$template_library$/libs/$template_library$/build/vc8ide/doc.vcproj        |     2                                         
   sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk.py  |   170 +++++++++------------------------------ 
   sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2.py              |    47 ++++++++--                              
   sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/dox/$template_library$.hpp |     3                                         
   sandbox/template_under_construction/make_template.py                                                          |    76 ++++++++++++-----                       
   sandbox/template_under_construction/sandbox.py                                                                |    18 +++                                     
   7 files changed, 163 insertions(+), 166 deletions(-)
Deleted: sandbox/template_under_construction/$template_library$/libs/$template_library$/build/$template_library$.sln
==============================================================================
--- sandbox/template_under_construction/$template_library$/libs/$template_library$/build/$template_library$.sln	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
+++ (empty file)
@@ -1,37 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "build", "build.vcproj", "{$template_msvc_build_uuid$}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc", "doc.vcproj", "{$template_msvc_doc_uuid_}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example", "example.vcproj", "{$template_msvc_example_uuid_}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcproj", "{$template_msvc_test_uuid_}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		debug|Win32 = debug|Win32
-		release|Win32 = release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{$template_msvc_build_uuid$}.debug|Win32.ActiveCfg = debug|Win32
-		{$template_msvc_build_uuid$}.debug|Win32.Build.0 = debug|Win32
-		{$template_msvc_build_uuid$}.release|Win32.ActiveCfg = release|Win32
-		{$template_msvc_build_uuid$}.release|Win32.Build.0 = release|Win32
-		{$template_msvc_doc_uuid$}.debug|Win32.ActiveCfg = release|Win32
-		{$template_msvc_doc_uuid$}.debug|Win32.Build.0 = release|Win32
-		{$template_msvc_doc_uuid$}.release|Win32.ActiveCfg = release|Win32
-		{$template_msvc_doc_uuid$}.release|Win32.Build.0 = release|Win32
-		{$template_msvc_example_uuid$}.debug|Win32.ActiveCfg = debug|Win32
-		{$template_msvc_example_uuid$}.debug|Win32.Build.0 = debug|Win32
-		{$template_msvc_example_uuid$}.release|Win32.ActiveCfg = release|Win32
-		{$template_msvc_example_uuid$}.release|Win32.Build.0 = release|Win32
-		{$template_msvc_test_uuid$}.debug|Win32.ActiveCfg = debug|Win32
-		{$template_msvc_test_uuid$}.debug|Win32.Build.0 = debug|Win32
-		{$template_msvc_test_uuid$}.release|Win32.ActiveCfg = release|Win32
-		{$template_msvc_test_uuid$}.release|Win32.Build.0 = release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
Modified: sandbox/template_under_construction/$template_library$/libs/$template_library$/build/vc8ide.py
==============================================================================
--- sandbox/template_under_construction/$template_library$/libs/$template_library$/build/vc8ide.py	(original)
+++ sandbox/template_under_construction/$template_library$/libs/$template_library$/build/vc8ide.py	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -1,5 +1,10 @@
 # template script
 
+# Copyright 2007 Stjepan Rajko.
+# 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)
+
 if template.options.get_boolean('vc8ide', False):
 
     template.log_message('Processing MSVC 8.0 IDE template.')
@@ -9,11 +14,17 @@
 \t\t\t\tCleanCommandLine="bjam --v2 --clean ../../$(ProjectName) $(ConfigurationName)"
 """
 
+    _msvc_doc_build_command = """\t\t\t\tBuildCommandLine="cd ../../doc
bjam --v2 $(ConfigurationName)"
+\t\t\t\tReBuildCommandLine="cd ../../doc
bjam --v2 -a $(ConfigurationName)"
+\t\t\t\tCleanCommandLine="bjam --v2 --clean ../../$(ProjectName) $(ConfigurationName)"
+"""
+
     template.content_replacement(['.vcproj', '.sln'], '$template_msvc_build_uuid$', str(uuid.uuid4()))
     template.content_replacement(['.vcproj', '.sln'], '$template_msvc_doc_uuid$', str(uuid.uuid4()))
     template.content_replacement(['.vcproj', '.sln'], '$template_msvc_example_uuid$', str(uuid.uuid4()))
     template.content_replacement(['.vcproj', '.sln'], '$template_msvc_test_uuid$', str(uuid.uuid4()))
-    template.content_replacement(['.vcproj', '.sln'], '$template_msvc_build_command$', _msvc_build_command)
+    template.content_replacement(['.vcproj'], '$template_msvc_build_command$', _msvc_build_command)
+    template.content_replacement(['.vcproj'], '$template_msvc_doc_build_command$', _msvc_doc_build_command)
 
 else:
 
Modified: sandbox/template_under_construction/$template_library$/libs/$template_library$/build/vc8ide/doc.vcproj
==============================================================================
--- sandbox/template_under_construction/$template_library$/libs/$template_library$/build/vc8ide/doc.vcproj	(original)
+++ sandbox/template_under_construction/$template_library$/libs/$template_library$/build/vc8ide/doc.vcproj	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -23,7 +23,7 @@
 			>
                         <Tool
                                 Name="VCNMakeTool"
-$template_msvc_build_command$
+$template_msvc_doc_build_command$
                                 Output=""
                                 PreprocessorDefinitions="WIN32;NDEBUG"
                                 IncludeSearchPath=""
Deleted: sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk
==============================================================================
--- sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
+++ (empty file)
@@ -1,159 +0,0 @@
-[/ Copyright 2007 Stjepan Rajko. ]
-[/ 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) ]
-
-$template_start$
-[library $template_library$
-    [quickbook 1.4]
-    [version 0.1]
-    [authors $template_author_reversed$]
-    [copyright $template_year$ $template_author$]
-    [purpose Boost Sandbox Template]
-    [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])
-    ]
-]
-
-[section:overview Overview]
-
-[warning $template_Library$ is in very early stages of development.  At this point, it is likely
-[*not] a good starting point for a boost sandbox project.  The templates it generates have
-not been verified for adherence to Boost guidelines, and do some things that are
-inconsistent with current practices.]
-
-[section:introduction Introduction]
-
-$template_Library$ is template for Boost sandbox projects.  Given some information about the project
-(e.g., library name and author), it will generate the following:
-* a directory tree for the library
-* commonly used source, documentation and build files
-* projects for several IDEs (currently MSVC, with Xcode in the works)
-
-The content in the generated project contains this documentation, which describes how
-to use the template, and an implementation of a [classref boost::$template_library$::$template_library$
-class which does nothing].
-
-[endsect]
-
-[section:start Getting Started]
-To use the project created by $template_library$ fully, you will need a few things.
-
-[important Some parts of $template_library$ will not work with versions of Boost other than CVS HEAD]
-First of all, you should familiarize yourself with Boost.  A good starting point for this
-is [@http://www.boost.org/more/getting_started/index.html the getting started page].
-In particular, make sure you have installed a recent version of Boost, and have a working
-bjam executable.
-
-Second, you will need to download some additional tools to build the documentation.
-Instructions for this part can be found in the [@http://www.boost.org/doc/html/boostbook.html
-Boostbook documentation].  The projects generated by $template_library$ rely on xsltproc,
-DocBook XSL and DTD distributions, and Doxygen.  $template_library$ does not currently use
-Apache FOP.
-
-Finally, you will need access to the sandbox in the
-[@http://svn.boost.org/trac/boost/wiki/BoostSubversion Boost subversion].  Follow
-the directions in the [@http://svn.boost.org/trac/boost/wiki/BoostSubversion Boost subversion wiki].
-
-Once you have all this in place, go to the template-under-construction folder of the sandbox.
-Run the make_template.py script, and follow the instructions.  For example,
-the project used to build this documentation was created as follows:
-
-[python]
-
-    >>> import make_template
-    library name: (e.g., something_new): sandbox_template
-    library author[s]: (e.g., Yours Truly[,Yours D. NotTruly]): Stjepan Rajko
-
-Some other information that might come in handy as you start working on your project:
-
-* [@http://www.boost.org/more/lib_guide.htm#Directory_structure Boost library directory structure]
-* [@http://www.stack.nl/~dimitri/doxygen/commands.html Doxygen command reference]
-* [@http://www.boost-consulting.com/boost/tools/quickbook/doc/html/index.html Quickbook reference]
-
-[endsect]
-
-
-[section:bugs Known Bugs]
-
-[endsect]
-
-[section:license License]
-
-$template_qbk_copyright$
-
-[endsect]
-
-[endsect]
-
-[section:doxygen Doxygen Documentation]
-When Doxygen documentation is used with Boostbook, as far as I can tell
-only certain elements of the Doxygen documentation (such as class and function reference) can
-be included into the main documentation.  Other documentation generated by Doxygen (main and
-related pages, todo and bug lists, modules...) does not seem to be available.  The rationale
-for this, AFAICR from a list discussion e-mail I can't find any more, is to make the generated
-documentation close to a C++ standard proposal (but I might be way off here).
-
-However, it is possible to have Doxygen create its own HTML output and [@../doxygen/index.html link]
-to it from the main documentation.  While this will include everything Doxygen is configured
-to generate, please note that this is inconsistent with the documentation layouts of
-most recent Boost libraries.
-
-In any case, it is probaby unwise to include both the
-[@../doxygen/index.html verbatim generated Doxygen documentation] and the
-[link $template_library$.reference reference], which is what happens how.  $template_Library$
-should provide some options / alternatives.
-
-[endsect]
-
-[section:editing Editing the Templates]
-
-The template script is currently a very simple file relocator / processor.  It copies
-a template directory tree into a new location, renaming files where applicable
-and substituting the contents where specified.
-
-The following substitutions are defined on files of extensions '.hpp', '.cpp', '.v2', '.jam', '.qbk', '.vcproj', '.sln':
-[table Substitutions used by $template_library$
-    [[substitution template][substituted text]]
-    [[$template\_boost\_library$][The full Boost.Library name of the library]]
-    [[$template\_library$][The library name specified by the user]]
-    [[$template\_Library$][Capitalized library name]]
-    [[$template\_LIBRARY$][Uppercase library name]]
-    [[$template\_python\_copyright$][Python-style commented copyright block]]
-    [[$template\_cpp\_copyright$][C++-style commented copyright block]]
-    [[$template\_qbk\_copyright$][Copyright block with quickbook-style link]]
-    [[$template\_author\_reversed$][Bracketed list of authors, last name first]]
-    [[$template\_author$][list of authors, as specified by the user]]
-    [[$template\_year$][Current year]]
-    [[$template\_msvc\_build\_uuid$][Randomly generated UUID for MSVC build project]]
-    [[$template\_msvc\_doc\_uuid$][Randomly generated UUID for MSVC doc project]]
-    [[$template\_msvc\_example\_uuid$][Randomly generated UUID for MSVC example project]]
-    [[$template\_msvc\_test\_uuid$][Randomly generated UUID for MSVC test project]]
-    [[$template\_msvc\_build\_command$][bjam build commands used in MSVC projects]]
-]
-
-[tip The substitutions are applied exactly in the order specified, so
-substituted text can include substitution templates occuring later in the table
-(e.g., $template\_cpp\_copyright$ expands into text which includes $template\_author$).]
-
-[endsect]
-
-[section:examples Documentation Examples]
-This section has some examples of what you can do with documentation.  Refer to the source.
-
-[section:examples_inserting_code Inserting Code]
-
-Here is some code directly from an example:
-
-[c++]
-
-[import ../example/example.cpp]
-[$template_library$_example]
-
-[endsect]
-
-[endsect]
-
-[xinclude $template_library$_doxygen.xml]
\ No newline at end of file
Copied: sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk.py (from r4247, /sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk)
==============================================================================
--- /sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk	(original)
+++ sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/$template_library$.qbk.py	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -1,15 +1,19 @@
-[/ Copyright 2007 Stjepan Rajko. ]
-[/ 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) ]
+# template file
 
-$template_start$
-[library $template_library$
+# Copyright 2007 Stjepan Rajko.
+# 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)
+
+docs = template.options.get('docs')
+                     
+content="""
+[library $template_Library$
     [quickbook 1.4]
-    [version 0.1]
+    [version 0.01e-10]
     [authors $template_author_reversed$]
     [copyright $template_year$ $template_author$]
-    [purpose Boost Sandbox Template]
+    [purpose Doing nothing.]
     [license
         Distributed under the Boost Software License, Version 1.0.
         (See accompanying file LICENSE_1_0.txt or copy at
@@ -17,143 +21,53 @@
     ]
 ]
 
-[section:overview Overview]
+Welcome to the $template_Library$!  One day, it will perhaps be called
+$template_Boost_Library$. Until then, feel free to use it to do nothing.
 
-[warning $template_Library$ is in very early stages of development.  At this point, it is likely
-[*not] a good starting point for a boost sandbox project.  The templates it generates have
-not been verified for adherence to Boost guidelines, and do some things that are
-inconsistent with current practices.]
+[warning $template_Library$ is not an official Boost library.]
 
 [section:introduction Introduction]
 
-$template_Library$ is template for Boost sandbox projects.  Given some information about the project
-(e.g., library name and author), it will generate the following:
-* a directory tree for the library
-* commonly used source, documentation and build files
-* projects for several IDEs (currently MSVC, with Xcode in the works)
-
-The content in the generated project contains this documentation, which describes how
-to use the template, and an implementation of a [classref boost::$template_library$::$template_library$
-class which does nothing].
-
-[endsect]
-
-[section:start Getting Started]
-To use the project created by $template_library$ fully, you will need a few things.
-
-[important Some parts of $template_library$ will not work with versions of Boost other than CVS HEAD]
-First of all, you should familiarize yourself with Boost.  A good starting point for this
-is [@http://www.boost.org/more/getting_started/index.html the getting started page].
-In particular, make sure you have installed a recent version of Boost, and have a working
-bjam executable.
-
-Second, you will need to download some additional tools to build the documentation.
-Instructions for this part can be found in the [@http://www.boost.org/doc/html/boostbook.html
-Boostbook documentation].  The projects generated by $template_library$ rely on xsltproc,
-DocBook XSL and DTD distributions, and Doxygen.  $template_library$ does not currently use
-Apache FOP.
-
-Finally, you will need access to the sandbox in the
-[@http://svn.boost.org/trac/boost/wiki/BoostSubversion Boost subversion].  Follow
-the directions in the [@http://svn.boost.org/trac/boost/wiki/BoostSubversion Boost subversion wiki].
-
-Once you have all this in place, go to the template-under-construction folder of the sandbox.
-Run the make_template.py script, and follow the instructions.  For example,
-the project used to build this documentation was created as follows:
-
-[python]
-
-    >>> import make_template
-    library name: (e.g., something_new): sandbox_template
-    library author[s]: (e.g., Yours Truly[,Yours D. NotTruly]): Stjepan Rajko
-
-Some other information that might come in handy as you start working on your project:
-
-* [@http://www.boost.org/more/lib_guide.htm#Directory_structure Boost library directory structure]
-* [@http://www.stack.nl/~dimitri/doxygen/commands.html Doxygen command reference]
-* [@http://www.boost-consulting.com/boost/tools/quickbook/doc/html/index.html Quickbook reference]
+User, this is $template_Library$.  $template_Library$, this is the user.  Be nice to each other.
 
-[endsect]
-
-
-[section:bugs Known Bugs]
-
-[endsect]
-
-[section:license License]
-
-$template_qbk_copyright$
+[section:start Getting Started]
 
-[endsect]
+The $template_Library$ is located in the $template_library$ directory of the boost sandbox.
 
-[endsect]
+"""
+if docs!='qb':
+    content+="""
+You might also want to look at the [link $template_library$.reference reference].
 
-[section:doxygen Doxygen Documentation]
-When Doxygen documentation is used with Boostbook, as far as I can tell
-only certain elements of the Doxygen documentation (such as class and function reference) can
-be included into the main documentation.  Other documentation generated by Doxygen (main and
-related pages, todo and bug lists, modules...) does not seem to be available.  The rationale
-for this, AFAICR from a list discussion e-mail I can't find any more, is to make the generated
-documentation close to a C++ standard proposal (but I might be way off here).
-
-However, it is possible to have Doxygen create its own HTML output and [@../doxygen/index.html link]
-to it from the main documentation.  While this will include everything Doxygen is configured
-to generate, please note that this is inconsistent with the documentation layouts of
-most recent Boost libraries.
-
-In any case, it is probaby unwise to include both the
-[@../doxygen/index.html verbatim generated Doxygen documentation] and the
-[link $template_library$.reference reference], which is what happens how.  $template_Library$
-should provide some options / alternatives.
+"""
 
+content+="""
 [endsect]
 
-[section:editing Editing the Templates]
-
-The template script is currently a very simple file relocator / processor.  It copies
-a template directory tree into a new location, renaming files where applicable
-and substituting the contents where specified.
-
-The following substitutions are defined on files of extensions '.hpp', '.cpp', '.v2', '.jam', '.qbk', '.vcproj', '.sln':
-[table Substitutions used by $template_library$
-    [[substitution template][substituted text]]
-    [[$template\_boost\_library$][The full Boost.Library name of the library]]
-    [[$template\_library$][The library name specified by the user]]
-    [[$template\_Library$][Capitalized library name]]
-    [[$template\_LIBRARY$][Uppercase library name]]
-    [[$template\_python\_copyright$][Python-style commented copyright block]]
-    [[$template\_cpp\_copyright$][C++-style commented copyright block]]
-    [[$template\_qbk\_copyright$][Copyright block with quickbook-style link]]
-    [[$template\_author\_reversed$][Bracketed list of authors, last name first]]
-    [[$template\_author$][list of authors, as specified by the user]]
-    [[$template\_year$][Current year]]
-    [[$template\_msvc\_build\_uuid$][Randomly generated UUID for MSVC build project]]
-    [[$template\_msvc\_doc\_uuid$][Randomly generated UUID for MSVC doc project]]
-    [[$template\_msvc\_example\_uuid$][Randomly generated UUID for MSVC example project]]
-    [[$template\_msvc\_test\_uuid$][Randomly generated UUID for MSVC test project]]
-    [[$template\_msvc\_build\_command$][bjam build commands used in MSVC projects]]
-]
+[endsect]
+"""
+if docs=='qb+doxy':
+    content+="""
+[section:reference Reference]
 
-[tip The substitutions are applied exactly in the order specified, so
-substituted text can include substitution templates occuring later in the table
-(e.g., $template\_cpp\_copyright$ expands into text which includes $template\_author$).]
+The reference for this library is [@doxygen/index.html generated separately].
 
 [endsect]
 
-[section:examples Documentation Examples]
-This section has some examples of what you can do with documentation.  Refer to the source.
+"""
 
-[section:examples_inserting_code Inserting Code]
-
-Here is some code directly from an example:
-
-[c++]
-
-[import ../example/example.cpp]
-[$template_library$_example]
+content+="""
+[section:license License]
 
-[endsect]
+$template_qbk_copyright$
 
 [endsect]
+"""
+
+if docs=='qb+doxyref':
+    content+="""
+[xinclude $template_library$_doxygen.xml]
+"""
+
+template.submit_content(content)
 
-[xinclude $template_library$_doxygen.xml]
\ No newline at end of file
Deleted: sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2
==============================================================================
--- sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
+++ (empty file)
@@ -1,44 +0,0 @@
-# Copyright 2007 Stjepan Rajko.
-# 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)
-
-$template_start$
-$template_python_copyright$
-
-project boost/$template_library$/doc ;
-
-import boostbook : boostbook ;
-using quickbook ;
-
-local loc = [ path.native [ path.pwd ] ] ;
-local root = [ path.native [ path.join [ path.pwd ] ../../.. ] ] ;
-
-doxygen $template_library$_doxygen
-   :
-      [ glob ../../../boost/$template_library$/*.hpp dox/*.hpp ]
-   :
-        <doxygen:param>EXAMPLE_PATH=../example
-        <doxygen:param>STRIP_FROM_PATH=$(root)
-        <doxygen:param>STRIP_FROM_INC_PATH=$(root)
-        <doxygen:param>EXTRACT_ALL=NO
-        <doxygen:param>HIDE_UNDOC_MEMBERS=NO
-        <doxygen:param>EXTRACT_PRIVATE=NO
-        <doxygen:param>DETAILS_AT_TOP=YES
-        <doxygen:param>GENERATE_HTML=YES
-        <doxygen:param>HTML_OUTPUT=$(loc)/html/doxygen
-        <doxygen:param>HTML_STYLESHEET=$(loc)/html/boostbook_doxygen.css
-        <doxygen:param>ENABLE_PREPROCESSING=YES
-        <doxygen:param>MACRO_EXPANSION=YES
-        <doxygen:param>SEARCH_INCLUDES=YES
-        <doxygen:param>INCLUDE_PATH=../../..
-        <doxygen:param>PREDEFINED=DOXYGEN_DOCS_ONLY
-   ;
-
-xml $template_library$_xml : $template_library$.qbk ;
-
-boostbook standalone
-   :
-      $template_library$_xml
-      $template_library$_doxygen
-   ;
Copied: sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2.py (from r4225, /sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2)
==============================================================================
--- /sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2	(original)
+++ sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/Jamfile.v2.py	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -1,9 +1,15 @@
+# template file
+
 # Copyright 2007 Stjepan Rajko.
 # 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)
 
-$template_start$
+docs = template.options.get('docs')
+doxygen = docs != 'qb'
+    
+
+content = """$template_start$
 $template_python_copyright$
 
 project boost/$template_library$/doc ;
@@ -14,6 +20,10 @@
 local loc = [ path.native [ path.pwd ] ] ;
 local root = [ path.native [ path.join [ path.pwd ] ../../.. ] ] ;
 
+xml $template_library$_xml : $template_library$.qbk ;"""
+
+if doxygen:
+    content += """
 doxygen $template_library$_doxygen
    :
       [ glob ../../../boost/$template_library$/*.hpp dox/*.hpp ]
@@ -25,20 +35,37 @@
         <doxygen:param>HIDE_UNDOC_MEMBERS=NO
         <doxygen:param>EXTRACT_PRIVATE=NO
         <doxygen:param>DETAILS_AT_TOP=YES
-        <doxygen:param>GENERATE_HTML=YES
-        <doxygen:param>HTML_OUTPUT=$(loc)/html/doxygen
-        <doxygen:param>HTML_STYLESHEET=$(loc)/html/boostbook_doxygen.css
         <doxygen:param>ENABLE_PREPROCESSING=YES
         <doxygen:param>MACRO_EXPANSION=YES
         <doxygen:param>SEARCH_INCLUDES=YES
         <doxygen:param>INCLUDE_PATH=../../..
-        <doxygen:param>PREDEFINED=DOXYGEN_DOCS_ONLY
-   ;
+        <doxygen:param>PREDEFINED=DOXYGEN_DOCS_ONLY"""
 
-xml $template_library$_xml : $template_library$.qbk ;
+    if docs=='qb+doxy':
+        content += """
+        <doxygen:param>GENERATE_HTML=YES
+        <doxygen:param>HTML_OUTPUT=$(loc)/html/doxygen
+        <doxygen:param>HTML_STYLESHEET=$(loc)/html/boostbook_doxygen.css"""
+    content +="""
+   ;
+"""
 
+content += """
 boostbook standalone
    :
-      $template_library$_xml
-      $template_library$_doxygen
-   ;
+      $template_library$_xml"""
+if (doxygen):
+    content+="""
+      $template_library$_doxygen"""
+
+content +="""
+    :
+        <xsl:param>chunk.first.sections=1
+        <xsl:param>chunk.section.depth=3
+        <xsl:param>toc.section.depth=3
+        <xsl:param>toc.max.depth=3
+        <xsl:param>generate.section.toc.level=3
+    ;
+"""
+
+template.submit_content(content)
Modified: sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/dox/$template_library$.hpp
==============================================================================
--- sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/dox/$template_library$.hpp	(original)
+++ sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/dox/$template_library$.hpp	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -14,6 +14,9 @@
 
 It includes things such as a \ref page_related, modules/groups, automatically
 generated \ref todo and \ref bug.
+
+\include example.cpp
+
 */
 
 /** \page page_related Related Page
Added: sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/html/options.py
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/html/options.py	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,11 @@
+# template script
+
+# Copyright 2007 Stjepan Rajko.
+# 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)
+
+docs = template.options.get('docs')
+
+if docs != 'qb+doxy':
+    template.ignore_subfile('boostbook_doxygen.css')
Added: sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/options.py
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/$template_library$/libs/$template_library$/doc/options.py	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,11 @@
+# template script
+
+# Copyright 2007 Stjepan Rajko.
+# 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)
+
+docs = template.options.get('docs')
+
+if docs != 'qb+doxy':
+    template.ignore_subdirectory('dox')
Added: sandbox/template_under_construction/$template_library$/options.py
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/$template_library$/options.py	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,8 @@
+# template script
+
+# Copyright 2007 Stjepan Rajko.
+# 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)
+
+template.options.get('docs', re.compile(r'(qb|qb\+doxyref|qb\+doxy)$'), 'qb+doxyref')
Added: sandbox/template_under_construction/file_template/Jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/Jamfile.v2	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,13 @@
+# Copyright 2007 Stjepan Rajko.
+# 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)
+
+
+use-project boost
+   : $(BOOST_ROOT)
+   ;
+   
+project boost/file_template
+   : build-dir bin.v2
+   ;
\ No newline at end of file
Added: sandbox/template_under_construction/file_template/LICENSE_1_0.txt
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/LICENSE_1_0.txt	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
Added: sandbox/template_under_construction/file_template/boost-build.jam
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/boost-build.jam	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,11 @@
+# Copyright 2007 Stjepan Rajko.
+# 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)
+
+
+# Set the BOOST_ROOT environment variable on your command-line or in the 
+# environment to point at the root of your regular Boost installation.
+
+JAMFILE = [Jj]amfile.v2 ;
+boost-build $(BOOST_ROOT)/tools/build/v2 ;
\ No newline at end of file
Added: sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/build.vcproj
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/build.vcproj	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="build"
+	ProjectGUID="{F9A76F13-0A39-439C-8EC2-28F72C1F3E7C}"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="debug|Win32"
+			OutputDirectory="..\..\..\..\bin.v2\libs\$(SolutionName)\$(ProjectName)\msvc-8.0\$(ConfigurationName)\threading-multi"
+			IntermediateDirectory="$(OutDir)"
+			ConfigurationType="0"
+			>
+			<Tool
+				Name="VCNMakeTool"
+				BuildCommandLine="bjam --v2 ../../$(ProjectName) $(ConfigurationName)"
+				ReBuildCommandLine="bjam --v2 -a ../../$(ProjectName) $(ConfigurationName)"
+				CleanCommandLine="bjam --v2 --clean ../../$(ProjectName) $(ConfigurationName)"
+				Output=""
+				PreprocessorDefinitions=""
+				IncludeSearchPath=""
+				ForcedIncludes=""
+				AssemblySearchPath=""
+				ForcedUsingAssemblies=""
+				CompileAsManaged=""
+			/>
+		</Configuration>
+		<Configuration
+			Name="release|Win32"
+			OutputDirectory="..\..\..\..\bin.v2\libs\$(SolutionName)\$(ProjectName)\msvc-8.0\$(ConfigurationName)\threading-multi"
+			IntermediateDirectory="$(OutDir)"
+			ConfigurationType="0"
+			>
+			<Tool
+				Name="VCNMakeTool"
+				BuildCommandLine="bjam --v2 ../../$(ProjectName) $(ConfigurationName)"
+				ReBuildCommandLine="bjam --v2 -a ../../$(ProjectName) $(ConfigurationName)"
+				CleanCommandLine="bjam --v2 --clean ../../$(ProjectName) $(ConfigurationName)"
+				Output=""
+				PreprocessorDefinitions=""
+				IncludeSearchPath=""
+				ForcedIncludes=""
+				AssemblySearchPath=""
+				ForcedUsingAssemblies=""
+				CompileAsManaged=""
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="boost"
+			>
+			<File
+				RelativePath="..\..\..\..\boost\file_template.hpp"
+				>
+			</File>
+			<Filter
+				Name="file_template"
+				>
+				<File
+					RelativePath="..\..\..\..\boost\file_template\file_template.hpp"
+					>
+				</File>
+			</Filter>
+		</Filter>
+		<Filter
+			Name="solution build"
+			>
+			<File
+				RelativePath="..\..\..\..\boost-build.jam"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\..\Jamfile.v2"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\..\project-root.jam"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath="..\..\build\Jamfile.v2"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Added: sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/doc.vcproj
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/doc.vcproj	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="doc"
+	ProjectGUID="{F404C298-0B3D-4CED-A682-87C4220F1E8C}"
+	RootNamespace="doc"
+	Keyword="MakeFileProj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="release|Win32"
+			OutputDirectory="..\..\..\..\bin.v2\libs\$(SolutionName)\$(ProjectName)\msvc-8.0\$(ConfigurationName)\threading-multi"
+			IntermediateDirectory="$(OutDir)"
+			ConfigurationType="0"
+			>
+			<Tool
+				Name="VCNMakeTool"
+				BuildCommandLine="cd ../../doc
bjam --v2 $(ConfigurationName)"
+				ReBuildCommandLine="cd ../../doc
bjam --v2 -a $(ConfigurationName)"
+				CleanCommandLine="bjam --v2 --clean ../../$(ProjectName) $(ConfigurationName)"
+				Output=""
+				PreprocessorDefinitions="WIN32;NDEBUG"
+				IncludeSearchPath=""
+				ForcedIncludes=""
+				AssemblySearchPath=""
+				ForcedUsingAssemblies=""
+				CompileAsManaged=""
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			>
+			<File
+				RelativePath="..\..\doc\file_template.qbk"
+				>
+			</File>
+			<File
+				RelativePath="..\..\doc\sandbox.qbk"
+				>
+			</File>
+			<File
+				RelativePath="..\..\doc\templates.qbk"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath="..\..\doc\Jamfile.v2"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Added: sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/example.vcproj
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/example.vcproj	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="example"
+	ProjectGUID="{E1BA4C74-4266-4E31-A3B6-0B47A678EF89}"
+	RootNamespace="example"
+	Keyword="MakeFileProj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="debug|Win32"
+			OutputDirectory="..\..\..\..\bin.v2\libs\$(SolutionName)\$(ProjectName)\msvc-8.0\$(ConfigurationName)\threading-multi"
+			IntermediateDirectory="$(OutDir)"
+			ConfigurationType="0"
+			>
+			<Tool
+				Name="VCNMakeTool"
+				BuildCommandLine="bjam --v2 ../../$(ProjectName) $(ConfigurationName)"
+				ReBuildCommandLine="bjam --v2 -a ../../$(ProjectName) $(ConfigurationName)"
+				CleanCommandLine="bjam --v2 --clean ../../$(ProjectName) $(ConfigurationName)"
+				Output="$(OutDir)\example.exe"
+				PreprocessorDefinitions=""
+				IncludeSearchPath="..\../example"
+				ForcedIncludes=""
+				AssemblySearchPath=""
+				ForcedUsingAssemblies=""
+				CompileAsManaged=""
+			/>
+		</Configuration>
+		<Configuration
+			Name="release|Win32"
+			OutputDirectory="..\..\..\..\bin.v2\libs\$(SolutionName)\$(ProjectName)\msvc-8.0\$(ConfigurationName)\threading-multi"
+			IntermediateDirectory="$(OutDir)"
+			ConfigurationType="0"
+			>
+			<Tool
+				Name="VCNMakeTool"
+				BuildCommandLine="bjam --v2 ../../$(ProjectName) $(ConfigurationName)"
+				ReBuildCommandLine="bjam --v2 -a ../../$(ProjectName) $(ConfigurationName)"
+				CleanCommandLine="bjam --v2 --clean ../../$(ProjectName) $(ConfigurationName)"
+				Output="$(OutDir)\example.exe"
+				PreprocessorDefinitions=""
+				IncludeSearchPath=""
+				ForcedIncludes=""
+				AssemblySearchPath=""
+				ForcedUsingAssemblies=""
+				CompileAsManaged=""
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			>
+			<File
+				RelativePath="..\..\example\example.cpp"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath="..\..\example\Jamfile.v2"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Added: sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/file_template.sln
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/file_template.sln	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,19 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc", "doc.vcproj", "{F404C298-0B3D-4CED-A682-87C4220F1E8C}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		debug|Win32 = debug|Win32
+		release|Win32 = release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{F404C298-0B3D-4CED-A682-87C4220F1E8C}.debug|Win32.ActiveCfg = release|Win32
+		{F404C298-0B3D-4CED-A682-87C4220F1E8C}.debug|Win32.Build.0 = release|Win32
+		{F404C298-0B3D-4CED-A682-87C4220F1E8C}.release|Win32.ActiveCfg = release|Win32
+		{F404C298-0B3D-4CED-A682-87C4220F1E8C}.release|Win32.Build.0 = release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Added: sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/test.vcproj
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/build/vc8ide/test.vcproj	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="test"
+	ProjectGUID="{7EBE5B11-C955-4891-8371-C763E4381545}"
+	RootNamespace="test"
+	Keyword="MakeFileProj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="debug|Win32"
+			OutputDirectory="..\..\..\..\bin.v2\libs\$(SolutionName)\$(ProjectName)\msvc-8.0\$(ConfigurationName)\threading-multi"
+			IntermediateDirectory="$(OutDir)"
+			ConfigurationType="0"
+			>
+			<Tool
+				Name="VCNMakeTool"
+				BuildCommandLine="bjam --v2 ../../$(ProjectName) $(ConfigurationName)"
+				ReBuildCommandLine="bjam --v2 -a ../../$(ProjectName) $(ConfigurationName)"
+				CleanCommandLine="bjam --v2 --clean ../../$(ProjectName) $(ConfigurationName)"
+				Output=""
+				PreprocessorDefinitions=""
+				IncludeSearchPath=""
+				ForcedIncludes=""
+				AssemblySearchPath=""
+				ForcedUsingAssemblies=""
+				CompileAsManaged=""
+			/>
+		</Configuration>
+		<Configuration
+			Name="release|Win32"
+			OutputDirectory="..\..\..\..\bin.v2\libs\$(SolutionName)\$(ProjectName)\msvc-8.0\$(ConfigurationName)\threading-multi"
+			IntermediateDirectory="$(OutDir)"
+			ConfigurationType="0"
+			>
+			<Tool
+				Name="VCNMakeTool"
+				BuildCommandLine="bjam --v2 ../../$(ProjectName) $(ConfigurationName)"
+				ReBuildCommandLine="bjam --v2 -a ../../$(ProjectName) $(ConfigurationName)"
+				CleanCommandLine="bjam --v2 --clean ../../$(ProjectName) $(ConfigurationName)"
+				Output=""
+				PreprocessorDefinitions=""
+				IncludeSearchPath=""
+				ForcedIncludes=""
+				AssemblySearchPath=""
+				ForcedUsingAssemblies=""
+				CompileAsManaged=""
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			>
+			<File
+				RelativePath="..\..\test\test.cpp"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath="..\..\test\Jamfile.v2"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/Jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/doc/Jamfile.v2	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,24 @@
+# Copyright 2007 Stjepan Rajko.
+# 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)
+
+
+project boost/file_template/doc ;
+
+using quickbook ;
+
+local loc = [ path.native [ path.pwd ] ] ;
+local root = [ path.native [ path.join [ path.pwd ] ../../.. ] ] ;
+
+xml file_template_xml : file_template.qbk ;
+boostbook standalone
+   :
+      file_template_xml
+   :
+        <xsl:param>chunk.first.sections=1
+        <xsl:param>chunk.section.depth=3
+        <xsl:param>toc.section.depth=3
+        <xsl:param>toc.max.depth=3
+        <xsl:param>generate.section.toc.level=3
+    ;
\ No newline at end of file
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/file_template.qbk
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/doc/file_template.qbk	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,55 @@
+[library FileTemplate
+    [quickbook 1.4]
+    [version 0.9]
+    [authors [Rajko, Stjepan]]
+    [copyright 2007 Stjepan Rajko]
+    [purpose generates file and directory trees from templates]
+    [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])
+    ]
+]
+
+
+FileTemplate is a template processor for files and directories.  It provides a basic
+framework which makes producing templated dile/directory trees relatively easy.
+The philosophy of the framework is that simple things should be simple, and more
+complicated things should be doable relatively simply.  By being implemented in
+Python, and allowing template-specific python scripts in the template, FileTemplate
+has a pretty good degree of flexibility.
+
+FileTemplate is being developed for construction of seed projects for the Boost Sandbox.
+The [link filetemplate.sandbox sandbox] template, which is used for this purpose,
+is currently the only template developed using FileTemplate.
+
+* [link filetemplate.sandbox Learn more about using the sandbox template].
+* [link filetemplate.templates
+ Learn more about the FileTemplate system, using and and developing templates].
+
+[section:sandbox Boost sandbox template]
+
+[include sandbox.qbk]
+
+[endsect]
+
+[section:templates FileTemplate templates]
+
+[include templates.qbk]
+
+[endsect]
+
+[section:acknowledgements Acknowledgements]
+
+Thanks for Rene Rivera for his suggestions on the development of FileTemplate.
+
+[endsect]
+
+[section:license License]
+
+Copyright 2007 Stjepan Rajko.
+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])
+
+[endsect]
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/boostbook.css
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/doc/html/boostbook.css	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,538 @@
+/*=============================================================================
+    Copyright (c) 2004 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)
+=============================================================================*/
+
+/*=============================================================================
+    Body defaults
+=============================================================================*/
+
+    body 
+    {
+        margin: 1em;
+        font-family: sans-serif;
+    }
+
+/*=============================================================================
+    Paragraphs
+=============================================================================*/
+
+    p 
+    {
+        text-align: left;
+        font-size: 10pt; 
+        line-height: 1.15;
+    }
+
+/*=============================================================================
+    Program listings
+=============================================================================*/
+
+    /* Code on paragraphs */
+    p tt.computeroutput
+    {
+        font-size: 10pt;
+    }
+
+    pre.synopsis
+    {
+        font-size: 10pt;
+        margin: 1pc 4% 0pc 4%;
+        padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+    }
+
+    .programlisting, 
+    .screen
+    {
+        font-size: 10pt;
+        display: block;
+        margin: 1pc 4% 0pc 4%;
+        padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+    }
+
+/*=============================================================================
+    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% }
+
+/*=============================================================================
+    Author
+=============================================================================*/
+
+    h3.author 
+    { 
+        font-size: 100% 
+    }
+
+/*=============================================================================
+    Lists
+=============================================================================*/
+
+    li
+    {
+        font-size: 10pt;
+        line-height: 1.3;
+    }
+
+    /* Unordered lists */
+    ul 
+    {
+        text-align: left;
+    }
+
+    /* Ordered lists */
+    ol 
+    {
+        text-align: left;
+    }
+
+/*=============================================================================
+    Links
+=============================================================================*/
+
+    a
+    {
+        text-decoration: none; /* no underline */
+    }
+
+    a:hover
+    {
+        text-decoration: underline;
+    }
+
+/*=============================================================================
+    Spirit style navigation
+=============================================================================*/
+
+    .spirit-nav
+    {
+        text-align: right;
+    }
+
+    .spirit-nav a
+    {
+        color: white;
+        padding-left: 0.5em;
+    }
+
+    .spirit-nav img
+    {
+        border-width: 0px;
+    }
+
+/*=============================================================================
+    Table of contents
+=============================================================================*/
+
+    .toc
+    {
+       margin: 1pc 4% 0pc 4%;
+       padding: 0.1pc 1pc 0.1pc 1pc;
+       font-size: 10pt;
+       line-height: 1.15;
+    }
+
+    .toc-main
+    {
+     width: 600;
+	 text-align: center;
+       margin: 1pc 1pc 1pc 10%;
+       padding: 2pc 1pc 3pc 1pc;
+	 line-height: 0.1;
+    }
+
+    .boost-toc
+    {
+       float: right;
+       padding: 0.5pc;
+    }
+
+/*=============================================================================
+    Tables
+=============================================================================*/
+
+    .table-title, 
+    div.table p.title
+    {
+        margin-left: 4%;
+        padding-right: 0.5em; 
+        padding-left: 0.5em;
+    }
+
+    .informaltable table, 
+    .table table
+    {
+        width: 92%;
+        margin-left: 4%;
+        margin-right: 4%;
+    }
+
+    div.informaltable table, 
+    div.table table
+    {
+        padding: 4px;
+    }
+
+    /* Table Cells */
+    div.informaltable table tr td, 
+    div.table table tr td
+    {
+        padding: 0.5em;
+        text-align: left;
+    }
+
+    div.informaltable table tr th, 
+    div.table table tr th
+    {
+        padding: 0.5em 0.5em 0.5em 0.5em;
+        border: 1pt solid white;
+        font-size: 120%;
+    }
+
+/*=============================================================================
+    Blurbs
+=============================================================================*/
+
+    div.note,
+    div.tip,
+    div.important,
+    div.caution,
+    div.warning,
+    p.blurb
+    {
+        font-size: 10pt;
+        line-height: 1.2;
+        display: block;
+        margin: 1pc 4% 0pc 4%;
+        padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+    }
+
+    p.blurb img
+    {
+        padding: 1pt;
+    }
+
+/*=============================================================================
+    Variable Lists
+=============================================================================*/
+
+    span.term
+    {
+        font-weight: bold;
+        font-size: 10pt;
+    }
+
+    div.variablelist table tbody tr td
+    {
+        text-align: left;
+        vertical-align: top;
+        padding: 0em 2em 0em 0em;
+        font-size: 10pt;
+    }
+
+    div.variablelist table tbody tr td p
+    {
+        margin: 0em 0em 0.5em 0em;
+    }
+
+    /* Make the terms in definition lists bold */
+    div.variablelist dl dt
+    {
+        font-weight: bold;
+        font-size: 10pt;
+    }
+
+    div.variablelist dl dd
+    {
+        margin: 1em 0em 1em 2em;
+        font-size: 10pt;
+    }
+
+/*=============================================================================
+    Misc
+=============================================================================*/
+
+    /* Title of books and articles in bibliographies */
+    span.title
+    {
+        font-style: italic;
+    }
+
+    span.underline
+    {
+        text-decoration: underline;
+    }
+
+    span.strikethrough
+    {
+        text-decoration: line-through;
+    }
+
+    /* Copyright, Legal Notice */
+    div div.legalnotice p
+    {
+        font-size: 8pt;
+        text-align: left
+    }
+
+/*=============================================================================
+    Colors
+=============================================================================*/
+
+    @media screen
+    {
+        /* Links */
+        a
+        {
+            color: #0C7445;
+        }
+
+        a:visited
+        {
+            color: #663974;
+        }
+
+        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;
+        }
+
+        /* Syntax Highlighting */
+        .keyword        { color: #0000AA; }
+        .identifier     { color: #000000; }
+        .special        { color: #707070; }
+        .preprocessor   { color: #402080; }
+        .char           { color: teal; }
+        .comment        { color: #800000; }
+        .string         { color: teal; }
+        .number         { color: teal; }
+        .white_bkd      { background-color: #E8FBE9; }
+        .dk_grey_bkd    { background-color: #A0DAAC; }
+
+        /* Copyright, Legal Notice */
+        .copyright
+        { 
+            color: #666666; 
+            font-size: small; 
+        }
+
+        div div.legalnotice p
+        {
+            color: #666666;
+        }
+
+        /* Program listing */
+        pre.synopsis
+        {
+            border: 1px solid #DCDCDC;
+            border-bottom: 3px solid #9D9D9D;
+            border-right: 3px solid #9D9D9D;
+            background-color: #FAFFFB;
+        }
+
+        .programlisting, 
+        .screen
+        {
+            border: 1px solid #DCDCDC;
+            border-bottom: 3px solid #9D9D9D;
+            border-right: 3px solid #9D9D9D;
+            background-color: #FAFFFB;
+        }
+
+        /* Blurbs */
+        div.note,
+        div.tip,
+        div.important,
+        div.caution,
+        div.warning,
+        p.blurb
+        {
+            border: 1px solid #DCDCDC;
+            border-bottom: 3px solid #9D9D9D;
+            border-right: 3px solid #9D9D9D;
+            background-color: #FAFFFB;
+        }
+
+        /* Table of contents */
+        .toc
+        {
+            border: 1px solid #DCDCDC;
+            border-bottom: 3px solid #9D9D9D;
+            border-right: 3px solid #9D9D9D;
+            background-color: #FAFFFB;
+        }
+
+        /* Table of contents */
+        .toc-main
+        {
+            border: 1px solid #DCDCDC;
+            border-bottom: 3px solid #9D9D9D;
+            border-right: 3px solid #9D9D9D;
+            background-color: #FAFFFB;
+        }
+
+
+        /* Tables */
+        div.informaltable table tr td, 
+        div.table table tr td
+        {
+            border: 1px solid #DCDCDC;
+            background-color: #FAFFFB;
+        }
+
+        div.informaltable table tr th, 
+        div.table table tr th
+        {
+            background-color: #E3F9E4;
+            border: 1px solid #DCDCDC;
+        }
+
+        /* Misc */
+        span.highlight
+        {
+            color: #00A000;
+        }
+    }
+
+    @media print
+    {
+        /* Links */
+        a
+        {
+            color: black;
+        }
+
+        a:visited
+        {
+            color: black;
+        }
+
+        .spirit-nav
+        {
+            display: none;
+        }
+
+        /* Program listing */
+        pre.synopsis
+        {
+            border: 1px solid gray;
+            background-color: #FAFFFB;
+        }
+
+        .programlisting, 
+        .screen
+        {
+            border: 1px solid gray;
+            background-color: #FAFFFB;
+        }
+
+        /* Table of contents */
+        .toc
+        {
+            border: 1px solid #DCDCDC;
+            border-bottom: 3px solid #9D9D9D;
+            border-right: 3px solid #9D9D9D;
+            background-color: #FAFFFB;
+        }
+
+        /* Table of contents */
+        .toc-main
+        {
+            border: 1px solid #DCDCDC;
+            border-bottom: 3px solid #9D9D9D;
+            border-right: 3px solid #9D9D9D;
+            background-color: #FAFFFB;
+        }
+
+        .informaltable table, 
+        .table table
+        {
+            border: 1px solid #DCDCDC;
+            border-bottom: 3px solid #9D9D9D;
+            border-right: 3px solid #9D9D9D;
+            border-collapse: collapse;
+            background-color: #FAFFFB;
+        }
+
+        /* Tables */
+        div.informaltable table tr td, 
+        div.table table tr td
+        {
+            border: 1px solid #DCDCDC;
+            background-color: #FAFFFB;
+        }
+
+        div.informaltable table tr th, 
+        div.table table tr th
+        {
+            border: 1px solid #DCDCDC;
+            background-color: #FAFFFB;
+        }
+
+        /* Misc */
+        span.highlight
+        {
+            font-weight: bold;
+        }
+    }
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/Thumbs.db
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/blank.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/caution.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/draft.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/home.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/important.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/next.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/note.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/prev.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/tip.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/toc-blank.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/toc-minus.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/toc-plus.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/up.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/images/warning.png
==============================================================================
Binary file. No diff available.
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/html/reference.css
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/doc/html/reference.css	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,5 @@
+PRE.synopsis { 
+  background-color: #e0ffff;
+  border: thin solid blue;
+  padding: 1em
+}
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/sandbox.qbk
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/doc/sandbox.qbk	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,177 @@
+The sandbox template is a template for Boost sandbox projects.  Given some information about the project
+(e.g., library name and author), it will generate the following:
+
+* a directory tree for the library
+* commonly used source, documentation and build files
+* optionally, projects for several IDEs (currently MSVC, with Xcode in the works)
+
+The content in the generated project contains a fill-in-the-blanks documentation,
+and an implementation of a small class.
+
+If you'd like some more information,
+please read the [link filetemplate.sandbox.start Getting Started],
+[link filetemplate.sandbox.options Options], and
+[link filetemplate.sandbox.substitutions Substitution templates] sections.
+
+If you'd just like to try the sandbox template, go to the Boost subversion and type
+=sandbox/template-under-construction= directory and execute:
+
+[pre
+    >python make_template.py template=sandbox.py
+]
+
+The script will ask you some questions and create a seed project with the
+information you specified.
+
+
+[caution The sandbox template is in very early stages of development.  At this point, it is likely
+[*not] a good starting point for a boost sandbox project.  It has not been verified that
+the projects it generates adhere to Boost guidelines.]
+
+[section:start Getting Started]
+
+[important Some parts of the generated projects might not work with versions of Boost older
+than CVS HEAD.]
+
+To use the project created by the sandbox template fully, you will need a few things.
+
+First of all, you should familiarize yourself with Boost.  A good starting point for this
+is [@http://www.boost.org/more/getting_started/index.html the getting started page].
+In particular, make sure you have installed a recent version of Boost, and have a working
+bjam executable.
+
+Second, you will need to download some additional tools to build the documentation.
+Instructions for this part can be found in the
+[@http://www.boost.org/doc/html/boostbook.html Boostbook documentation].
+The projects generated by file_template rely on xsltproc,
+DocBook XSL and DTD distributions, and Doxygen.  The sandbox template does not currently use
+Apache FOP.  Here are some of the download links for your convenience:
+
+* [@http://sourceforge.net/project/showfiles.php?group_id=21935#files docbook xsl]
+* [@http://www.stack.nl/~dimitri/doxygen/download.html doxygen]
+
+[caution Make sure you download docbook-xsl and not docbook5-xsl.]
+
+Finally, you will need access to the sandbox in the
+[@http://svn.boost.org/trac/boost/wiki/BoostSubversion Boost subversion].  Follow
+the directions in the [@http://svn.boost.org/trac/boost/wiki/BoostSubversion Boost subversion wiki].
+
+Once you have all this in place, go to the template-under-construction folder of the sandbox.
+Run the make_template.py script, and follow the instructions.  For example,
+the project used to build this documentation was created as follows:
+
+[python]
+
+    python make_template.py
+    library name: (e.g., something_new): sandbox_template
+    library author[s]: (e.g., Yours Truly[,Yours D. NotTruly]): Stjepan Rajko
+
+You can also use the command line to specify the options.
+
+Some other information that might come in handy as you start working on your project:
+
+* [@http://www.boost.org/more/lib_guide.htm#Directory_structure Boost library directory structure]
+    - explains the suggested directory structure for Boost libraries.
+* [@http://www.stack.nl/~dimitri/doxygen/commands.html Doxygen command reference]
+    - if you'd like to use Doxygen.
+* [@http://www.boost-consulting.com/boost/tools/quickbook/doc/html/index.html Quickbook reference]
+    - syntax usable in quickbok =.qbk= documentation files.
+* [@http://docbook.sourceforge.net/release/xsl/current/doc/ Docbook XSL reference] - among other things, this specifies
+    parameters used in Jamfiles to customize the documentation generated through Quickbook/Docbook.
+
+[endsect]
+
+[section:options Options]
+
+The sandbox template allows the following options to be specified:
+
+[table Options used by the sandbox template
+    [[option][desctiption][default value]]
+    [[library][Name of the library]]
+    [[author][Comma separated list of authors]]
+    [[docs][[link filetemplate.sandbox.documentation Documentation format] - one of qb, qb+doxyref, qb+doxy][qb+doxyref]]
+    [[vc8ide][Specifies whether the IDE projects for MSVC 8.0 should be generated][n]]
+]
+
+For example, this project was started using the following command line:
+
+[pre
+    python make_template.py template=sandbox.py library=file_template "author=Stjepan Rajko" docs=qb vc8ide=y
+]
+
+For more information about template options, see the
+[link filetemplate.templates.options FileTemplate options] documentation.
+
+[endsect]
+
+[section:substitutions Substitution templates]
+ 
+The following substitutions are defined for file and directory names:
+[table File and directory name substitutions used by the sandbox template
+    [[substitution template][substituted text]]
+    [[$template\_library$][The library name specified by the user]]    
+]
+
+[table File content substitutions used by the sandbox template
+    [[substitution template][substituted text][extensions]]
+    [[$template\_library$][The library_name specified by the user][general]]
+    [[$template\_Library$][Capitalized Library Name][general]]
+    [[$template_LibraryConcat$][Concatenated, capitalized LibraryName][general]]
+    [[$template\_LIBRARY$][Uppercase LIBRARY_NAME][general]]
+    [[$template\_Boost\_Library$][The full Boost.Library Name name of the library][general]]
+    [[$template\_python\_copyright$][Python-style commented copyright block][.jam,.v2]]
+    [[$template\_cpp\_copyright$][C++-style commented copyright block][.hpp, .cpp]]
+    [[$template\_qbk\_copyright$][Copyright block with quickbook-style link][.qbk]]
+    [[$template\_author\_reversed$][Bracketed list of authors, last name first][general]]
+    [[$template\_author$][list of authors, as specified by the user][general]]
+    [[$template\_year$][Current year][general]]
+]
+
+[endsect]
+
+[section:documentation Documentation formats]
+The sandbox template supports multiple documentation formats, specified
+through the =docs= option. You can use:
+
+* =qb=: Quickbook / docbook documentation only
+* =qb+doxyref=: Quickbook / docbook documentation with a
+    reference section generated by Doxygen (default).
+* =qb+doxy=: Quickbook / docbook documentation with a link to the
+    entire HTML documentation generated by Doxygen.
+
+The first two options are the most consistent with the documentation format used in recent
+Boost libraries.
+
+[warning The =qb+doxy= option is a work in progress.  It has been added because it provides
+access to all documentation generated by Doxygen (main and
+related pages, todo and bug lists, modules...), and not just a subset of the reference.  At this
+moment, using this option generates two bodies of documentation which are not well connected
+visually and navigationally.  You should probably *not* use it]
+
+[endsect]
+
+[section:changes Proposed Changes]
+
+* the =author= option and template substitutions should be changed to =authors= to match the
+quickbook syntax
+
+* In the MSVC projects, the Rebuild action is mapped to a =bjam -a= invocation.  This causes
+all projects required to be rebuilt, and might not be the most common use case (i.e., if
+you want to rebuild the documentation, you most likely don't want to rebuild quickbook).
+It might be better to perform a clean followed by a build.  However, this has the downside
+of not being to be able to access =bjam -a= from the IDE.
+
+* The template directory structure should be revised.  Instead of invoking the template
+processor by specifying the template script, perhaps it would be better to specify the
+template root directory - which can hold the template script if one is necessary,
+and the actual template tree.
+
+* Destination directory should be specifiable.
+
+* Since the template processor now supports file-specific substitution templates,
+  most of the copyright templates should just be called $template\_copyright$.
+
+* the user-specified library name should be given in all lowercase - this should
+  be enforced.
+
+[endsect]
Added: sandbox/template_under_construction/file_template/libs/file_template/doc/templates.qbk
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/libs/file_template/doc/templates.qbk	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,246 @@
+The FileTemplate processor offers basic functionality when dealing with
+file / directory templates.  It copies
+a template directory tree into a new location, renaming files where applicable,
+substituting the contents where specified, and processing scripts embedded in
+the template tree.
+
+To get a general idea of how this is done, please read the
+[link filetemplate.templates.phases processing phases] documentation.
+
+To learn about creating new templates or extending existing templates,
+you should also read about
+[link filetemplate.templates.options options] and
+[link filetemplate.templates.substitutions substitution templates]
+
+
+[section:phases Processing phases]
+
+[section:invocation Invocation]
+The template processor first initializes [link filetemplate.templates.reference template class]
+object, which processes the template and can be used by the python scripts present
+in the template to customize the behavior of the template.
+
+Then, the template processor will invoke the startup script for the template,
+which is specified through the =template= [link filetemplate.templates.options option].
+The startup script gives the template processor any information
+it needs to know, and sets up
+[link filetemplate.templates.substitutions substitution templates] if applicable.
+
+The template processor will then
+[link filetemplate.templates.phases examine the template tree].
+
+[endsect]
+
+[section:examination Examination of the template tree]
+
+After the startup script has been executed, the template processor will
+perform a top-down traversal of the template tree.  By default, it will record
+the names of all directories and files located in the tree, which will then
+be copied / processed in the next phase.
+
+To customize what information is to be copied, and to specify additional
+customization possibilites (e.g., via [link filetemplate.templates.substitutions
+substitution templates]),
+template scripts may be inserted in the template tree.
+
+Template scripts are python files which begin with the following text on their first line:
+[python]
+
+    # template script
+
+Every script found during the transversal will be executed.  The script can
+interact with the template processor through the
+[link filetemplate.templates.reference template object].
+
+[endsect]
+
+[section:processing Producing the resulting file tree]
+Finally, the template processor will produce the resulting file tree from the template.
+Different kinds of files will be processed as follows:
+
+[h4 Verbatim file copies]
+A file for which no specific substitution templates are specified will be copied verbatim.
+
+[h4 Processed file content]
+A file for which at least one specific substitution template is specified will be processed
+for substitution templates and specific templates.
+
+[h4 Python generated file content]
+A file of the name /filename/=.py= can be used to generate the file /filename/.  To do so,
+it must begin with
+
+    # template file
+    
+When the script generates the content, it supplies it to the template processor via the
+`template.submit_content(content)` command (see the
+[link filetemplate.templates.reference template object] reference).
+
+[endsect]
+
+[endsect]
+
+[section:options Options]
+
+Options are used to fine-tune the behavior of the FileTemplate template processor as well
+as the behavior of the template.  The following options are used by the template processor
+(specific templates may use additional options):
+
+[table Options used by the FileTemplate template processor
+    [[option][desctiption][valid values][default value]]
+    [[template][Template-specific script][valid filename][]]
+    [[erase][Determines whether the template processor should erase the destination
+    directory tree if it already exists][y/n]]
+]
+
+Options can be specified at command-line via [~option=value] arguments.  If an option
+is not specified, and it has no default value, the user will be prompted for the value.
+
+This is the output of a sample session:
+
+[pre
+
+>python make_template.py [*template=sandbox.py] [*library=my_library]
+/--------------------
+| Executing template file sandbox.py...
+/
+/--------------------
+| Processing Boost Sandbox template.
+/
+[*author: [~John Doe]]
+/--------------------
+| Examining the template project tree...
+/
+$template_library$
+$template_library$\boost
+$template_library$\boost\$template_library$
+$template_library$\libs
+$template_library$\libs\$template_library$
+$template_library$\libs\$template_library$\build
+$template_library$\libs\$template_library$\doc
+$template_library$\libs\$template_library$\doc\html
+$template_library$\libs\$template_library$\doc\html\images
+$template_library$\libs\$template_library$\example
+$template_library$\libs\$template_library$\src
+$template_library$\libs\$template_library$\test
+Directory my_library already exists.
+[*erase: Erase it (please make sure you want to erase the entire directory tree rooted at my_library)? \[y/n\] [~y]]
+/--------------------
+| Erasing...
+/
+/--------------------
+| Creating file tree from template...
+/
+my_library\boost
+my_library\libs
+my_library\boost\my_library
+my_library\libs\my_library
+my_library\libs\my_library\build
+my_library\libs\my_library\doc
+my_library\libs\my_library\example
+my_library\libs\my_library\src
+my_library\libs\my_library\test
+my_library\libs\my_library\doc\html
+my_library\libs\my_library\doc\html\images
+]
+[endsect]
+
+[section:substitutions Substitution templates and special templates]
+
+[h4 Substitution templates]
+
+Substitution templates are the simplest form of template customization.  For specified file
+extensions, the template processor will replace each occurence of a substitution template
+with the substituted text.  For some examples, see
+the [link filetemplate.sandbox.substitutions substitutions] of the sandbox template.
+
+Substitution templates are divided into two categories - /specific/ and /general/.
+Specific substitution templates are only applied to
+specific file extensions.  General substitution templates are applied to any file
+extension that has [*at least one] specific substitution defined.  Files with no
+specific substitution templates will be copied verbatim.
+
+[tip Substitutions are applied in the order they are specified in the template scripts, so
+substituted text for one substitution template can include substitution templates
+specified after it. For example, in the sandbox template
+$template\_cpp\_copyright$ expands into text which includes $template\_author$.]
+
+[h4 Special templates]
+
+There are also /special/ templates, which are also applied whenever substitution templates
+are applied (i.e., for file extensions with at least one specific extension defined).
+The FileTemplate processor uses one special template:
+
+[table Special templates used by the FileTemplate template processor
+    [[special template][desctiption]]
+    [[$template\_start$][Everything up to the line of the file containing
+    the first occurrence of this special template will be ignored.]]
+]
+
+[endsect]
+
+[section:reference Template object reference]
+The template object contains several functions which can be used from template
+scripts to customize template behavior.
+
+The following examples quickly illustrate some of the use:
+
+To get a user-specified option:
+
+    docs = template.options.get('docs')
+
+To get a user-specified option verified against a regular expression and with a default value:
+
+    template.options.get('docs', re.compile(r'(qb|qb\+doxyref|qb\+doxy)$'), 'qb+doxyref')
+
+To get a boolean (y/n) user specified option with a default value:
+
+    template.options.get_boolean('vc8ide', False):
+
+To set up a substitution template for file names:
+
+    template.name_replacement('$template_library$', library_name)
+
+To set up a specific substitution template:
+
+    template.content_replacement(['.hpp', '.cpp'], '$template_created$', '// Created in $template_year$')
+
+To set up a general substitution template:
+
+    template.all_content_replacement('$template_year$', str(time.localtime().tm_year))
+
+To ignore (not process) an entire subdirectory in the same directory as the script:
+
+    template.ignore_subdirectory('vc8ide')
+
+To ignore (not process) a file in the same directory as the script:
+
+    template.ignore_subfile('boostbook_doxygen.css')
+
+To submit python-generated file content from a python template file:
+
+    content="""
+    This is a script-generated file."""
+    content += """
+    Yes it is."""
+    
+    template.submit_content(content)
+
+[endsect]
+
+[section:changes Proposed changes]
+
+* template.all\_content\_replacement should become template.general\_content\_replacement
+
+* a =no-scripts= option should be introduced to disallow processing of
+in-template scripts (in case a template
+should be copied verbatim with minor processing to make another template)
+
+* Add `template.ignore_directory` and `template.ignore_file` functions
+which can ignore a file/directory located
+in a directory other than the same directory as the script.
+This allows templates configured in a more centralized way.
+
+* The =erase= option should require the user to type =erase= for the value
+instead of =y=, just to be safe.
+
+[endsect]
\ No newline at end of file
Added: sandbox/template_under_construction/file_template/project-root.jam
==============================================================================
--- (empty file)
+++ sandbox/template_under_construction/file_template/project-root.jam	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -0,0 +1,9 @@
+# Copyright 2007 Stjepan Rajko.
+# 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 os ;
+
+path-constant BOOST_ROOT : [ os.environ BOOST_ROOT ] ;
\ No newline at end of file
Modified: sandbox/template_under_construction/make_template.py
==============================================================================
--- sandbox/template_under_construction/make_template.py	(original)
+++ sandbox/template_under_construction/make_template.py	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -25,29 +25,36 @@
         self.alnum = re.compile(r'\w+\Z')
 
     def verify (self, string, regexp):
-        if not regexp.match(string):
+        if regexp != None and not regexp.match(string):
             raise NameError, string + ' does not match ' + regexp.pattern
         return string
 
-    def make(self, option, value, regexp):
+    def make(self, option, value, prompt=None):
         if value==None:
-            value = raw_input(option + ' [ ' + regexp.pattern + ' ]: ')
+            if prompt==None:
+                prompt_text = option + ': '
+            else:
+                prompt_text = option + ': ' + prompt
+            value = raw_input(prompt_text)
+
         self.options[option] = value
         return value
 
-    def get(self, option, regexp, default=None):
+    def get(self, option, regexp=None, default=None, prompt=None):
         if self.options.has_key(option):
             # option has already been set
             return self.verify(self.options[option], regexp)
-        return self.verify(self.make(option, default, regexp), regexp)
+        return self.verify(self.make(option, default, prompt), regexp)
 
-    def get_boolean(self, option, default=None):
-        if default != None:
-            if default:
+    def get_boolean(self, option, default_bool=None, prompt=None):
+        if default_bool != None:
+            if default_bool:
                 default = 'y'
             else:
-                default = 'n'     
-        value = self.get(option, self.boolean, default)
+                default = 'n'
+        else:
+            default = None
+        value = self.get(option, self.boolean, default, prompt)
         return value=='y'
 
 # The Replacement class models a template replacement,
@@ -125,11 +132,19 @@
         fin.close()
         return content
 
-    def process_content(self, file_name):
-        if not template.content_replacements.matches(name):
-            return None
+    def submit_content(self, content):
+        self.__content__ = content
+
+    def process_content(self, file_name, python=False):
+        if python:
+            self.__content__ = ''
+            execfile(file_name + '.py')
+            content = self.__content__
+        else:
+            if not template.content_replacements.matches(name):
+                return None
+            content = self.read_content(file_name)
 
-        content = self.read_content(file_name)
         # only take the content from first $template_start$ on,
         # and convert all line breaks to '\n'
         discarded, sep, content = content.partition('$template_start$')
@@ -172,6 +187,7 @@
         for root, dirs, files in os.walk(directory):
             print root
             self.__dirs_clear__ = list()
+            self.__files_clear__ = list()
 
             for name in files:
                 pathname = (os.path.join(root, name))
@@ -187,12 +203,15 @@
                         sys.path.remove(os.path.abspath(root))
                         mod.do_smt()
                     elif content.startswith('# template file'):
-                        python_list.append(pathname)
+                        python_list.append(pathname[0:len(pathname)-3])
                     else:
                         file_list.append(pathname)
                 else:
                     file_list.append(pathname)
 
+            for name in self.__files_clear__:
+                file_list.remove(os.path.join(root, name))
+
             for name in dirs:
                 if name.startswith('.'):
                     self.ignore_subdirectory(name)
@@ -200,13 +219,21 @@
                 dirs.remove(name)
             for name in dirs:
                 directory_list.append( (os.path.join(root, name)) )
+            
 
         return directory_list, file_list, python_list
 
     def ignore_subdirectory(self, name):
-        self.__dirs_clear__.append(name)            
+        self.__dirs_clear__.append(name)
+
+    def ignore_subfile(self, name):
+        self.__files_clear__.append(name)
+        
+def set_content(name, content):
+    fout = open(name, "w")
+    fout.write(content)
+    fout.close()
 
-    
 # The main processing script.
 
 # template is a global variable accessible by template scripts.
@@ -228,8 +255,9 @@
 
 if os.path.exists(project_dir):
     print 'Directory ' + project_dir + ' already exists.'
-    do_erase = raw_input('Erase it (please make sure you want to erase the entire directory tree rooted at ' + project_dir + ')? [y/n] ')
-    if do_erase.lower().startswith('y'):
+    do_erase = template.options.get_boolean(
+        'erase', None, 'Erase it (please make sure you want to erase the entire directory tree rooted at ' + project_dir + ')? [y/n] ')
+    if do_erase:
         template.log_message('Erasing...')
         for root, dirs, files in os.walk(project_dir, topdown=False):
             for name in files:
@@ -247,13 +275,15 @@
     print new_name
     os.mkdir(new_name)
 
+for name in python_list:
+    new_name = template.replace_name(name)
+    content = template.process_content(name, True)
+    set_content(new_name, content)
+
 for name in file_list:
     new_name = template.replace_name(name)
     content = template.process_content(name)
     if content:
-        fout = open(new_name, "w")
-        fout.write(content)
-        fout.close()
-
+        set_content(new_name, content)
     else:
         shutil.copy(name, new_name)
Modified: sandbox/template_under_construction/sandbox.py
==============================================================================
--- sandbox/template_under_construction/sandbox.py	(original)
+++ sandbox/template_under_construction/sandbox.py	2007-05-25 14:02:50 EDT (Fri, 25 May 2007)
@@ -5,6 +5,17 @@
 template_dir = '$template_library$'
 
 library_name = template.options.get('library', template.options.alnum)
+# Copyright 2007 Stjepan Rajko.
+# 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)
+
+library_name_list = library_name.split("_")
+library_name_list_capitalized = list()
+for item in library_name_list[:]:
+    library_name_list_capitalized.append(item.capitalize())
+library_name_capitalized = ' '.join(library_name_list_capitalized)
+library_name_concat_capitalized = ''.join(library_name_list_capitalized)
 
 _copyright = """_COMMENT_Copyright $template_year$ $template_author$.
 _COMMENT_Distributed under the Boost Software License, Version 1.0. (See
@@ -25,11 +36,12 @@
     author_list = last_author
 
 template.name_replacement('$template_library$', library_name)
-                         
+
 template.all_content_replacement('$template_library$', library_name)
-template.all_content_replacement('$template_Library$', library_name.capitalize())
+template.all_content_replacement('$template_Library$', library_name_capitalized)
+template.all_content_replacement('$template_LibraryConcat$', library_name_concat_capitalized)
 template.all_content_replacement('$template_LIBRARY$', library_name.upper())
-template.all_content_replacement('$template_Boost_Library$', 'Boost.' + library_name.upper())
+template.all_content_replacement('$template_Boost_Library$', 'Boost.' + library_name_capitalized)
 template.content_replacement(['.v2', '.jam'], '$template_python_copyright$', _copyright.replace('_COMMENT_','# '))
 template.content_replacement(['.hpp', '.cpp'], '$template_cpp_copyright$', _copyright.replace('_COMMENT_','// '))
 template.content_replacement(['.qbk'], '$template_qbk_copyright$',(_copyright.replace('_COMMENT_',''))