Stores the output string and the read index number for an * alignment. */
| 196 | /** Stores the output string and the read index number for an |
| 197 | * alignment. */ |
| 198 | struct OutData |
| 199 | { |
| 200 | string s; |
| 201 | size_t index; |
| 202 | |
| 203 | OutData(string s = string(), size_t index = 0) |
| 204 | : s(s), index(index) { } |
| 205 | |
| 206 | /** Operator needed for sorting priority queue. */ |
| 207 | bool operator<(const OutData& a) const |
| 208 | { |
| 209 | // Smaller index number has higher priority. |
| 210 | return index > a.index; |
| 211 | } |
| 212 | }; |
| 213 | |
| 214 | /** Shares data between workers and the output thread. */ |
| 215 | static Pipe<OutData> g_pipeOut(1<<7); |