|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2002-07-26 10:10:24
OK, here's my (untested) singly-linked-list iterator:
typedef std::string slist_data;
struct slist_node
{
slist_node* next;
slist_data data;
};
struct slist_policies : default_iterator_policies
{
template <class IteratorAdaptor>
void increment(IteratorAdaptor& x) {
x.base() = x.base()->next;
}
template <class IteratorAdaptor>
typename IteratorAdaptor::reference dereference(IteratorAdaptor& x) {
return x.base()->data;
}
// initialize, equal covered by default policies
};
typedef iterator_adaptor<slist_node*, slist_policies, slist_data,
category_is<std::forward_iterator_tag> > slist_iterator;
typedef iterator_adaptor<slist_node const*, slist_policies, slist_data
const, category_is<std::forward_iterator_tag> > slist_const_iterator;
-Dave
-----------------------------------------------------------
David Abrahams * Boost Consulting
dave_at_[hidden] * http://www.boost-consulting.com
----- Original Message -----
From: "Jeremy Siek" <jsiek_at_[hidden]>
To: <Boost-Users_at_[hidden]>
Cc: <boost_at_[hidden]>
Sent: Friday, July 26, 2002 10:58 AM
Subject: Re: [Boost-Users] Re: [boost] Iterator Adaptor Poll
> On Fri, 26 Jul 2002, David Abrahams wrote:
> dave>
> dave> Don't you think people will find an iterator which traverses the
> dave> elements of a real sequence to be more-obvious? That's why I'm
> dave> suggesting the singly-linked list iterator.
>
> The singly-linked list example was the second thing that popped into my
> mind... I like that a lot too. Perhaps we should do both :)
>
> Cheers,
> Jeremy
>
>
> ----------------------------------------------------------------------
> Jeremy Siek http://php.indiana.edu/~jsiek/
> Ph.D. Student, Indiana Univ. B'ton email: jsiek_at_[hidden]
> C++ Booster (http://www.boost.org) office phone: (812) 855-3608
> ----------------------------------------------------------------------
>
>
> _______________________________________________
> Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk