-
Notifications
You must be signed in to change notification settings - Fork 0
list const_iterator
struct const_iterator
Points to an item in an list container.
-
typedef value_type type
so that generic wrappers can access the parent container'svalue_type
-
const list<value_type> *root
is a pointer to the parent container. -
const end_item *loc
is the item pointed to by this iterator.
const_iterator()
The default constructor. root
and loc
are both set to NULL
.
const_iterator(const list<value_type> *root, const end_item *loc)
This sets root
and loc
directly. It's protected member that should only be used by the parent container.
const_iterator(const iterator ©)
const_iterator(const const_iterator ©)
A copy constructor that sets root
and loc
.
operator bool()
checks whether this iterator points to a valid item in the list.
const value_type &operator*()
returns this iterator's value.
const value_type *operator->()
The dot operator for this iterator's value.
const value_type *ptr()
returns a pointer to this iterator's value.
const value_type &get()
returns this iterator's value.
const_iterator &ref()
This is a placeholder function. It just returns the same iterator.
int idx()
returns the current index of this iterator by iterating from the beginning of the list to this iterator and counting.
const_iterator &operator++()
Increments the iterator to the next item.
const_iterator &operator--()
Decrements the iterator to the previous item.
const_iterator &operator+=(int n)
Increments the iterator by n
.
const_iterator &operator-=(int n)
Decrements the iterator by n
.
const_iterator operator+(int n)
Returns the iterator n
elements ahead of this one.
const_iterator operator-(int n)
Returns the iterator n
elements behind this one.
bool operator==(iterator i)
bool operator!=(iterator i)
bool operator==(const_iterator i)
bool operator!=(const_iterator i)
Comparison operations between iterators compares loc
.
int operator-(iterator i)
int operator-(const_iterator i)
Returns the number of elements between i
and this iterator by iterating from i
to this iterator and counting.
slice<range<const_iterator> > sub(int length)
list<value_type> subcpy(int length)
Returns a slice or copy starting at this iterator for a given length
.
slice<range<const_iterator> > sub()
list<value_type> subcpy()
Returns a slice or copy from this iterator to the end of the container.
const_iterator &operator=(const_iterator i)
const_iterator &operator=(iterator i)
set the index of this iterator equal to the index of another.
#include <std/ascii_stream.h>
#include <std/list.h>
using namespace core;
int main()
{
list<int> lst = list<int>::values(8, 9, 2, 4, 6, 4, 2, 8, 7);
for (list<int>::const_iterator i = lst.begin(); i != lst.end(); i++)
cout << i.idx() << ": " << *i << endl;
cout << lst << endl;
return 0;
}
0: 9
1: 2
2: 4
3: 6
4: 4
5: 2
6: 8
7: 7
{9, 2, 4, 8, 7}