diff options
Diffstat (limited to 'boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp')
-rw-r--r-- | boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp b/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp index 216c3e6f7d..0e2e30579a 100644 --- a/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp +++ b/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_10.hpp @@ -12,9 +12,9 @@ namespace boost { namespace phoenix template <typename Object, typename MemPtr> struct mem_fun_ptr_gen { - mem_fun_ptr_gen(Object const& obj, MemPtr ptr) - : obj(obj) - , ptr(ptr) + mem_fun_ptr_gen(Object const& obj_, MemPtr ptr_) + : obj(obj_) + , ptr(ptr_) {} typename phoenix::expression::mem_fun_ptr<Object, MemPtr>::type const operator()() const @@ -213,5 +213,26 @@ namespace boost { namespace phoenix Object const& obj; MemPtr ptr; }; + struct make_mem_fun_ptr_gen + : proto::callable + { + template<typename Sig> + struct result; + template<typename This, typename Object, typename MemPtr> + struct result<This(Object, MemPtr)> + { + typedef + mem_fun_ptr_gen< + typename remove_const<typename remove_reference<Object>::type>::type + , typename remove_const<typename remove_reference<MemPtr>::type>::type + > + type; + }; + template<typename Object, typename MemPtr> + mem_fun_ptr_gen<Object, MemPtr> operator()(Object const & obj, MemPtr ptr) const + { + return mem_fun_ptr_gen<Object, MemPtr>(obj, ptr); + } + }; } }} |