| 40 | using axes_map = std::vector<std::vector<std::size_t>>; |
| 41 | |
| 42 | static all_lens get_all_lens(const shape_transform_descriptor& d) |
| 43 | { |
| 44 | all_lens result; |
| 45 | std::transform( |
| 46 | d.dimensions.begin(), d.dimensions.end(), std::back_inserter(result), [](const auto& dim) { |
| 47 | std::vector<std::size_t> sub_lens; |
| 48 | std::transform(dim.subdimensions.begin(), |
| 49 | dim.subdimensions.end(), |
| 50 | std::back_inserter(sub_lens), |
| 51 | [](const auto& x) { return x.len; }); |
| 52 | return sub_lens; |
| 53 | }); |
| 54 | return result; |
| 55 | } |
| 56 | |
| 57 | static final_lens get_final_lens(const shape_transform_descriptor& d) |
| 58 | { |