Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r55666 - in branches/release: . boost/archive boost/graph boost/program_options boost/proto/transform boost/python boost/regex boost/serialization boost/signals2 boost/system libs/mpl/doc/refmanual libs/mpl/doc/src/refmanual libs/program_options libs/proto/test libs/python libs/regex libs/serialization libs/serialization/doc libs/signals2 libs/system libs/timer status tools/build/v2
From: eric_at_[hidden]
Date: 2009-08-19 12:52:16


Author: eric_niebler
Date: 2009-08-19 12:52:15 EDT (Wed, 19 Aug 2009)
New Revision: 55666
URL: http://svn.boost.org/trac/boost/changeset/55666

Log:
Merged revisions 55656 via svnmerge from
https://svn.boost.org/svn/boost/trunk

Properties modified:
   branches/release/ (props changed)
   branches/release/boost/archive/ (props changed)
   branches/release/boost/graph/ (props changed)
   branches/release/boost/program_options/ (props changed)
   branches/release/boost/python/ (props changed)
   branches/release/boost/regex/ (props changed)
   branches/release/boost/serialization/ (props changed)
   branches/release/boost/signals2/ (props changed)
   branches/release/boost/system/ (props changed)
   branches/release/libs/mpl/doc/refmanual/broken-compiler-workarounds.html (props changed)
   branches/release/libs/mpl/doc/refmanual/categorized-index-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/cfg-no-preprocessed-headers.html (props changed)
   branches/release/libs/mpl/doc/refmanual/composition-and-argument-binding.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-miscellaneous.html (props changed)
   branches/release/libs/mpl/doc/refmanual/extensible-associative-sequence.html (props changed)
   branches/release/libs/mpl/doc/refmanual/inserter-class.html (props changed)
   branches/release/libs/mpl/doc/refmanual/tag-dispatched-metafunction.html (props changed)
   branches/release/libs/mpl/doc/refmanual/trivial-metafunctions-summary.html (props changed)
   branches/release/libs/mpl/doc/src/refmanual/Iterators-Iterator.rst (props changed)
   branches/release/libs/program_options/ (props changed)
   branches/release/libs/python/ (props changed)
   branches/release/libs/regex/ (props changed)
   branches/release/libs/serialization/ (props changed)
   branches/release/libs/serialization/doc/release.html (props changed)
   branches/release/libs/signals2/ (props changed)
   branches/release/libs/system/ (props changed)
   branches/release/libs/timer/ (props changed)
   branches/release/status/ (props changed)
   branches/release/tools/build/v2/ (props changed)
Text files modified:
   branches/release/boost/proto/transform/arg.hpp | 3 ++-
   branches/release/libs/proto/test/matches.cpp | 2 ++
   2 files changed, 4 insertions(+), 1 deletions(-)

Modified: branches/release/boost/proto/transform/arg.hpp
==============================================================================
--- branches/release/boost/proto/transform/arg.hpp (original)
+++ branches/release/boost/proto/transform/arg.hpp 2009-08-19 12:52:15 EDT (Wed, 19 Aug 2009)
@@ -13,6 +13,7 @@
 #include <boost/proto/proto_fwd.hpp>
 #include <boost/proto/traits.hpp>
 #include <boost/proto/transform/impl.hpp>
+#include <boost/type_traits/is_array.hpp>
 #include <boost/proto/detail/suffix.hpp>
 
 namespace boost { namespace proto
@@ -196,7 +197,7 @@
             /// \return <tt>proto::value(e)</tt>
             /// \throw nothrow
             #ifdef BOOST_HAS_DECLTYPE
- result_type
+ typename mpl::if_c<is_array<result_type>::value, result_type &, result_type>::type
             #else
             typename result_of::value<typename impl::expr_param>::type
             #endif

Modified: branches/release/libs/proto/test/matches.cpp
==============================================================================
--- branches/release/libs/proto/test/matches.cpp (original)
+++ branches/release/libs/proto/test/matches.cpp 2009-08-19 12:52:15 EDT (Wed, 19 Aug 2009)
@@ -172,6 +172,8 @@
     assert_matches< terminal<char [N]> >( as_child("hello") );
     assert_matches< terminal<char [N]> >( as_expr("hello") );
 
+ assert_not_matches< if_<is_same<_value, int>()> >( lit("hello") );
+
     assert_matches< terminal<std::string> >( lit(std::string("hello")) );
     assert_matches< terminal<std::string> >( as_child(std::string("hello")) );
     assert_matches< terminal<std::string> >( as_expr(std::string("hello")) );


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