$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r68374 - trunk/boost/spirit/home/phoenix/core
From: joel_at_[hidden]
Date: 2011-01-22 18:08:14
Author: djowel
Date: 2011-01-22 18:08:10 EST (Sat, 22 Jan 2011)
New Revision: 68374
URL: http://svn.boost.org/trac/boost/changeset/68374
Log:
Added default construction of values + assignment operator for actors.
Text files modified: 
   trunk/boost/spirit/home/phoenix/core/actor.hpp |    12 ++++++++++++                            
   trunk/boost/spirit/home/phoenix/core/value.hpp |    13 ++++++++-----                           
   2 files changed, 20 insertions(+), 5 deletions(-)
Modified: trunk/boost/spirit/home/phoenix/core/actor.hpp
==============================================================================
--- trunk/boost/spirit/home/phoenix/core/actor.hpp	(original)
+++ trunk/boost/spirit/home/phoenix/core/actor.hpp	2011-01-22 18:08:10 EST (Sat, 22 Jan 2011)
@@ -86,6 +86,18 @@
             >::type
         nullary_result;
 
+        actor& operator=(actor const& rhs)
+        {
+            Base::operator=(rhs);
+            return *this;
+        }
+
+        actor& operator=(actor& rhs)
+        {
+            Base::operator=(rhs);
+            return *this;
+        }
+
         nullary_result
         operator()() const
         {
Modified: trunk/boost/spirit/home/phoenix/core/value.hpp
==============================================================================
--- trunk/boost/spirit/home/phoenix/core/value.hpp	(original)
+++ trunk/boost/spirit/home/phoenix/core/value.hpp	2011-01-22 18:08:10 EST (Sat, 22 Jan 2011)
@@ -1,7 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
 
-    Distributed under the Boost Software License, Version 1.0. (See accompanying 
+    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)
 ==============================================================================*/
 #ifndef PHOENIX_CORE_VALUE_HPP
@@ -44,7 +44,7 @@
     }
 
     template <typename T>
-    struct value 
+    struct value
     {
         BOOST_STATIC_ASSERT(
             mpl::not_<is_reference<T> >::value != 0);
@@ -57,6 +57,9 @@
             typedef T type;
         };
 
+        value()
+            : val() {}
+
         value(T const& arg)
             : val(arg) {}
 
@@ -71,14 +74,14 @@
     };
 
     template <typename Actor>
-    struct actor_value 
+    struct actor_value
     {
         typedef typename Actor::no_nullary no_nullary;
 
         template <typename Env>
         struct result
         {
-            typedef typename 
+            typedef typename
                 remove_reference<
                     typename eval_result<Actor, Env>::type
                 >::type
@@ -124,7 +127,7 @@
         }
     };
 
-    // Sometimes it is necessary to auto-convert references to 
+    // Sometimes it is necessary to auto-convert references to
     // a value<T>. This happens when we are re-currying. This
     // cannot happen through the standard public actor interfaces.
     template <typename T>