|
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>© Copyright 2006-2008 Joaquín M López Muñoz.
+<p>© Copyright 2006-2009 Joaquín M López Muñ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>© Copyright 2006-2008 Joaquín M López Muñoz.
+<p>© Copyright 2006-2009 Joaquín M López Muñ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