ReturnType operator()(Vcf::Entry const& entry) const { auto rawvs = Vcf::RawVariant::processEntry(entry); ReturnType rv; for (auto i = rawvs.begin(); i != rawvs.end(); ++i) { // if we set the region begin to the region end then // we would be reporting only the start position. // that is a useful option sometimes. rv.insert(i->region()); } // For ref-only entries: if (rawvs.empty()) { Region reg{entry.start(), entry.stop()}; rv.insert(reg); } return rv; }