Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50882 - in branches/release: boost/flyweight libs/flyweight/doc/reference
From: joaquin_at_[hidden]
Date: 2009-01-29 16:50:43


Author: joaquin
Date: 2009-01-29 16:50:42 EST (Thu, 29 Jan 2009)
New Revision: 50882
URL: http://svn.boost.org/trac/boost/changeset/50882

Log:
merged up to rev. 50829 from trunk
Text files modified:
   branches/release/boost/flyweight/assoc_container_factory.hpp | 16 +++++++++++++---
   branches/release/libs/flyweight/doc/reference/index.html | 8 ++++----
   branches/release/libs/flyweight/doc/reference/locking.html | 6 +++---
   3 files changed, 20 insertions(+), 10 deletions(-)

Modified: branches/release/boost/flyweight/assoc_container_factory.hpp
==============================================================================
--- branches/release/boost/flyweight/assoc_container_factory.hpp (original)
+++ branches/release/boost/flyweight/assoc_container_factory.hpp 2009-01-29 16:50:42 EST (Thu, 29 Jan 2009)
@@ -15,10 +15,12 @@
 
 #include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
 #include <boost/flyweight/assoc_container_factory_fwd.hpp>
+#include <boost/flyweight/detail/is_placeholder_expr.hpp>
 #include <boost/flyweight/detail/nested_xxx_if_not_ph.hpp>
 #include <boost/flyweight/factory_tag.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/aux_/lambda_support.hpp>
+#include <boost/mpl/if.hpp>
 
 namespace boost{namespace flyweights{namespace detail{
 BOOST_FLYWEIGHT_NESTED_XXX_IF_NOT_PLACEHOLDER_EXPRESSION_DEF(iterator);
@@ -36,7 +38,6 @@
 class assoc_container_factory_class:public factory_marker
 {
 public:
-
   /* When assoc_container_factory_class<Container> is an MPL placeholder
    * expression, referring to Container::iterator and Container::value_type
    * force the MPL placeholder expression Container to be instantiated, which
@@ -63,8 +64,17 @@
 
   static const entry_type& entry(handle_type h){return *h;}
 
-private:
- Container cont;
+private:
+ /* As above, avoid instantiating Container if it is an
+ * MPL placeholder expression.
+ */
+
+ typedef typename mpl::if_<
+ detail::is_placeholder_expression<Container>,
+ int,
+ Container
+ >::type container_type;
+ container_type cont;
 
 public:
   typedef assoc_container_factory_class type;

Modified: branches/release/libs/flyweight/doc/reference/index.html
==============================================================================
--- branches/release/libs/flyweight/doc/reference/index.html (original)
+++ branches/release/libs/flyweight/doc/reference/index.html 2009-01-29 16:50:42 EST (Thu, 29 Jan 2009)
@@ -6,9 +6,9 @@
 <title>Boost.Flyweight Documentation - Reference</title>
 <link rel="stylesheet" href="../style.css" type="text/css">
 <link rel="start" href="../index.html">
-<link rel="prev" href="lambda_expressions.html">
+<link rel="prev" href="../tutorial/lambda_expressions.html">
 <link rel="up" href="../index.html">
-<link rel="next" href="../tutorial/lambda_expressions.html">
+<link rel="next" href="flyweight.html">
 </head>
 
 <body>
@@ -145,9 +145,9 @@
 
 <br>
 
-<p>Revised December 2nd 2008</p>
+<p>Revised January 27th 2009</p>
 
-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2006-2009 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
 Distributed under the Boost Software
 License, Version 1.0. (See 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">

Modified: branches/release/libs/flyweight/doc/reference/locking.html
==============================================================================
--- branches/release/libs/flyweight/doc/reference/locking.html (original)
+++ branches/release/libs/flyweight/doc/reference/locking.html 2009-01-29 16:50:42 EST (Thu, 29 Jan 2009)
@@ -117,7 +117,7 @@
 <p>
 These concepts are very similar, but not entirely equivalent, to
 the homonym ones described in the
-<a href="../../../../doc/html/thread/concepts.htm">Boost Thread
+<a href="../../../../doc/html/thread/synchronization.html#thread.synchronization.mutex_concepts">Boost Thread
 Library</a>.
 </p>
 
@@ -274,9 +274,9 @@
 
 <br>
 
-<p>Revised August 13th 2008</p>
+<p>Revised January 27th 2009</p>
 
-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2006-2009 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
 Distributed under the Boost Software
 License, Version 1.0. (See 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">


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