| 305 | } |
| 306 | |
| 307 | void ProjectExecPlan(TVector<ui16>* res, const TVector<bool>& selectedComps) { |
| 308 | for (int ptr = 0; ptr < res->ysize();) { |
| 309 | ui16 comp = (*res)[ptr]; |
| 310 | if (comp >= N_GROUP_FIRST_CODE) { |
| 311 | ++ptr; |
| 312 | continue; |
| 313 | } |
| 314 | if (comp >= selectedComps.ysize() || selectedComps[comp] == false) { |
| 315 | res->erase(res->begin() + ptr); |
| 316 | while (ptr < res->ysize() && (*res)[ptr] == N_GROUP_END && (*res)[ptr - 1] == N_GROUP_START) { |
| 317 | res->erase(res->begin() + ptr - 1, res->begin() + ptr + 1); |
| 318 | --ptr; |
| 319 | } |
| 320 | } else |
| 321 | ++ptr; |
| 322 | } |
| 323 | } |
| 324 | |
| 325 | void GetSelectedCompList(TVector<bool>* res, const TVector<ui16>& plan) { |
| 326 | res->resize(0); |
no test coverage detected