diff --git a/include/chaiscript/dispatchkit/handle_return.hpp b/include/chaiscript/dispatchkit/handle_return.hpp index ed165e02..d028e85f 100644 --- a/include/chaiscript/dispatchkit/handle_return.hpp +++ b/include/chaiscript/dispatchkit/handle_return.hpp @@ -54,9 +54,7 @@ namespace chaiscript { static Boxed_Value handle(const std::function &f) { return Boxed_Value( - std::shared_ptr( - new dispatch::Proxy_Function_Impl(f) - ) + chaiscript::make_shared>(f) ); } }; @@ -66,10 +64,8 @@ namespace chaiscript { static Boxed_Value handle(const std::function &f) { return Boxed_Value( - std::shared_ptr( - new Proxy_Function_Impl(f) - ) - ); + chaiscript::make_shared>(f) + ); } }; @@ -78,12 +74,7 @@ namespace chaiscript { static Boxed_Value handle(const std::shared_ptr> &f) { return Boxed_Value( - std::shared_ptr( - new Assignable_Proxy_Function_Impl( - std::ref(*f), - f - ) - ) + chaiscript::make_shared>(std::ref(*f),f) ); } }; @@ -93,13 +84,8 @@ namespace chaiscript { static Boxed_Value handle(const std::shared_ptr> &f) { return Boxed_Value( - std::shared_ptr( - new Assignable_Proxy_Function_Impl( - std::ref(*f), - f - ) - ) - ); + chaiscript::make_shared>(std::ref(*f),f) + ); } }; @@ -108,13 +94,8 @@ namespace chaiscript { static Boxed_Value handle(const std::shared_ptr> &f) { return Boxed_Value( - std::shared_ptr( - new Assignable_Proxy_Function_Impl( - std::ref(*f), - f - ) - ) - ); + chaiscript::make_shared>(std::ref(*f),f) + ); } }; @@ -123,20 +104,14 @@ namespace chaiscript { static Boxed_Value handle(std::function &f) { return Boxed_Value( - std::shared_ptr( - new Assignable_Proxy_Function_Impl( - std::ref(f), - std::shared_ptr>() - ) - ) - ); + chaiscript::make_shared>(std::ref(f), + std::shared_ptr>()) + ); } static Boxed_Value handle(const std::function &f) { return Boxed_Value( - std::shared_ptr( - new dispatch::Proxy_Function_Impl(f) - ) + chaiscript::make_shared>(f) ); } };