id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 11847,reference typedef no longer available in parent class of iterator_facade,alexhighviz@…,jeffrey.hellrung,"The iterator_facade defines the reference type. In Boost version 1.56 the parent class to the facade could make use of this type, from version 1.57 this is no longer possible. This is not difficult to work around, but does cause existing code to fail. I am using Visual Studio 2013 (12.0) See code below: #include #include template class simple_iterator : public boost::iterator_facade, T, boost::forward_traversal_tag> { public: simple_iterator(const typename std::vector::iterator& i) : m_iter(i) {} private: friend boost::iterator_core_access; /* The commented line compiled in 1.56 but no longer so in 1.57 */ /* reference dereference() const { return *m_iter; } */ T& dereference() const { return *m_iter; } bool equal(const simple_iterator& that) { return m_iter == that.m_iter; } void increment() { ++m_iter; } typename std::vector::iterator m_iter; }; int main() { std::vector v = { 1, 2, 3 } ; simple_iterator i(v.begin()); simple_iterator::reference vi = *i; return 0; }",Bugs,new,To Be Determined,iterator,Boost 1.57.0,Problem,,,raad@…