Boost logo

Boost-Commit :

From: dgregor_at_[hidden]
Date: 2008-05-23 10:20:07


Author: dgregor
Date: 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
New Revision: 45679
URL: http://svn.boost.org/trac/boost/changeset/45679

Log:
Merge latest release branch into CMake release branch
Properties modified:
   branches/CMake/release/ (props changed)
Text files modified:
   branches/CMake/release/Jamroot | 2
   branches/CMake/release/boost/detail/sp_counted_base.hpp | 2
   branches/CMake/release/boost/foreach.hpp | 4 +-
   branches/CMake/release/boost/mpi/datatype.hpp | 32 ++++++++++++++++++++++---
   branches/CMake/release/boost/mpi/detail/mpi_datatype_cache.hpp | 45 +++++++++++++-----------------------
   branches/CMake/release/boost/version.hpp | 4 +-
   branches/CMake/release/configure | 41 +++++++++++++++++++++++++--------
   branches/CMake/release/libs/bimap/doc/bimap_and_boost.qbk | 4 +-
   branches/CMake/release/libs/date_time/xmldoc/buildinfo.xml | 2
   branches/CMake/release/libs/format/doc/format.html | 2
   branches/CMake/release/libs/interprocess/doc/interprocess.qbk | 6 ++--
   branches/CMake/release/libs/intrusive/doc/intrusive.qbk | 2
   branches/CMake/release/libs/mpi/doc/mpi.qbk | 2
   branches/CMake/release/libs/mpi/src/mpi_datatype_cache.cpp | 49 ++++++++++++++++++++++++++++++++++++++-
   branches/CMake/release/libs/numeric/conversion/doc/conversion.qbk | 2
   branches/CMake/release/libs/optional/doc/optional.qbk | 2
   branches/CMake/release/libs/optional/index.html | 4 +-
   branches/CMake/release/libs/program_options/doc/overview.xml | 16 +++++++-----
   branches/CMake/release/libs/program_options/example/first.cpp | 13 ++++++++--
   branches/CMake/release/libs/python/doc/building.rst | 2
   branches/CMake/release/libs/python/doc/tutorial/doc/tutorial.qbk | 4 +-
   branches/CMake/release/libs/python/doc/tutorial/index.html | 4 +-
   branches/CMake/release/libs/signals/doc/faq.xml | 4 +-
   branches/CMake/release/libs/utility/shared_container_iterator.html | 2
   branches/CMake/release/tools/boostbook/xsl/annotation.xsl | 8 ++++--
   branches/CMake/release/tools/boostbook/xsl/chunk-common.xsl | 2
   branches/CMake/release/tools/boostbook/xsl/global.xsl | 3 -
   branches/CMake/release/tools/boostbook/xsl/lookup.xsl | 23 +++++++++++++----
   branches/CMake/release/tools/boostbook/xsl/macro.xsl | 4 +++
   branches/CMake/release/tools/boostbook/xsl/navbar.xsl | 10 ++++----
   branches/CMake/release/tools/boostbook/xsl/type.xsl | 24 ++++---------------
   branches/CMake/release/tools/jam/doc/bjam.qbk | 8 +++---
   32 files changed, 210 insertions(+), 122 deletions(-)

Modified: branches/CMake/release/Jamroot
==============================================================================
--- branches/CMake/release/Jamroot (original)
+++ branches/CMake/release/Jamroot 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -112,7 +112,7 @@
 import sequence ;
 
 path-constant BOOST_ROOT : . ;
-constant BOOST_VERSION : 1.35.0 ;
+constant BOOST_VERSION : 1.35.1 ;
 constant BOOST_JAMROOT_MODULE : $(__name__) ;
 
 local version-tag = [ MATCH "^([^.]+)[.]([^.]+)[.]([^.]+)" : $(BOOST_VERSION) ] ;

Modified: branches/CMake/release/boost/detail/sp_counted_base.hpp
==============================================================================
--- branches/CMake/release/boost/detail/sp_counted_base.hpp (original)
+++ branches/CMake/release/boost/detail/sp_counted_base.hpp 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -51,7 +51,7 @@
 
 # include <boost/detail/sp_counted_base_gcc_ppc.hpp>
 
-#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 )
+#elif defined(__GNUC__) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined(__arm__) && !defined(__hppa)
 
 # include <boost/detail/sp_counted_base_sync.hpp>
 

Modified: branches/CMake/release/boost/foreach.hpp
==============================================================================
--- branches/CMake/release/boost/foreach.hpp (original)
+++ branches/CMake/release/boost/foreach.hpp 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -353,8 +353,8 @@
     //
     // To treat the container as an array, use boost::as_array() in <boost/range/as_array.hpp>,
     // as in BOOST_FOREACH( char ch, boost::as_array("hello") ) ...
- #if BOOST_MSVC > 1300
- BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T) );
+ #if !defined(BOOST_MSVC) || BOOST_MSVC > 1300
+ BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T&) );
     #endif
 
     // If the type is a pointer to a null terminated string (as opposed

