| 667 | } |
| 668 | |
| 669 | std::unique_ptr<cmList::TransformSelector> cmList::TransformSelector::NewFOR( |
| 670 | std::initializer_list<index_type> indexes) |
| 671 | { |
| 672 | if (indexes.size() < 2 || indexes.size() > 3) { |
| 673 | throw transform_error("sub-command TRANSFORM, selector FOR " |
| 674 | "expects 2 or 3 arguments"); |
| 675 | } |
| 676 | if (indexes.size() == 3 && *(indexes.begin() + 2) < 0) { |
| 677 | throw transform_error("sub-command TRANSFORM, selector FOR expects " |
| 678 | "positive numeric value for <step>."); |
| 679 | } |
| 680 | |
| 681 | return cm::make_unique<TransformSelectorFor>( |
| 682 | *indexes.begin(), *(indexes.begin() + 1), |
| 683 | indexes.size() == 3 ? *(indexes.begin() + 2) : 1); |
| 684 | } |
| 685 | std::unique_ptr<cmList::TransformSelector> cmList::TransformSelector::NewFOR( |
| 686 | std::vector<index_type> const& indexes) |
| 687 | { |
nothing calls this directly
no test coverage detected