diff options
author | reduz <reduzio@gmail.com> | 2020-10-13 15:59:37 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2020-10-14 15:24:30 +0200 |
commit | b8c64184c628dba6b54b4beb5a38e292a182bd6f (patch) | |
tree | 7ffaba5d7fecfb9d16e0c47a18ffdd98117a2eea /core/array.cpp | |
parent | bc91e088e4503bbf1c5800282f2974011a4cc8e8 (diff) | |
download | redot-engine-b8c64184c628dba6b54b4beb5a38e292a182bd6f.tar.gz |
Refactored binding system for core types
Moved to a system using variadic templates, shared with CallableBind.
New code is cleaner, faster and allows for much better optimization of core
type functions from GDScript and GDNative.
Added Variant::InternalMethod function for direct call access.
Diffstat (limited to 'core/array.cpp')
-rw-r--r-- | core/array.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/core/array.cpp b/core/array.cpp index d1c0688e63..3c6c8e768b 100644 --- a/core/array.cpp +++ b/core/array.cpp @@ -330,9 +330,8 @@ struct _ArrayVariantSort { } }; -Array &Array::sort() { +void Array::sort() { _p->array.sort_custom<_ArrayVariantSort>(); - return *this; } struct _ArrayVariantSortCustom { @@ -349,14 +348,13 @@ struct _ArrayVariantSortCustom { return res; } }; -Array &Array::sort_custom(Object *p_obj, const StringName &p_function) { - ERR_FAIL_NULL_V(p_obj, *this); +void Array::sort_custom(Object *p_obj, const StringName &p_function) { + ERR_FAIL_NULL(p_obj); SortArray<Variant, _ArrayVariantSortCustom, true> avs; avs.compare.obj = p_obj; avs.compare.func = p_function; avs.sort(_p->array.ptrw(), _p->array.size()); - return *this; } void Array::shuffle() { @@ -415,9 +413,8 @@ int Array::bsearch_custom(const Variant &p_value, Object *p_obj, const StringNam return bisect(_p->array, p_value, p_before, less); } -Array &Array::invert() { +void Array::invert() { _p->array.invert(); - return *this; } void Array::push_front(const Variant &p_value) { |