| 230 | } |
| 231 | |
| 232 | const Header_section_schema::file_schema* IfcParse::IfcSpfHeader::file_schema() const { |
| 233 | if (file_schema_ == nullptr) { |
| 234 | std::visit([this](auto& m) { |
| 235 | if constexpr (std::is_same_v<std::decay_t<decltype(m)>, impl::rocks_db_file_storage>) { |
| 236 | file_schema_ = new Header_section_schema::file_schema(rocks_db_attribute_storage{}); |
| 237 | } else if constexpr (std::is_same_v<std::decay_t<decltype(m)>, impl::in_memory_file_storage>) { |
| 238 | file_schema_ = new Header_section_schema::file_schema(in_memory_attribute_storage(Header_section_schema::file_schema::Class().attribute_count())); |
| 239 | } |
| 240 | }, file_->storage_); |
| 241 | file_schema_->file_ = file_; |
| 242 | } |
| 243 | |
| 244 | return file_schema_; |
| 245 | } |
| 246 | |
| 247 | Header_section_schema::file_description* IfcParse::IfcSpfHeader::file_description() { |
| 248 | if (file_description_ == nullptr) { |
no test coverage detected