pub trait LayoutIds: HierarchyIds {
    type Coord: CoordinateType + Debug + Display + Hash + 'static + Send + Sync;
    type Area: Num + Copy + PartialOrd + From<Self::Coord> + 'static + Send + Sync;
    type LayerId: IdType;
    type ShapeId: IdType;
}
Expand description

Define ID types used in layouts.

Required Associated Types§

source

type Coord: CoordinateType + Debug + Display + Hash + 'static + Send + Sync

Number type used for coordinates and distances.

source

type Area: Num + Copy + PartialOrd + From<Self::Coord> + 'static + Send + Sync

Number type for areas. This is possibly another type then Coord for the following reasons:

  • Distances and areas are semantically different.
  • In practice i32 is a good choice for coordinates. However, computing areas in i32 might easily lead to overflows. Hence a 64-bit integer type might be a better choice.
source

type LayerId: IdType

Layer identifier type.

source

type ShapeId: IdType

Shape identifier type.

Implementors§

source§

impl LayoutIds for Chip<Coord>

source§

impl<'b, L> LayoutIds for RegionSearchAdapter<'b, L>where L: LayoutBase + 'static, L::Coord: PrimInt + Signed + Debug,

§

type LayerId = <L as LayoutIds>::LayerId

§

type Coord = <L as LayoutIds>::Coord

§

type Area = <L as LayoutIds>::Area

§

type ShapeId = <L as LayoutIds>::ShapeId

source§

impl<'b, L: LayoutIds + 'static> LayoutIds for DBPerf<'b, L>

§

type ShapeId = <L as LayoutIds>::ShapeId

§

type LayerId = <L as LayoutIds>::LayerId

§

type Coord = <L as LayoutIds>::Coord

§

type Area = <L as LayoutIds>::Area

source§

impl<'b, N, U> LayoutIds for Undo<'b, N, U>where N: LayoutIds,

§

type LayerId = <N as LayoutIds>::LayerId

§

type ShapeId = <N as LayoutIds>::ShapeId

§

type Area = <N as LayoutIds>::Area

§

type Coord = <N as LayoutIds>::Coord