summaryrefslogtreecommitdiff
path: root/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp')
-rw-r--r--boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp27
1 files changed, 24 insertions, 3 deletions
diff --git a/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp b/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp
index cfed385bf4..8e0f53630d 100644
--- a/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.hpp
+++ b/boost/phoenix/operator/detail/preprocessed/mem_fun_ptr_gen_50.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
@@ -1053,5 +1053,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);
+ }
+ };
}
}}