diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-03-28 09:13:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-28 09:13:19 +0200 |
commit | 097b81f1476a334cd5b00f97f9cd1e32d69851f1 (patch) | |
tree | f41554af6d653470006857c2285f9681e1b61964 /core/variant/callable.cpp | |
parent | 7fe5bece45123b21a558f1aa445802e6247699c4 (diff) | |
parent | 9c2bfeb2fbad050322a3899451179bb346af7f64 (diff) |
Merge pull request #59611 from mashumafi/const-ref-callable
Const Ref Callable for custom sort/search
Diffstat (limited to 'core/variant/callable.cpp')
-rw-r--r-- | core/variant/callable.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/variant/callable.cpp b/core/variant/callable.cpp index 48ed48d120..516b8f2d51 100644 --- a/core/variant/callable.cpp +++ b/core/variant/callable.cpp @@ -429,3 +429,13 @@ Signal::Signal(ObjectID p_object, const StringName &p_name) { object = p_object; name = p_name; } + +bool CallableComparator::operator()(const Variant &p_l, const Variant &p_r) const { + const Variant *args[2] = { &p_l, &p_r }; + Callable::CallError err; + Variant res; + func.call(args, 2, res, err); + ERR_FAIL_COND_V_MSG(err.error != Callable::CallError::CALL_OK, false, + "Error calling compare method: " + Variant::get_callable_error_text(func, args, 1, err)); + return res; +} |