aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-iterator.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-07-08 00:13:17 +0800
committerChris Lahey <clahey@src.gnome.org>2000-07-08 00:13:17 +0800
commitf0c10e106c6d47e4817f118ff94555a15dfbed00 (patch)
tree2019b77f6a141f93609ecbe3d79dabc609da89fa /e-util/e-iterator.c
parentd6fdf08d681d4db1687705e2d19e6c1db1acf5e4 (diff)
downloadgsoc2013-evolution-f0c10e106c6d47e4817f118ff94555a15dfbed00.tar.gz
gsoc2013-evolution-f0c10e106c6d47e4817f118ff94555a15dfbed00.tar.zst
gsoc2013-evolution-f0c10e106c6d47e4817f118ff94555a15dfbed00.zip
Added last and insert functions.
2000-07-07 Christopher James Lahey <clahey@helixcode.com> * e-iterator.c, e-iterator.h, e-list-iterator.c, e-list-iterator.h: Added last and insert functions. svn path=/trunk/; revision=3946
Diffstat (limited to 'e-util/e-iterator.c')
-rw-r--r--e-util/e-iterator.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/e-util/e-iterator.c b/e-util/e-iterator.c
index cff6fec946..874d05ccea 100644
--- a/e-util/e-iterator.c
+++ b/e-util/e-iterator.c
@@ -82,9 +82,11 @@ e_iterator_class_init (EIteratorClass *klass)
klass->invalidate = NULL;
klass->get = NULL;
klass->reset = NULL;
+ klass->last = NULL;
klass->next = NULL;
klass->prev = NULL;
klass->delete = NULL;
+ klass->insert = NULL;
klass->set = NULL;
klass->is_valid = NULL;
}
@@ -116,6 +118,13 @@ e_iterator_reset (EIterator *iterator)
ECI_CLASS(iterator)->reset(iterator);
}
+void
+e_iterator_last (EIterator *iterator)
+{
+ if (ECI_CLASS(iterator)->last)
+ ECI_CLASS(iterator)->last(iterator);
+}
+
gboolean
e_iterator_next (EIterator *iterator)
{
@@ -141,6 +150,14 @@ e_iterator_delete (EIterator *iterator)
ECI_CLASS(iterator)->delete(iterator);
}
+void e_iterator_insert (EIterator *iterator,
+ const void *object,
+ gboolean before)
+{
+ if (ECI_CLASS(iterator)->insert)
+ ECI_CLASS(iterator)->insert(iterator, object, before);
+}
+
void
e_iterator_set (EIterator *iterator,
const void *object)