{
++get_holder();
return *this;
}
any_input_iterator_holder&
get_holder()
const {
yassume(obj.get_holder());
return static_cast<any_input_iterator_holder&>(*obj.get_holder());
}
};
template<
typename _type,
typename _tPointer,
typename _tReference>
inline booloperator==(
const any_input_iterator<_type, _tPointer, _tReference>& x,
const any_input_iterator<_type, _tPointer, _tReference>& y)
{
y
constraint(x.get_holder().type() == y.get_holder().type());
return x.get_holder() == y.get_holder();
}
template<
typename _type,
typename _tPointer,
typename _tReference>
inline booloperator!=(
const any_input_iterator<_type, _tPointer, _tReference>& x,
const any_input_iterator<_type, _tPointer, _tReference>& y)
{
return !(x == y);
}
typedef ::any_input_iterator<void_ref, void*, void_ref>
input_monomorphic_iterator;