我正在为Java风格的枚举器实现一个输入迭代器façade(参见示例)。
Enumerator enum = source.enumerator();
while(enum.has_next()) {
auto y = enum.next();
//do something with y
}
façade以std::istream_iterator
为模型,在迭代器递增时调用next
。当前值存储在迭代器中。
由于枚举器遍历的对象模型中的一些要求,我不能简单地将constness应用于迭代器(pointer
,reference
)的成员typedef,并且必须返回一个可变引用/指向operator*
和operator->
中提取的值的指针。
这种方法是否根据C ++标准建模了有效的输入迭代器?