36 return edgeInfos_.find(edge.
key())->second;
40 class S :
public Scanner {
42 inline S(
const std::unordered_map<uint, EdgeInfo>& edgeInfos) :
43 idx_(edgeInfos.begin()), edgeInfos_(edgeInfos) {}
44 inline S(
const S&
scan) : idx_(
scan.idx_), edgeInfos_(
scan.edgeInfos_) {}
45 inline bool eos()
const {
return idx_ == edgeInfos_.end(); }
46 inline EdgeInfo& operator++(
int) {
47 return const_cast<EdgeInfo&
>((*idx_++).second);
49 inline S* clone()
const {
return new S(*
this); }
51 std::unordered_map<uint, EdgeInfo>::const_iterator idx_;
52 const std::unordered_map<uint, EdgeInfo>& edgeInfos_;
55 std::unordered_map<uint, EdgeInfo> edgeInfos_;