Modified: branches/CMake/release/boost/mpi/datatype.hpp
==============================================================================
--- branches/CMake/release/boost/mpi/datatype.hpp (original)
+++ branches/CMake/release/boost/mpi/datatype.hpp 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -181,7 +181,7 @@
 template<typename T> MPI_Datatype get_mpi_datatype(const T& x)
 {
   BOOST_MPL_ASSERT((is_mpi_datatype<T>));
- return detail::mpi_datatype_cache.datatype(x);
+ return detail::mpi_datatype_cache().datatype(x);
 }
 
 // Don't parse this part when we're generating Doxygen documentation.
@@ -252,15 +252,39 @@
 BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(int, int>), MPI_2INT, builtin);
 #undef BOOST_MPI_LIST2
 
-#if 0
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+// Define wchar_t specialization of is_mpi_datatype, if possible.
+#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && \
+ (defined(MPI_WCHAR) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
 BOOST_MPI_DATATYPE(wchar_t, MPI_WCHAR, builtin);
 #endif
 
-#ifdef BOOST_HAS_LONG_LONG
+// Define long long or __int64 specialization of is_mpi_datatype, if possible.
+#if defined(BOOST_HAS_LONG_LONG) && \
+ (defined(MPI_LONG_LONG_INT) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
 BOOST_MPI_DATATYPE(long long, MPI_LONG_LONG_INT, builtin);
+#elif defined(BOOST_HAS_MS_INT64) && \
+ (defined(MPI_LONG_LONG_INT) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
+BOOST_MPI_DATATYPE(__int64, MPI_LONG_LONG_INT, builtin);
+#endif
+
+// Define unsigned long long or unsigned __int64 specialization of
+// is_mpi_datatype, if possible. We separate this from the check for
+// the (signed) long long/__int64 because some MPI implementations
+// (e.g., MPICH-MX) have MPI_LONG_LONG_INT but not
+// MPI_UNSIGNED_LONG_LONG.
+#if defined(BOOST_HAS_LONG_LONG) && \
+ (defined(MPI_UNSIGNED_LONG_LONG) \
+ || (defined(MPI_VERSION) && MPI_VERSION >= 2))
 BOOST_MPI_DATATYPE(unsigned long long, MPI_UNSIGNED_LONG_LONG, builtin);
+#elif defined(BOOST_HAS_MS_INT64) && \
+ (defined(MPI_UNSIGNED_LONG_LONG) \
+ || (defined(MPI_VERSION) && MPI_VERSION >= 2))
+BOOST_MPI_DATATYPE(unsigned __int64, MPI_UNSIGNED_LONG_LONG, builtin);
 #endif
+
+// Define signed char specialization of is_mpi_datatype, if possible.
+#if defined(MPI_SIGNED_CHAR) || (defined(MPI_VERSION) && MPI_VERSION >= 2)
+BOOST_MPI_DATATYPE(signed char, MPI_SIGNED_CHAR, builtin);
 #endif
 
 #endif // Doxygen

Modified: branches/CMake/release/boost/mpi/detail/mpi_datatype_cache.hpp
==============================================================================
--- branches/CMake/release/boost/mpi/detail/mpi_datatype_cache.hpp (original)
+++ branches/CMake/release/boost/mpi/detail/mpi_datatype_cache.hpp 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -15,7 +15,6 @@
 #include <boost/utility/enable_if.hpp>
 #include <boost/mpl/assert.hpp>
 #include <boost/noncopyable.hpp>
-#include <map>
 #include <typeinfo>
 
 // The std::type_info::before function in Visual C++ 8.0 (and probably earlier)
@@ -47,21 +46,15 @@
 ///
 ///
 class BOOST_MPI_DECL mpi_datatype_map
- : private std::map<std::type_info const*,MPI_Datatype,type_info_compare>,
- public boost::noncopyable
+ : public boost::noncopyable
 {
-public:
- mpi_datatype_map()
- {}
+ struct implementation;
 
- ~mpi_datatype_map()
- {
- // do not free after call to MPI_FInalize
- int finalized=0;
- BOOST_MPI_CHECK_RESULT(MPI_Finalized,(&finalized));
- if (!finalized)
- free();
- }
+ implementation *impl;
+
+public:
+ mpi_datatype_map();
+ ~mpi_datatype_map();
 
   template <class T>
   MPI_Datatype datatype(const T& x = T(), typename boost::enable_if<is_mpi_builtin_datatype<T> >::type* =0)
@@ -76,30 +69,24 @@
 
     // check whether the type already exists
     std::type_info const* t = &typeid(T);
- const_iterator it = find(t);
- if(it ==end())
- {
+ MPI_Datatype datatype = get(t);
+ if (datatype == MPI_DATATYPE_NULL) {
       // need to create a type
       mpi_datatype_oarchive ar(x);
- insert(std::make_pair(t,ar.get_mpi_datatype()));
- it = find(t);
+ datatype = ar.get_mpi_datatype();
+ set(t, datatype);
     }
 
- return it->second;
+ return datatype;
   }
 
 private:
- // free all MPI data types
- void free()
- {
- // ignore errors in the destructor
- for (iterator it=begin(); it !=end(); ++it)
- MPI_Type_free(&(it->second));
- }
-
+ MPI_Datatype get(const std::type_info* t);
+ void set(const std::type_info* t, MPI_Datatype datatype);
 };
 
-extern mpi_datatype_map mpi_datatype_cache;
+/// Retrieve the MPI datatype cache
+mpi_datatype_map& mpi_datatype_cache();
 
 } } } // end namespace boost::mpi::detail
 

