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::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
{
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 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@ic unicamp br, felipe.m.almeida@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