struct NamedLineResolverAxis<'a, S: CheapCloneStr> {
lines: &'a HashMap<StrHasher<S>, SmallVec<[u32; 4]>, RandomState>,
areas: &'a HashMap<StrHasher<S>, AreaLines, RandomState>,
axis: GridAreaAxis,
explicit_track_count: u16,
}Expand description
Resolver for named placements in one grid axis
Fields§
§lines: &'a HashMap<StrHasher<S>, SmallVec<[u32; 4]>, RandomState>Named lines and their one-indexed positions
areas: &'a HashMap<StrHasher<S>, AreaLines, RandomState>The edges of named grid areas (in both axes)
axis: GridAreaAxisThe axis being resolved
explicit_track_count: u16Number of explicit tracks in this axis
Implementations§
Source§impl<S: CheapCloneStr> NamedLineResolverAxis<'_, S>
impl<S: CheapCloneStr> NamedLineResolverAxis<'_, S>
Sourcefn area_line(&self, area_name: &str, end: GridAreaEnd) -> Option<&u32>
fn area_line(&self, area_name: &str, end: GridAreaEnd) -> Option<&u32>
The line for the passed edge of the named grid area in this axis (if there is one)
Sourcefn resolve_line_names(
&self,
line: &Line<GridPlacement<S>>,
) -> Line<GenericGridPlacement<GridLine>>
fn resolve_line_names( &self, line: &Line<GridPlacement<S>>, ) -> Line<GenericGridPlacement<GridLine>>
Resolve named lines and spans into numeric placements
Sourcefn find_named_line(&self, name: &S, idx: i16, end: GridAreaEnd) -> GridLine
fn find_named_line(&self, name: &S, idx: i16, end: GridAreaEnd) -> GridLine
Resolve the grid line for a named grid line (<custom-ident> or <integer> <custom-ident>).
An index of 0 is used to represent “no index specified”.
Sourcefn lines_named(&self, name: &str) -> &[u32]
fn lines_named(&self, name: &str) -> &[u32]
The sorted line numbers of the lines with the passed name
A line generated by a grid area is included in the lines of its name if any line has been explicitly given the same name. Otherwise it is found from the area’s edges.
Sourcefn last_explicit_line(&self) -> OriginZeroLine
fn last_explicit_line(&self) -> OriginZeroLine
The line at the end edge of the explicit grid
Sourcefn nth_line_forwards(
&self,
lines: &[u32],
first_line: OriginZeroLine,
n: i32,
) -> OriginZeroLine
fn nth_line_forwards( &self, lines: &[u32], first_line: OriginZeroLine, n: i32, ) -> OriginZeroLine
Find the nth line in lines (searching forwards) that is not before first_line.
If there are not enough such lines, then all implicit lines after the explicit grid are
assumed to be in lines for the purpose of counting
Sourcefn nth_line_backwards(
&self,
lines: &[u32],
last_line: OriginZeroLine,
n: i32,
) -> OriginZeroLine
fn nth_line_backwards( &self, lines: &[u32], last_line: OriginZeroLine, n: i32, ) -> OriginZeroLine
Find the nth line in lines (searching backwards) that is not after last_line.
If there are not enough such lines, then all implicit lines before the explicit grid are
assumed to be in lines for the purpose of counting