Modified: branches/CMake/release/boost/version.hpp
==============================================================================
--- branches/CMake/release/boost/version.hpp (original)
+++ branches/CMake/release/boost/version.hpp 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -19,7 +19,7 @@
 // BOOST_VERSION / 100 % 1000 is the minor version
 // BOOST_VERSION / 100000 is the major version
 
-#define BOOST_VERSION 103500
+#define BOOST_VERSION 103501
 
 //
 // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
@@ -27,7 +27,7 @@
 // number and y is the minor version number. This is used by
 // <config/auto_link.hpp> to select which library version to link to.
 
-#define BOOST_LIB_VERSION "1_35"
+#define BOOST_LIB_VERSION "1_35_1"
 
 #endif
 

Modified: branches/CMake/release/configure
==============================================================================
--- branches/CMake/release/configure (original)
+++ branches/CMake/release/configure 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -185,7 +185,28 @@
 
 # Determine the toolset, if not already decided
 if test "x$TOOLSET" = x; then
- TOOLSET=`$my_dir/tools/jam/src/build.sh --guess-toolset`
+ guessed_toolset=`$my_dir/tools/jam/src/build.sh --guess-toolset`
+ case $guessed_toolset in
+ acc | darwin | gcc | como | mipspro | pathscale | pgi | qcc | vacpp )
+ TOOLSET=$guessed_toolset
+ ;;
+
+ intel-* )
+ TOOLSET=intel
+ ;;
+
+ mingw )
+ TOOLSET=gcc
+ ;;
+
+ sun* )
+ TOOLSET=sun
+ ;;
+
+ * )
+ # Not supported by Boost.Build
+ ;;
+ esac
 fi
 
 rm -f config.log
@@ -223,15 +244,15 @@
 
 # Setup paths
 if test "x$EPREFIX" = x; then
- EPREFIX=$PREFIX
+ EPREFIX="\$(prefix)"
 fi
 
 if test "x$LIBDIR" = x; then
- LIBDIR="$EPREFIX/lib"
+ LIBDIR="\$(exec_prefix)/lib"
 fi
 
 if test "x$INCLUDEDIR" = x; then
- INCLUDEDIR="$PREFIX/include"
+ INCLUDEDIR="\$(prefix)/include"
 fi
 
 # Find Python
@@ -318,10 +339,10 @@
 cat > Makefile <<EOF
 BJAM=$BJAM
 BJAM_CONFIG=$BJAM_CONFIG
-PREFIX=$PREFIX
-EPREFIX=$EPREFIX
-LIBDIR=$LIBDIR
-INCLUDEDIR=$INCLUDEDIR
+prefix=$PREFIX
+exec_prefix=$EPREFIX
+libdir=$LIBDIR
+includedir=$INCLUDEDIR
 LIBS=$LIBS
 
 all: .dummy
@@ -339,8 +360,8 @@
         @cd status && ../\$(BJAM) \$(BJAM_CONFIG) --user-config=../user-config.jam || echo "Some Boost regression tests failed. This is normal for many compilers."
 
 install: .dummy
- @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(PREFIX) --exec-prefix=\$(EPREFIX) --libdir=\$(LIBDIR) --includedir=\$(INCLUDEDIR) \$(LIBS) install"
- @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(PREFIX) --exec-prefix=\$(EPREFIX) --libdir=\$(LIBDIR) --includedir=\$(INCLUDEDIR) \$(LIBS) install || echo "Not all Boost libraries built properly."
+ @echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(prefix) --exec-prefix=\$(exec_prefix) --libdir=\$(libdir) --includedir=\$(includedir) \$(LIBS) install"
+ @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam --prefix=\$(prefix) --exec-prefix=\$(exec_prefix) --libdir=\$(libdir) --includedir=\$(includedir) \$(LIBS) install || echo "Not all Boost libraries built properly."
 
 .dummy:
 

Modified: branches/CMake/release/libs/bimap/doc/bimap_and_boost.qbk
==============================================================================
--- branches/CMake/release/libs/bimap/doc/bimap_and_boost.qbk (original)
+++ branches/CMake/release/libs/bimap/doc/bimap_and_boost.qbk 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -219,7 +219,7 @@
 This is a statistical property depending on the typical distribution of keys in a given application, so it is not feasible to have a general-purpose hash function with excellent results in every possible scenario; the default value for this parameter uses Boost.Hash, which often provides good enough results.
 
 Boost.Hash can be
