Boost logo

Boost Users :

From: Felipe Magno de Almeida (felipe.almeida_at_[hidden])
Date: 2005-01-16 01:50:02


I'm trying to create an iterator from a class that is almost an
iterator, it worked fine for const iterator with counting_iterator, but
when I needed to dereference it, it complained about this:
error C2440: 'return' : cannot convert from 'const
xmlmanager::xml_basic_node<T>' to
'boost::iterator_facade<Derived,Value,CategoryOrTraversal,Reference,Difference>::reference'
I think it is because it is still a const iterator...
But I need a mutable iterator, and I have no clue in how to do it...
I've tried the documentation, but it just explains what it is, but not
ho to do it. The way I'm doing the iterator is:

template <typename T>
class xml_basic_node : public xml_basic_container<T>,
        public
boost::iterator<boost::iterator_archetypes::readable_lvalue_iterator_t,
xml_basic_node<T> >
{
public:
        // some specifics constructors

        bool operator == (xml_basic_node<T> const &n) const
        {
                // compares equality
        }

        xml_basic_node<T> &operator ++()
        {
                // advances...
                return *this;
        }
};
and the iterator through counting_iterator:
template <typename T>
class acontainer {
        typedef boost::counting_iterator<xml_basic_node<T> > iterator;
};

If someone could, please point me where I am getting wrong... I am days
already trying to figure out how to do it...

Sorry for the size of the mail and thanks in advance.

-- 
    Felipe Magno de Almeida
    UIN: 2113442
     email: felipe.almeida_at_ic unicamp br, felipe.m.almeida_at_gmail com
I am a C, modern C++, MFC, ODBC, Windows Services, MAPI developer
from synergy, and Computer Science student from State
University of Campinas(UNICAMP).
To know more about:
Unicamp: http://www.ic.unicamp.br
Synergy: http://www.synergy.com.br
current work: http://www.mintercept.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net