This commit is contained in:
2025-08-06 02:06:20 +03:00
parent 138e4bf84d
commit 6315d5e18e
15 changed files with 630 additions and 152 deletions

View File

@@ -95,5 +95,29 @@ auto mccCheckInZonePZTuple(const TelemetryDataT& telemetry_data,
}(std::make_index_sequence<sizeof...(ZTs)>{});
}
template <traits::mcc_mount_telemetry_data_c TelemetryDataT,
traits::mcc_irange_of_pzones_c<TelemetryDataT> RT,
std::ranges::output_range<bool> ResT>
auto mccCheckInZonePZRange(const TelemetryDataT& telemetry_data, const RT& pzones, ResT& result)
{
auto Npz = std::ranges::distance(pzones);
if (!Npz) {
return;
}
auto res_sz = std::ranges::distance(result);
size_t i = 1;
auto res_iter = result.begin();
for (auto& el : pzones) {
if (i > res_sz) {
std::back_inserter(result) = el.inZone(telemetry_data);
} else {
std::ranges::advance(res_iter, 1);
*res_iter = el.inZone(telemetry_data);
}
++i;
}
}
} // namespace mcc