presolve_compiler/
route_loader_projection.rs1use crate::RouteLoaderPlanV1;
3use serde::Serialize;
4pub const ROUTE_LOADER_PROJECTION_SCHEMA_VERSION: u32 = 1;
5#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
6pub struct RouteLoaderProjectionV1 {
7 pub schema_version: u32,
8 pub route_count: usize,
9 pub loader_count: usize,
10}
11#[must_use]
12pub fn build_route_loader_projection_v1(plan: &RouteLoaderPlanV1) -> RouteLoaderProjectionV1 {
13 RouteLoaderProjectionV1 {
14 schema_version: ROUTE_LOADER_PROJECTION_SCHEMA_VERSION,
15 route_count: plan.routes.len(),
16 loader_count: plan.routes.iter().map(|r| r.loaders.len()).sum(),
17 }
18}