ecitygml_core/model/building/
building_unit.rs1use crate::impl_abstract_building_subdivision_traits;
2use crate::model::building::{
3 AbstractBuildingSubdivision, AsAbstractBuildingSubdivision, AsAbstractBuildingSubdivisionMut,
4};
5
6#[derive(Debug, Clone, PartialEq)]
7pub struct BuildingUnit {
8 pub abstract_building_subdivision: AbstractBuildingSubdivision,
9}
10
11impl BuildingUnit {
12 pub fn new(abstract_building_subdivision: AbstractBuildingSubdivision) -> Self {
13 Self {
14 abstract_building_subdivision,
15 }
16 }
17}
18
19impl AsAbstractBuildingSubdivision for BuildingUnit {
20 fn abstract_building_subdivision(&self) -> &AbstractBuildingSubdivision {
21 &self.abstract_building_subdivision
22 }
23}
24
25impl AsAbstractBuildingSubdivisionMut for BuildingUnit {
26 fn abstract_building_subdivision_mut(&mut self) -> &mut AbstractBuildingSubdivision {
27 &mut self.abstract_building_subdivision
28 }
29}
30
31impl_abstract_building_subdivision_traits!(BuildingUnit);