Update Changelog
[profile/ivi/libgee.git] / gee / bidiriterator.vala
1 /* bidiriterator.vala
2  *
3  * Copyright (C) 2009  Didier Villevalois, Maciej Piechotka
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
18  *
19  * Author:
20  *      Maciej Piechotka <uzytkownik2@gmail.com>
21  */
22
23 /**
24  * A bi-directional iterator.
25  */
26 [GenericAccessors]
27 public interface Gee.BidirIterator<G> : Gee.Iterator<G> {
28         /**
29          * Rewinds to the previous element in the iteration.
30          *
31          * @return ``true`` if the iterator has a previous element
32          */
33         public abstract bool previous ();
34
35         /**
36          * Checks whether there is a previous element in the iteration.
37          *
38          * @return ``true`` if the iterator has a previous element
39          */
40         public abstract bool has_previous ();
41
42         /**
43          * Rewinds to the first element in the iteration.
44          *
45          * @return ``true`` if the iterator has a first element
46          */
47         public abstract bool first ();
48
49         /**
50          * Advances to the last element in the iteration.
51          *
52          * @return ``true`` if the iterator has a last element
53          */
54         public abstract bool last ();
55 }