"Dereferences" a named_attribute. For example: IfcCompoundPlaneAngleMeasure -> LIST [3:4] OF INTEGER
| 72 | // "Dereferences" a named_attribute. For example: |
| 73 | // IfcCompoundPlaneAngleMeasure -> LIST [3:4] OF INTEGER |
| 74 | void follow_named(const IfcParse::parameter_type*& pt) { |
| 75 | while (pt->as_named_type() != nullptr) { |
| 76 | if (pt->as_named_type()->declared_type()->as_type_declaration() != nullptr) { |
| 77 | pt = pt->as_named_type()->declared_type()->as_type_declaration()->declared_type(); |
| 78 | } else { |
| 79 | break; |
| 80 | } |
| 81 | } |
| 82 | } |
| 83 | |
| 84 | // The ifcXML parser uses SAX so we need to keep a stack of where we are in |
| 85 | // the file. These different kinds of nodes could be subclasses but aren't |