Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r75050 - in trunk: boost/phoenix/core boost/phoenix/operator boost/phoenix/operator/preprocessed boost/serialization boost/typeof libs/phoenix/preprocess libs/phoenix/test/operator
From: thom.heller_at_[hidden]
Date: 2011-10-18 12:09:50


Author: theller
Date: 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
New Revision: 75050
URL: http://svn.boost.org/trac/boost/changeset/75050

Log:
added full qualification to enable_if for the member pointer operator
Text files modified:
   trunk/boost/phoenix/core/actor.hpp | 4 ++--
   trunk/boost/phoenix/operator/member.hpp | 2 +-
   trunk/boost/phoenix/operator/preprocessed/member_10.hpp | 2 +-
   trunk/boost/phoenix/operator/preprocessed/member_20.hpp | 2 +-
   trunk/boost/phoenix/operator/preprocessed/member_30.hpp | 2 +-
   trunk/boost/phoenix/operator/preprocessed/member_40.hpp | 2 +-
   trunk/boost/phoenix/operator/preprocessed/member_50.hpp | 2 +-
   trunk/boost/serialization/export.hpp | 2 +-
   trunk/boost/serialization/extended_type_info.hpp | 14 +++++++++++++-
   trunk/boost/typeof/native.hpp | 2 +-
   trunk/libs/phoenix/preprocess/wave.cfg | 4 ++++
   trunk/libs/phoenix/test/operator/member.cpp | 20 ++++++++------------
   12 files changed, 35 insertions(+), 23 deletions(-)