-[@http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/hash/custom.html
+[@http://www.boost.org/doc/html/hash/custom.html
 extended for custom data types],
 enabling to use the default parameter of the unordered set types with any user types.
 
@@ -474,4 +474,4 @@
 
 [endsect]
 
-[endsect]
\ No newline at end of file
+[endsect]

Modified: branches/CMake/release/libs/date_time/xmldoc/buildinfo.xml
==============================================================================
--- branches/CMake/release/libs/date_time/xmldoc/buildinfo.xml (original)
+++ branches/CMake/release/libs/date_time/xmldoc/buildinfo.xml 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -146,7 +146,7 @@
       <listitem><ulink url="../../libs/conversion/lexical_cast.htm">boost.lexical_cast </ulink> </listitem>
       <listitem><ulink url="../../libs/smart_ptr/smart_ptr.htm">boost.smart_ptr (local time only)</ulink> </listitem>
       <listitem><ulink url="../../libs/algorithm/string/">boost::string_algorithms </ulink> </listitem>
- <listitem><ulink url="../../libs/algorithm/serialize/">boost::serialize (serialization code only) </ulink> </listitem>
+ <listitem><ulink url="../../libs/serialization/index.html">boost::serialize (serialization code only) </ulink> </listitem>
     </itemizedlist>
     so these libraries need to be installed.
   </para>

Modified: branches/CMake/release/libs/format/doc/format.html
==============================================================================
--- branches/CMake/release/libs/format/doc/format.html (original)
+++ branches/CMake/release/libs/format/doc/format.html 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -79,7 +79,7 @@
 
       <blockquote>
         <pre>
-cout &lt;&lt; format("%2% %1%") % 36 % 77 )
+cout &lt;&lt; format("%2% %1%") % 36 % 77;
 </pre>
       </blockquote>or later on, as in
 

Modified: branches/CMake/release/libs/interprocess/doc/interprocess.qbk
==============================================================================
--- branches/CMake/release/libs/interprocess/doc/interprocess.qbk (original)
+++ branches/CMake/release/libs/interprocess/doc/interprocess.qbk 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -5704,7 +5704,7 @@
 to the segment manager. Because of this,
 in [*Boost.Interprocess] all managed memory segments derive from a common class that
 implements memory-independent (shared memory, memory mapped files) functions:
