| 60 | } |
| 61 | |
| 62 | static inline void markSeenInPath(std::istream& in, |
| 63 | std::vector<bool>& marked) |
| 64 | { |
| 65 | assert(in.good()); |
| 66 | std::string s; |
| 67 | ContigPath path; |
| 68 | while (in >> s >> path) { |
| 69 | if (path.empty()) { |
| 70 | size_t i = get(g_contigNames, s); |
| 71 | assert(i < marked.size()); |
| 72 | marked[i] = true; |
| 73 | } |
| 74 | for (ContigPath::const_iterator it = path.begin(); |
| 75 | it != path.end(); ++it) { |
| 76 | if (!it->ambiguous()) { |
| 77 | size_t i = it->contigIndex(); |
| 78 | assert(i < marked.size()); |
| 79 | marked[i] = true; |
| 80 | } |
| 81 | } |
| 82 | } |
| 83 | assert(in.eof()); |
| 84 | } |
| 85 | |
| 86 | #endif |