HI,
I'm using the boost iterator_facade class to implement a random access iterator for my class. When I try to assign the iterators to one another, the compiler fails saying

'operator =' function is unavailable".

Sample code from my implementation below:

class MyClass{
    class Iterator : public boost::iterator_facade<Iterator, T, boost::bidirectional_traversal_tag>{         protected:
        void increment();
        bool equal(const Iterator& rhs)const; //etc
        //... Note - no method implemented to support assignment
    }
}


I'd assumed that it'll be possible to assign iterators to each other. Why is the assignment operator not supported by iterator_facade. It implements other operations (like ++ and ==)by making the derived version implement private methods (like increment and equal). Am I missing something. The boost documentation doesn't mention why this is not supported.
Thanks
AR