boost::type_erasure::forward_iterator
// In header: <boost/type_erasure/iterator.hpp> template<typename T = _self, typename Reference, typename DifferenceType> struct forward_iterator : public { };