1use winnow::combinator::alt;
2
3use crate::{
4 ifc_type::IfcType,
5 parser::{IFCParse, IFCParser},
6};
7
8pub mod direction_sense_enum;
9pub mod layer_set_direction_enum;
10pub mod material;
11pub mod material_constituent;
12pub mod material_constituent_set;
13pub mod material_layer;
14pub mod material_layer_set;
15pub mod material_layer_set_usage;
16pub mod prelude;
17
18pub struct Materials;
19
20impl Materials {
21 pub fn parse<'a>() -> impl IFCParser<'a, Box<dyn IfcType>> {
22 alt((
23 material_layer_set_usage::MaterialLayerSetUsage::parse_any(),
24 material_layer_set::MaterialLayerSet::parse_any(),
25 material_layer::MaterialLayer::parse_any(),
26 material::Material::parse_any(),
27 material_constituent::MaterialConstituent::parse_any(),
28 material_constituent_set::MaterialConstituentSet::parse_any(),
29 ))
30 }
31}