[libgee] Change default implementation of fold
- From: Maciej Marcin Piechotka <mpiechotka src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgee] Change default implementation of fold
- Date: Wed, 27 Apr 2011 21:28:03 +0000 (UTC)
commit 5975c7f02b3baa7d479889ba144cd8ff59b4db5b
Author: Maciej Piechotka <uzytkownik2 gmail com>
Date: Tue Apr 26 11:53:38 2011 +0200
Change default implementation of fold
gee/iterator.vala | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/gee/iterator.vala b/gee/iterator.vala
index 48d50b8..563a2dd 100644
--- a/gee/iterator.vala
+++ b/gee/iterator.vala
@@ -90,13 +90,12 @@ public interface Gee.Iterator<G> : Object {
*
* Operation moves the iterator to last element in iteration. If iterator
* points at some element it will be included in iteration.
+ *
+ * Note: Default implementation uses { link foreach}.
*/
public virtual A fold<A> (FoldFunc<A, G> f, owned A seed)
{
- if (valid)
- seed = f (get (), (owned) seed);
- while (next ())
- seed = f (get (), (owned) seed);
+ this.foreach ((item) => {seed = f (item, (owned) seed);});
return (owned) seed;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]