1 --- boost_1_33_1/boost/archive/iterators/escape.hpp.orig 2006-07-20 16:13:40.880579250 +0200
2 +++ boost_1_33_1/boost/archive/iterators/escape.hpp 2006-07-20 16:13:54.897455250 +0200
4 BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type,
5 single_pass_traversal_tag,
6 BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type
10 typedef BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type base_value_type;
11 typedef BOOST_DEDUCED_TYPENAME boost::iterator_reference<Base>::type reference_type;
12 friend class boost::iterator_core_access;
14 typedef escape<Derived, Base> this_t;
16 bool equal(const this_t & rhs) const {
20 - && this->base_reference() == rhs.base_reference()
22 + if(m_full && ! rhs.m_full)
25 + if(! m_full && rhs.m_full)
27 + if(m_bnext != rhs.m_bnext)
29 + if(this->base_reference() != rhs.base_reference())
34 + reference_type dereference_impl() {
36 + m_current_value = static_cast<Derived *>(this)->fill(m_bnext, m_bend);
39 + return m_current_value;
42 //Access the value referred to
43 reference_type dereference() const {
44 - return m_current_value;
45 + return const_cast<this_t *>(this)->dereference_impl();
50 ++(this->base_reference());
53 - m_current_value = (static_cast<Derived *>(this))->fill(m_bnext, m_bend);
57 // buffer to handle pending characters
58 const base_value_type *m_bnext;
59 const base_value_type *m_bend;
60 - BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type m_current_value;
62 + BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type m_current_value;
71 - m_current_value = static_cast<Derived *>(this)->fill(m_bnext, m_bend);