-[@../../../../boost/interprocess/detail/managed_memory_impl.hpp
+[@../../boost/interprocess/detail/managed_memory_impl.hpp
 boost::interprocess::detail::basic_managed_memory_impl]
 
 Deriving from this class, [*Boost.Interprocess] implements several managed memory
@@ -5766,7 +5766,7 @@
    to the segment manager.
 
 The pool is implemented by the
-[@../../../../boost/interprocess/allocators/detail/node_pool.hpp
+[@../../boost/interprocess/allocators/detail/node_pool.hpp
 private_node_pool and shared_node_pool] classes.
 
 [endsect]
@@ -5809,7 +5809,7 @@
    to the segment manager.
 
 The adaptive pool is implemented by the
-[@../../../../boost/interprocess/allocators/detail/adaptive_node_pool.hpp
+[@../../boost/interprocess/allocators/detail/adaptive_node_pool.hpp
 private_adaptive_node_pool and adaptive_node_pool] classes.
 
 [endsect]

Modified: branches/CMake/release/libs/intrusive/doc/intrusive.qbk
==============================================================================
--- branches/CMake/release/libs/intrusive/doc/intrusive.qbk (original)
+++ branches/CMake/release/libs/intrusive/doc/intrusive.qbk 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -3011,7 +3011,7 @@
 `test_list` objects to funtion objects taking pointers to them.
 
 You can find the full test code code in the
-[@../../perf/perf_list.cpp perf_list.cpp] source file.
+[@../../libs/intrusive/perf/perf_list.cpp perf_list.cpp] source file.
 
 [section:performance_results_push_back Back insertion and destruction]
 

Modified: branches/CMake/release/libs/mpi/doc/mpi.qbk
==============================================================================
--- branches/CMake/release/libs/mpi/doc/mpi.qbk (original)
+++ branches/CMake/release/libs/mpi/doc/mpi.qbk 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -2004,7 +2004,7 @@
 [@http://www.open-mpi.org/ Open MPI] version 1.1. The NetPIPE results
 follow:
 
-[$../../../libs/mpi/doc/netpipe.png]
+[$../../libs/mpi/doc/netpipe.png]
 
 There are a some observations we can make about these NetPIPE
 results. First of all, the top two plots show that Boost.MPI performs

Modified: branches/CMake/release/libs/mpi/src/mpi_datatype_cache.cpp
==============================================================================
--- branches/CMake/release/libs/mpi/src/mpi_datatype_cache.cpp (original)
+++ branches/CMake/release/libs/mpi/src/mpi_datatype_cache.cpp 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -8,9 +8,54 @@
 
 #include <boost/archive/impl/archive_pointer_oserializer.ipp>
 #include <boost/mpi/detail/mpi_datatype_cache.hpp>
+#include <map>
 
 namespace boost { namespace mpi { namespace detail {
 
-mpi_datatype_map mpi_datatype_cache;
-
+ typedef std::map<std::type_info const*,MPI_Datatype,type_info_compare>
+ stored_map_type;
+
+ struct mpi_datatype_map::implementation
+ {
+ stored_map_type map;
+ };
+
+ mpi_datatype_map::mpi_datatype_map()
+ {
+ impl = new implementation();
+ }
+
+ mpi_datatype_map::~mpi_datatype_map()
+ {
+ // do not free after call to MPI_FInalize
+ int finalized=0;
+ BOOST_MPI_CHECK_RESULT(MPI_Finalized,(&finalized));
+ if (!finalized) {
+ // ignore errors in the destructor
+ for (stored_map_type::iterator it=impl->map.begin(); it != impl->map.end(); ++it) {
+ MPI_Type_free(&(it->second));
+ }
+ }
+ delete impl;
+ }
+
+ MPI_Datatype mpi_datatype_map::get(const std::type_info* t)
+ {
+ stored_map_type::iterator pos = impl->map.find(t);
+ if (pos != impl->map.end())
+ return pos->second;
+ else
+ return MPI_DATATYPE_NULL;
+ }
+
+ void mpi_datatype_map::set(const std::type_info* t, MPI_Datatype datatype)
+ {
+ impl->map[t] = datatype;
+ }
+
+ mpi_datatype_map& mpi_datatype_cache()
+ {
+ static mpi_datatype_map cache;
+ return cache;
+ }
 } } }

Modified: branches/CMake/release/libs/numeric/conversion/doc/conversion.qbk
==============================================================================
--- branches/CMake/release/libs/numeric/conversion/doc/conversion.qbk (original)
+++ branches/CMake/release/libs/numeric/conversion/doc/conversion.qbk 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -21,7 +21,7 @@
 
 [/ Cited Boost resources ]
 
-[def __MPL_INTEGRAL_CONSTANT__ [@../../../../mpl/refmanual/integral-constant.html MPL's Integral Constant] ]
+[def __MPL_INTEGRAL_CONSTANT__ [@../../../../mpl/doc/refmanual/integral-constant.html MPL's Integral Constant] ]
 
 
 

Modified: branches/CMake/release/libs/optional/doc/optional.qbk
==============================================================================
--- branches/CMake/release/libs/optional/doc/optional.qbk (original)
+++ branches/CMake/release/libs/optional/doc/optional.qbk 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -22,7 +22,7 @@
 [/ Cited Boost resources ]
 
 [def __BOOST_VARIANT__ [@../../../variant/index.html Boost.Variant]]
-[def __BOOST_TRIBOOL__ [@../../../tribool/index.html boost::tribool]]
+[def __BOOST_TRIBOOL__ [@../../../../doc/html/tribool.html boost::tribool]]
 
 [def __OPTIONAL_POINTEE__ [@../../../utility/OptionalPointee.html OptionalPointee]]
 [def __COPY_CONSTRUCTIBLE__ [@../../../utility/CopyConstructible.html Copy Constructible]]

Modified: branches/CMake/release/libs/optional/index.html
==============================================================================
--- branches/CMake/release/libs/optional/index.html (original)
+++ branches/CMake/release/libs/optional/index.html 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -4,10 +4,10 @@
 </head>
 <body>
 Automatic redirection failed, please go to
-doc/html/index.html.&nbsp;<hr>
+doc/html/index.html.&nbsp;<hr>
 <p>� Copyright Beman Dawes, 2001</p>
 <p>Distributed under the Boost Software License, Version 1.0. (See accompanying
 file LICENSE_1_0.txt or copy
 at www.boost.org/LICENSE_1_0.txt)</p>
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: branches/CMake/release/libs/program_options/doc/overview.xml
==============================================================================
--- branches/CMake/release/libs/program_options/doc/overview.xml (original)
+++ branches/CMake/release/libs/program_options/doc/overview.xml 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -185,14 +185,16 @@
     ("email", value&lt;string&gt;()->multitoken(), "email to send to")
     ;
       </programlisting>
- For the first parameter, we specify only the name and the
- description. No value can be specified in the parsed source.
- For the first option, the user must specify a value, using a single
- token. For the third option, the user may either provide a single token
- for the value, or no token at all. For the last option, the value can
- span several tokens. For example, the following command line is OK:
+ For the first option (<literal>help</literal>), we specify only the name
+ and the description. No value can be specified in the parsed source.
+ For the second option (<literal>compression</literal>), the user must
+ specify a value, using a single token. For the third option
+ (<literal>verbose</literal>), the user may either provide a single token
+ for the value, or no token at all. For the last option
+ (<literal>email</literal>), the value can span several tokens. For
+ example, the following command line is OK:
       <screen>
- test --help --compression 10 --verbose --email beadle_at_mars beadle2_at_mars
+ test --help --compression 10 --verbose --email beagle_at_mars beagle2_at_mars
       </screen>
       </para>
 

Modified: branches/CMake/release/libs/program_options/example/first.cpp
==============================================================================
--- branches/CMake/release/libs/program_options/example/first.cpp (original)
+++ branches/CMake/release/libs/program_options/example/first.cpp 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -21,11 +21,12 @@
         desc.add_options()
             ("help", "produce help message")
             ("compression", po::value<int>(), "set compression level")
+ ("verbose", po::value<string>()->zero_tokens()->implicit_value(""))
         ;
 
- po::variables_map vm;
+ po::variables_map vm;
         po::store(po::parse_command_line(ac, av, desc), vm);
- po::notify(vm);
+ po::notify(vm);
 
         if (vm.count("help")) {
             cout << desc << "\n";
@@ -33,11 +34,17 @@
         }
 
         if (vm.count("compression")) {
- cout << "Compression level was set to "
+ cout << "Compression level was set to "
                  << vm["compression"].as<int>() << ".\n";
         } else {
             cout << "Compression level was not set.\n";
         }
+
+ if (vm.count("verbose")) {
+ string v = vm["verbose"].as<string>();
+ if (v.size() > 0)
+ cout << "Verbosity is: " << v << ".\n";
+ }
     }
     catch(exception& e) {
         cerr << "error: " << e.what() << "\n";

Modified: branches/CMake/release/libs/python/doc/building.rst
==============================================================================
--- branches/CMake/release/libs/python/doc/building.rst (original)
+++ branches/CMake/release/libs/python/doc/building.rst 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -11,7 +11,7 @@
    :alt: Boost C++ Libraries:
    :class: boost-logo
 
-__ ../index.htm
+__ ../index.html
 
 
 .. section-numbering::

Modified: branches/CMake/release/libs/python/doc/tutorial/doc/tutorial.qbk
==============================================================================
--- branches/CMake/release/libs/python/doc/tutorial/doc/tutorial.qbk (original)
+++ branches/CMake/release/libs/python/doc/tutorial/doc/tutorial.qbk 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -1381,9 +1381,9 @@
 [section Using the interpreter]
 
 As you probably already know, objects in Python are reference-counted.
-Naturally, the [^PyObject]s of the Python/C API are also reference-counted.
+Naturally, the [^PyObject]s of the Python\/C API are also reference-counted.
 There is a difference however. While the reference-counting is fully
-automatic in Python, the Python/C API requires you to do it
+automatic in Python, the Python\/C API requires you to do it
 [@http://www.python.org/doc/current/api/refcounts.html by hand]. This is
 messy and especially hard to get right in the presence of C++ exceptions.
 Fortunately Boost.Python provides the [@../../../v2/handle.html handle] and

Modified: branches/CMake/release/libs/python/doc/tutorial/index.html
==============================================================================
--- branches/CMake/release/libs/python/doc/tutorial/index.html (original)
+++ branches/CMake/release/libs/python/doc/tutorial/index.html 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -11,8 +11,8 @@
     <a href="doc/html/index.html">link</a> &nbsp;<hr>
     <p>© Copyright Beman Dawes, 2001</p>
     <p>Distributed under the Boost Software License, Version 1.0. (See
- accompanying file <a href="../../../LICENSE_1_0.txt">
+ accompanying file <a href="../../../../LICENSE_1_0.txt">
     LICENSE_1_0.txt</a> or copy at
     <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
   </body>
-</html>
\ No newline at end of file
+</html>

Modified: branches/CMake/release/libs/signals/doc/faq.xml
==============================================================================
--- branches/CMake/release/libs/signals/doc/faq.xml (original)
+++ branches/CMake/release/libs/signals/doc/faq.xml 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -94,7 +94,7 @@
         <programlisting>#ifndef SIGNALSLIB_HPP_INCLUDED
 #define SIGNALSLIB_HPP_INCLUDED
 
-#if defined(signals) && defined(QOBJECTDEFS_H) && \
+#if defined(signals) &amp;&amp; defined(QOBJECTDEFS_H) &amp;&amp; \
   !defined(QT_MOC_CPP)
 # undef signals
 # define signals signals
@@ -106,7 +106,7 @@
   namespace signalslib = signals;
 }
 
-#if defined(signals) && defined(QOBJECTDEFS_H) && \
+#if defined(signals) &amp;&amp; defined(QOBJECTDEFS_H) &amp;&amp; \
   !defined(QT_MOC_CPP)
 # undef signals
 // Restore the macro definition of "signals", as it was

Modified: branches/CMake/release/libs/utility/shared_container_iterator.html
==============================================================================
--- branches/CMake/release/libs/utility/shared_container_iterator.html (original)
+++ branches/CMake/release/libs/utility/shared_container_iterator.html 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -315,7 +315,7 @@
 <p>© Copyright 2003 The Trustees of Indiana University.
  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)</p>
+ http://www.boost.org/LICENSE_1_0.txt)</p>
 
 </body>
 

Modified: branches/CMake/release/tools/boostbook/xsl/annotation.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/annotation.xsl (original)
+++ branches/CMake/release/tools/boostbook/xsl/annotation.xsl 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -28,14 +28,16 @@
     <xsl:choose>
       <xsl:when test="count(key('named-entities', $name))=1
                       and ($translated-name=$name)">
- <xsl:call-template name="fully-qualified-name">
+ <xsl:call-template name="fully-qualified-id">
           <xsl:with-param name="node" select="."/>
- <xsl:with-param name="separator" select="'.'"/>
         </xsl:call-template>
       </xsl:when>
       <xsl:otherwise>
+ <xsl:call-template name="fully-qualified-id">
+ <xsl:with-param name="node" select="."/>
+ </xsl:call-template>
+ <xsl:text>_</xsl:text>
         <xsl:value-of select="generate-id(.)"/>
- <xsl:text>-bb</xsl:text>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>

Modified: branches/CMake/release/tools/boostbook/xsl/chunk-common.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/chunk-common.xsl (original)
+++ branches/CMake/release/tools/boostbook/xsl/chunk-common.xsl 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -28,7 +28,7 @@
     <xsl:choose>
         <xsl:when test="not($recursive)">
             <!-- translate dots into directory separators, and replace illegal file path characters with underscores -->
- <xsl:value-of select="translate( $basename, '.&lt;&gt;\:*?&quot;|', '/_______' )"/>
+ <xsl:value-of select="translate(normalize-space(translate($basename, '.&lt;&gt;\:*?&quot;|', '/ ' )), ' ', '_')"/>
             <xsl:value-of select="$html.ext"/>
         </xsl:when>
         <xsl:otherwise>

Modified: branches/CMake/release/tools/boostbook/xsl/global.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/global.xsl (original)
+++ branches/CMake/release/tools/boostbook/xsl/global.xsl 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -68,9 +68,8 @@
     <xsl:text>;</xsl:text>
   </xsl:template>
   <xsl:template match="data-member" mode="generate.id">
- <xsl:call-template name="fully-qualified-name">
+ <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
- <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 </xsl:stylesheet>

Modified: branches/CMake/release/tools/boostbook/xsl/lookup.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/lookup.xsl (original)
+++ branches/CMake/release/tools/boostbook/xsl/lookup.xsl 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -15,12 +15,6 @@
   <xsl:template name="generate.id">
     <xsl:param name="node" select="."/>
     <xsl:apply-templates select="$node" mode="generate.id"/>
- <xsl:if test="$node/ancestor-or-self::class-specialization|
- $node/ancestor-or-self::struct-specialization|
- $node/ancestor-or-self::union-specialization">
- <xsl:text>_</xsl:text>
- <xsl:value-of select="generate-id($node)"/>
- </xsl:if>
   </xsl:template>
 
   <xsl:template match="*" mode="generate.id">
@@ -128,6 +122,23 @@
     </xsl:choose>
   </xsl:template>
 
+ <!-- Build the fully-qualified id of the given node -->
+ <xsl:template name="fully-qualified-id">
+ <xsl:param name="node"/>
+ <xsl:variable name="name">
+ <xsl:apply-templates select="$node" mode="fully-qualified-name">
+ <xsl:with-param name="separator" select="'@'"/>
+ </xsl:apply-templates>
+ </xsl:variable>
+ <xsl:value-of select="translate(normalize-space(translate($name, '.', ' ')), ' @', '_.')"/>
+ <xsl:if test="$node/ancestor-or-self::class-specialization|
+ $node/ancestor-or-self::struct-specialization|
+ $node/ancestor-or-self::union-specialization">
+ <xsl:text>_</xsl:text>
+ <xsl:value-of select="generate-id($node)"/>
+ </xsl:if>
+ </xsl:template>
+
   <!-- Build the fully-qualified name of the given node -->
   <xsl:template name="fully-qualified-name">
     <xsl:param name="node"/>

Modified: branches/CMake/release/tools/boostbook/xsl/macro.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/macro.xsl (original)
+++ branches/CMake/release/tools/boostbook/xsl/macro.xsl 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -73,5 +73,9 @@
 
   <xsl:template match="macro" mode="generate.id">
     <xsl:value-of select="@name"/>
+ <xsl:if test="count(key('named-entities', @name))!=1">
+ <xsl:text>_</xsl:text>
+ <xsl:value-of select="generate-id(.)"/>
+ </xsl:if>
   </xsl:template>
 </xsl:stylesheet>

Modified: branches/CMake/release/tools/boostbook/xsl/navbar.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/navbar.xsl (original)
+++ branches/CMake/release/tools/boostbook/xsl/navbar.xsl 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -117,12 +117,12 @@
       </xsl:variable>
       <xsl:variable name="people_link">
          <xsl:call-template name="href.target.relative">
- <xsl:with-param name="target" select="concat( $boost.website, '/people/people.htm' )"/>
+ <xsl:with-param name="target" select="concat( $boost.website, '/users/people.html' )"/>
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="faq_link">
          <xsl:call-template name="href.target.relative">
- <xsl:with-param name="target" select="concat( $boost.website, '/more/faq.htm' )"/>
+ <xsl:with-param name="target" select="concat( $boost.website, '/users/faq.html' )"/>
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="more_link">
@@ -151,7 +151,7 @@
    <xsl:template name = "header.navdata-vert">
       <xsl:variable name="home_link">
          <xsl:call-template name="href.target.relative">
- <xsl:with-param name="target" select="concat( $boost.root, '/index.htm' )"/>
+ <xsl:with-param name="target" select="concat( $boost.root, '/index.html' )"/>
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="libraries_link">
@@ -161,12 +161,12 @@
       </xsl:variable>
       <xsl:variable name="people_link">
          <xsl:call-template name="href.target.relative">
- <xsl:with-param name="target" select="concat( $boost.root, '/people/people.htm' )"/>
+ <xsl:with-param name="target" select="concat( $boost.website, '/users/people.html' )"/>
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="faq_link">
          <xsl:call-template name="href.target.relative">
- <xsl:with-param name="target" select="concat( $boost.root, '/more/faq.htm' )"/>
+ <xsl:with-param name="target" select="concat( $boost.website, '/users/faq.html' )"/>
          </xsl:call-template>
       </xsl:variable>
       <xsl:variable name="more_link">

Modified: branches/CMake/release/tools/boostbook/xsl/type.xsl
==============================================================================
--- branches/CMake/release/tools/boostbook/xsl/type.xsl (original)
+++ branches/CMake/release/tools/boostbook/xsl/type.xsl 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -27,51 +27,37 @@
   <xsl:param name="boost.compact.typedef">1</xsl:param>
 
   <xsl:template match="class|struct|union" mode="generate.id">
- <xsl:call-template name="fully-qualified-name">
+ <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
- <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 
   <xsl:template match="class-specialization|struct-specialization|union-specialization" mode="generate.id">
- <xsl:call-template name="fully-qualified-name">
+ <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
- <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 
   <xsl:template match="typedef" mode="generate.id">
- <xsl:call-template name="fully-qualified-name">
+ <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
- <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 
   <xsl:template match="enum" mode="generate.id">
- <xsl:call-template name="fully-qualified-name">
+ <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="."/>
- <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
   </xsl:template>
 
   <xsl:template match="enumvalue" mode="generate.id">
- <xsl:call-template name="fully-qualified-name">
+ <xsl:call-template name="fully-qualified-id">
       <xsl:with-param name="node" select="parent::enum"/>
- <xsl:with-param name="separator" select="'.'"/>
     </xsl:call-template>
     <xsl:text>.</xsl:text>
     <xsl:value-of select="@name"/>
   </xsl:template>
 
- <xsl:template match="function | overloaded-function" mode="generate.id">
- <xsl:call-template name="fully-qualified-name">
- <xsl:with-param name="node" select="."/>
- <xsl:with-param name="separator" select="'.'"/>
- </xsl:call-template>
- <xsl:text>_</xsl:text>
- <xsl:value-of select="generate-id(.)"/>
- </xsl:template>
-
   <!-- Display the full name of the current node, e.g., "Class
        template function". -->
   <xsl:template name="type.display.name">

Modified: branches/CMake/release/tools/jam/doc/bjam.qbk
==============================================================================
--- branches/CMake/release/tools/jam/doc/bjam.qbk (original)
+++ branches/CMake/release/tools/jam/doc/bjam.qbk 2008-05-23 10:20:04 EDT (Fri, 23 May 2008)
@@ -124,7 +124,7 @@
 
 [ [=build.bat=] [Windows NT, 2000, and XP]
     [[lines
- [line [@http://www.borland.com/bcppbuilder/freecompiler =borland=]]
+ [line [@http://www.codegear.com/downloads/free/cppbuilder =borland=]]
         [line [@http://www.borland.com/ Borland] C++Builder (BCC 5.5)]
         ]]
     [[list
@@ -291,7 +291,7 @@
 
 [ [] []
     [[lines
- [line [@http://www.borland.com/bcppbuilder/freecompiler =kylix=]]
+ [line [@http://www.codegear.com/downloads/free/cppbuilder =kylix=]]
         [line [@http://www.borland.com/ Borland] C++Builder]
         ]]
     [[list
@@ -341,7 +341,7 @@
 
 [ [] []
     [[lines
- [line [@http://www-3.ibm.com/software/ad/vacpp/ =vacpp=]]
+ [line [@http://www-306.ibm.com/software/awdtools/vacpp/ =vacpp=]]
         [line IBM VisualAge C++]
         ]]
     [[list
@@ -1801,4 +1801,4 @@
 
 [section History]
 [include history.qbk]
-[endsect]
\ No newline at end of file
+[endsect]


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