Modified: trunk/boost/phoenix/core/actor.hpp
==============================================================================
--- trunk/boost/phoenix/core/actor.hpp (original)
+++ trunk/boost/phoenix/core/actor.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -160,7 +160,7 @@
     template <typename Expr>
     struct actor
     {
- typedef typename
+ typedef Expr/*typename
             mpl::eval_if_c<
                 mpl::or_<
                     is_custom_terminal<Expr>
@@ -168,7 +168,7 @@
>::value
               , proto::terminal<Expr>
               , mpl::identity<Expr>
- >::type
+ >::type*/
             expr_type;
         
         BOOST_PROTO_BASIC_EXTENDS(expr_type, actor<expr_type>, phoenix_domain)

Modified: trunk/boost/phoenix/operator/member.hpp
==============================================================================
--- trunk/boost/phoenix/operator/member.hpp (original)
+++ trunk/boost/phoenix/operator/member.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -44,7 +44,7 @@
 
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: trunk/boost/phoenix/operator/preprocessed/member_10.hpp
==============================================================================
--- trunk/boost/phoenix/operator/preprocessed/member_10.hpp (original)
+++ trunk/boost/phoenix/operator/preprocessed/member_10.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {}; namespace functional { typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace result_of { template <typename Lhs, typename Rhs> struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template <typename Rhs, typename Lhs> inline typename result_of::make_mem_ptr<Rhs, Lhs>::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); }
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: trunk/boost/phoenix/operator/preprocessed/member_20.hpp
==============================================================================
--- trunk/boost/phoenix/operator/preprocessed/member_20.hpp (original)
+++ trunk/boost/phoenix/operator/preprocessed/member_20.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {}; namespace functional { typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace result_of { template <typename Lhs, typename Rhs> struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template <typename Rhs, typename Lhs> inline typename result_of::make_mem_ptr<Rhs, Lhs>::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); }
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: trunk/boost/phoenix/operator/preprocessed/member_30.hpp
==============================================================================
--- trunk/boost/phoenix/operator/preprocessed/member_30.hpp (original)
+++ trunk/boost/phoenix/operator/preprocessed/member_30.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {}; namespace functional { typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace result_of { template <typename Lhs, typename Rhs> struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template <typename Rhs, typename Lhs> inline typename result_of::make_mem_ptr<Rhs, Lhs>::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); }
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: trunk/boost/phoenix/operator/preprocessed/member_40.hpp
==============================================================================
--- trunk/boost/phoenix/operator/preprocessed/member_40.hpp (original)
+++ trunk/boost/phoenix/operator/preprocessed/member_40.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {}; namespace functional { typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace result_of { template <typename Lhs, typename Rhs> struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template <typename Rhs, typename Lhs> inline typename result_of::make_mem_ptr<Rhs, Lhs>::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); }
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: trunk/boost/phoenix/operator/preprocessed/member_50.hpp
==============================================================================
--- trunk/boost/phoenix/operator/preprocessed/member_50.hpp (original)
+++ trunk/boost/phoenix/operator/preprocessed/member_50.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {}; namespace functional { typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace result_of { template <typename Lhs, typename Rhs> struct make_mem_ptr : boost::result_of< functional:: make_mem_ptr( Lhs, Rhs ) > {}; } template <typename Rhs, typename Lhs> inline typename result_of::make_mem_ptr<Rhs, Lhs>::type make_mem_ptr(Lhs const & lhs, Rhs const & rhs) { return functional::make_mem_ptr()(lhs, rhs); }
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: trunk/boost/serialization/export.hpp
==============================================================================
--- trunk/boost/serialization/export.hpp (original)
+++ trunk/boost/serialization/export.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -124,7 +124,7 @@
 
 template<class T>
 struct guid_initializer
-{
+{
     void export_guid(mpl::false_) const {
         // generates the statically-initialized objects whose constructors
         // register the information allowing serialization of T objects

Modified: trunk/boost/serialization/extended_type_info.hpp
==============================================================================
--- trunk/boost/serialization/extended_type_info.hpp (original)
+++ trunk/boost/serialization/extended_type_info.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -91,9 +91,21 @@
 
 template<class T>
 struct guid_defined : boost::mpl::false_ {};
+
+namespace ext {
+ template <typename T>
+ struct guid_impl
+ {
+ static inline const char * call()
+ {
+ return NULL;
+ }
+ };
+}
+
 template<class T>
 inline const char * guid(){
- return NULL;
+ return ext::guid_impl<T>::call();
 }
 
 } // namespace serialization

Modified: trunk/boost/typeof/native.hpp
==============================================================================
--- trunk/boost/typeof/native.hpp (original)
+++ trunk/boost/typeof/native.hpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -38,7 +38,7 @@
 
 #endif//BOOST_NO_SFINAE
 
-#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD(boost::type_of::ensure_obj(expr))
+#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD((expr))
 #define BOOST_TYPEOF_TPL BOOST_TYPEOF
 
 #define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \

Modified: trunk/libs/phoenix/preprocess/wave.cfg
==============================================================================
--- trunk/libs/phoenix/preprocess/wave.cfg (original)
+++ trunk/libs/phoenix/preprocess/wave.cfg 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -1,12 +1,16 @@
 -DBOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
 -DBOOST_PHOENIX_CREATE_PREPROCESSED_FILES
 -S/home/thomas/programming/boost/trunk
+-S/home/heller/programming/boost/trunk
 -S/home/cip/ce/sithhell/programming/boost
 -S/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/include
+-S/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/include
 -S/usr/lib/gcc/i486-linux-gnu/4.4.5/include
 -S/usr/include/c++/4.6.0
+-S/usr/include/c++/4.6.1
 -S/usr/include/c++/4.4.5
 -S/usr/include/c++/4.6.0/x86_64-unknown-linux-gnu
+-S/usr/include/c++/4.6.1/x86_64-unknown-linux-gnu
 -S/usr/include/c++/4.4.5/i486-linux-gnu
 -S/usr/include
 --variadics

Modified: trunk/libs/phoenix/test/operator/member.cpp
==============================================================================
--- trunk/libs/phoenix/test/operator/member.cpp (original)
+++ trunk/libs/phoenix/test/operator/member.cpp 2011-10-18 12:09:48 EDT (Tue, 18 Oct 2011)
@@ -43,21 +43,17 @@
     Test* ptr = &test;
 
     BOOST_TEST((val(ptr)->*&Test::value)() == 1);
- /*
     BOOST_TEST((val(cptr)->*&Test::value)() == 1);
     BOOST_TEST((arg1->*&Test::value)(cptr) == 1);
- */
 
- /*
     ((val(ptr)->*&Test::value) = 2)();
     BOOST_TEST(test.value == 2);
- */
 
 
- BOOST_TEST((val(ptr)->*&Test::func)(3)() == 3);
+ BOOST_TEST((val(ptr)->*&Test::func)(val(3))() == 3);
     int i = 33;
     BOOST_TEST((arg1->*&Test::func)(arg2)(cptr, i) == i);
- BOOST_TEST((val(cptr)->*&Test::func)(4)() == 4);
+ //BOOST_TEST((val(cptr)->*&Test::func)(4)() == 4);
     BOOST_TEST((val(ptr)->*&Test::dunc)()() == 10);
 
     BOOST_TEST((arg1->*&Test::func)(5)(ptr) == 5);
@@ -65,32 +61,32 @@
 
     shared_ptr<Test> sptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(sptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(sptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(6)(sptr) == 6);
 
     scoped_ptr<Test> scptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(scptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(scptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(7)(scptr) == 7);
 
     shared_ptr<const Test> csptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(csptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(csptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(8)(csptr) == 8);
 
     scoped_ptr<const Test> cscptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(cscptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(cscptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(9)(cscptr) == 9);
 
     std::auto_ptr<Test> aptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(aptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(aptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(10)(aptr) == 10);
 
     std::auto_ptr<const Test> captr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(captr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(captr) == 2);
     BOOST_TEST((arg1->*&Test::func)(11)(captr) == 11);
 
     return boost::report_errors();


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