diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2016-10-03 11:34:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-03 11:34:03 +0200 |
commit | cf4693cf18ec6ccdd3ccb4e416d3520efbf26010 (patch) | |
tree | d748b06d5225bd2ed29861c79bfa8212c4499523 /core/array.cpp | |
parent | 3ecd8560fd90a615d80a447b04e713bb2c600fe4 (diff) | |
parent | 1a7aae7443194f7d6137901af369c843b3911b4f (diff) |
Merge pull request #6304 from razvanc-r/master
(Array) .pop_front, .pop_back & .remove return values instead of void
Diffstat (limited to 'core/array.cpp')
-rw-r--r-- | core/array.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/core/array.cpp b/core/array.cpp index 23792f90fc..683a43e3d0 100644 --- a/core/array.cpp +++ b/core/array.cpp @@ -276,16 +276,26 @@ void Array::push_front(const Variant& p_value) { _p->array.insert(0,p_value); } -void Array::pop_back(){ +Variant Array::pop_back(){ - if (!_p->array.empty()) - _p->array.resize( _p->array.size() -1 ); + if (!_p->array.empty()) { + int n = _p->array.size() - 1; + Variant ret = _p->array.get(n); + _p->array.resize(n); + return ret; + } + return Variant(); } -void Array::pop_front(){ - if (!_p->array.empty()) +Variant Array::pop_front(){ + + if (!_p->array.empty()) { + Variant ret = _p->array.get(0); _p->array.remove(0); + return ret; + } + return Variant(); } |