pub trait LayoutBaseDecorator: Decorator where
    Self::D: LayoutBase
{
Show 14 methods fn d_dbu(&self) -> <Self::D as LayoutBase>::Coord { ... } fn d_each_layer(
        &self
    ) -> Box<dyn Iterator<Item = <Self::D as LayoutBase>::LayerId> + '_> { ... } fn d_layer_info(
        &self,
        layer: &<Self::D as LayoutBase>::LayerId
    ) -> LayerInfo<<Self::D as HierarchyBase>::NameType> { ... } fn d_find_layer(
        &self,
        index: u32,
        datatype: u32
    ) -> Option<<Self::D as LayoutBase>::LayerId> { ... } fn d_layer_by_name(
        &self,
        name: &str
    ) -> Option<<Self::D as LayoutBase>::LayerId> { ... } fn d_bounding_box_per_layer(
        &self,
        cell: &<Self::D as HierarchyBase>::CellId,
        layer: &<Self::D as LayoutBase>::LayerId
    ) -> Option<Rect<<Self::D as LayoutBase>::Coord>> { ... } fn d_bounding_box(
        &self,
        cell: &<Self::D as HierarchyBase>::CellId
    ) -> Option<Rect<<Self::D as LayoutBase>::Coord>> { ... } fn d_each_shape_id(
        &self,
        cell: &<Self::D as HierarchyBase>::CellId,
        layer: &<Self::D as LayoutBase>::LayerId
    ) -> Box<dyn Iterator<Item = <Self::D as LayoutBase>::ShapeId> + '_> { ... } fn d_for_each_shape<F>(
        &self,
        cell: &<Self::D as HierarchyBase>::CellId,
        layer: &<Self::D as LayoutBase>::LayerId,
        f: F
    )
    where
        F: FnMut(&<Self::D as LayoutBase>::ShapeId, &Geometry<<Self::D as LayoutBase>::Coord>)
, { ... } fn d_with_shape<F, R>(
        &self,
        shape_id: &<Self::D as LayoutBase>::ShapeId,
        f: F
    ) -> R
    where
        F: FnMut(&<Self::D as LayoutBase>::LayerId, &Geometry<<Self::D as LayoutBase>::Coord>) -> R
, { ... } fn d_parent_of_shape(
        &self,
        shape_id: &<Self::D as LayoutBase>::ShapeId
    ) -> (<Self::D as HierarchyBase>::CellId, <Self::D as LayoutBase>::LayerId) { ... } fn d_for_each_shape_recursive<F>(
        &self,
        cell: &<Self::D as HierarchyBase>::CellId,
        layer: &<Self::D as LayoutBase>::LayerId,
        f: F
    )
    where
        F: FnMut(SimpleTransform<<Self::D as LayoutBase>::Coord>, &<Self::D as LayoutBase>::ShapeId, &Geometry<<Self::D as LayoutBase>::Coord>)
, { ... } fn d_get_transform(
        &self,
        cell_inst: &<Self::D as HierarchyBase>::CellInstId
    ) -> SimpleTransform<<Self::D as LayoutBase>::Coord> { ... } fn d_get_shape_property(
        &self,
        shape: &<Self::D as LayoutBase>::ShapeId,
        key: &<Self::D as HierarchyBase>::NameType
    ) -> Option<PropertyValue> { ... }
}
Expand description

Define the same functions as LayoutBase but just prepend a d_ to avoid naming conflicts. The default implementation just forwards the call to the base(). This allows to selectively re-implement some functions or fully delegate the trait to an attribute of a struct.

Provided Methods

Implementors