| 465 | |
| 466 | template <class Policy> |
| 467 | cmsys::Status Impl<Policy>::Resolve(std::string in, std::string& out) |
| 468 | { |
| 469 | P = std::move(in); |
| 470 | std::replace(P.begin(), P.end(), '\\', '/'); |
| 471 | for (;;) { |
| 472 | Control control = this->ResolvePath(); |
| 473 | switch (control.tag) { |
| 474 | case Control::Tag::Continue: |
| 475 | out = std::move(P); |
| 476 | return cmsys::Status::Success(); |
| 477 | case Control::Tag::Restart: |
| 478 | continue; |
| 479 | case Control::Tag::Error: |
| 480 | out = std::move(P); |
| 481 | return control.error; |
| 482 | }; |
| 483 | } |
| 484 | } |
| 485 | |
| 486 | } |
| 487 |
no test coverage detected