|
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