Merge pull request #71786 from raulsntos/dotnet/array

Sync C# Array with Core
This commit is contained in:
Rémi Verschelde 2023-02-04 00:24:06 +01:00
commit bbff9fd7a4
No known key found for this signature in database
GPG key ID: C3336907360768E1
6 changed files with 1008 additions and 49 deletions

View file

@ -629,14 +629,14 @@ void Array::shuffle() {
}
}
int Array::bsearch(const Variant &p_value, bool p_before) {
int Array::bsearch(const Variant &p_value, bool p_before) const {
Variant value = p_value;
ERR_FAIL_COND_V(!_p->typed.validate(value, "binary search"), -1);
SearchArray<Variant, _ArrayVariantSort> avs;
return avs.bisect(_p->array.ptrw(), _p->array.size(), value, p_before);
}
int Array::bsearch_custom(const Variant &p_value, const Callable &p_callable, bool p_before) {
int Array::bsearch_custom(const Variant &p_value, const Callable &p_callable, bool p_before) const {
Variant value = p_value;
ERR_FAIL_COND_V(!_p->typed.validate(value, "custom binary search"), -1);

View file

@ -83,8 +83,8 @@ public:
void sort();
void sort_custom(const Callable &p_callable);
void shuffle();
int bsearch(const Variant &p_value, bool p_before = true);
int bsearch_custom(const Variant &p_value, const Callable &p_callable, bool p_before = true);
int bsearch(const Variant &p_value, bool p_before = true) const;
int bsearch_custom(const Variant &p_value, const Callable &p_callable, bool p_before = true) const;
void reverse();
int find(const Variant &p_value, int p_from = 0) const;