From 12d842ca5a89d6fba985275c73c5fae94d06a1c7 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Thu, 25 Apr 2013 12:21:41 -0600 Subject: [PATCH] Fix some additional warnings on MacOS --- .../chaiscript/dispatchkit/dynamic_object.hpp | 16 ++++++++-------- .../dispatchkit/proxy_functions_detail.hpp | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/chaiscript/dispatchkit/dynamic_object.hpp b/include/chaiscript/dispatchkit/dynamic_object.hpp index 175ad47..f8d55a6 100644 --- a/include/chaiscript/dispatchkit/dynamic_object.hpp +++ b/include/chaiscript/dispatchkit/dynamic_object.hpp @@ -78,7 +78,7 @@ namespace chaiscript virtual bool call_match(const std::vector &vals, const Dynamic_Cast_Conversions &t_conversions) const { - if (dynamic_object_typename_match(vals, m_type_name, m_ti)) + if (dynamic_object_typename_match(vals, m_type_name, m_ti, t_conversions)) { return m_func->call_match(vals, t_conversions); } else { @@ -108,7 +108,7 @@ namespace chaiscript protected: virtual Boxed_Value do_call(const std::vector ¶ms, const Dynamic_Cast_Conversions &t_conversions) const { - if (dynamic_object_typename_match(params, m_type_name, m_ti)) + if (dynamic_object_typename_match(params, m_type_name, m_ti, t_conversions)) { return (*m_func)(params, t_conversions); } else { @@ -116,9 +116,9 @@ namespace chaiscript } } - virtual bool compare_first_type(const Boxed_Value &bv) const + virtual bool compare_first_type(const Boxed_Value &bv, const Dynamic_Cast_Conversions &t_conversions) const { - return dynamic_object_typename_match(bv, m_type_name, m_ti); + return dynamic_object_typename_match(bv, m_type_name, m_ti, t_conversions); } private: @@ -139,13 +139,13 @@ namespace chaiscript } static bool dynamic_object_typename_match(const Boxed_Value &bv, const std::string &name, - const boost::optional &ti) + const boost::optional &ti, const Dynamic_Cast_Conversions &t_conversions) { static Type_Info doti = user_type(); if (bv.get_type_info().bare_equal(doti)) { try { - const Dynamic_Object &d = boxed_cast(bv); + const Dynamic_Object &d = boxed_cast(bv, &t_conversions); return name == "Dynamic_Object" || d.get_type_name() == name; } catch (const std::bad_cast &) { return false; @@ -162,11 +162,11 @@ namespace chaiscript } static bool dynamic_object_typename_match(const std::vector &bvs, const std::string &name, - const boost::optional &ti) + const boost::optional &ti, const Dynamic_Cast_Conversions &t_conversions) { if (bvs.size() > 0) { - return dynamic_object_typename_match(bvs[0], name, ti); + return dynamic_object_typename_match(bvs[0], name, ti, t_conversions); } else { return false; } diff --git a/include/chaiscript/dispatchkit/proxy_functions_detail.hpp b/include/chaiscript/dispatchkit/proxy_functions_detail.hpp index 4494193..cf29568 100644 --- a/include/chaiscript/dispatchkit/proxy_functions_detail.hpp +++ b/include/chaiscript/dispatchkit/proxy_functions_detail.hpp @@ -88,7 +88,7 @@ namespace chaiscript */ template Ret call_func(const boost::function &f, - const std::vector ¶ms, const Dynamic_Cast_Conversions & BOOST_PP_IF(n, t_conversions, )) + const std::vector ¶ms, const Dynamic_Cast_Conversions & BOOST_PP_IF(n, t_conversions, BOOST_PP_EMPTY)) { if (params.size() != n) { @@ -105,7 +105,7 @@ namespace chaiscript */ template bool compare_types_cast(Ret (*)(BOOST_PP_ENUM_PARAMS(n, Param)), - const std::vector & BOOST_PP_IF(n, params, ), const Dynamic_Cast_Conversions &t_conversions) + const std::vector & BOOST_PP_IF(n, params, BOOST_PP_EMPTY), const Dynamic_Cast_Conversions &t_conversions) { try { BOOST_PP_REPEAT(n, trycast, ~);