Reduce the number of exceptions created at runtime

This commit is contained in:
Jason Turner 2015-03-25 13:36:02 -06:00
parent a75117c007
commit 62337062bf

View File

@ -74,9 +74,12 @@ namespace chaiscript
template<typename Type>
typename detail::Cast_Helper<Type>::Result_Type boxed_cast(const Boxed_Value &bv, const Type_Conversions *t_conversions = nullptr)
{
if (!t_conversions || bv.get_type_info().bare_equal(user_type<Type>()) || (t_conversions && !t_conversions->convertable_type<Type>())) {
try {
return detail::Cast_Helper<Type>::cast(bv, t_conversions);
} catch (const chaiscript::detail::exception::bad_any_cast &) {
}
}
#ifdef CHAISCRIPT_MSVC
@ -112,8 +115,6 @@ namespace chaiscript
#pragma warning(pop)
#endif
}
}
}