| 215 | } |
| 216 | |
| 217 | const Header_section_schema::file_name* IfcParse::IfcSpfHeader::file_name() const { |
| 218 | if (file_name_ == nullptr) { |
| 219 | std::visit([this](auto& m) { |
| 220 | if constexpr (std::is_same_v<std::decay_t<decltype(m)>, impl::rocks_db_file_storage>) { |
| 221 | file_name_ = new Header_section_schema::file_name(rocks_db_attribute_storage{}); |
| 222 | } else if constexpr (std::is_same_v<std::decay_t<decltype(m)>, impl::in_memory_file_storage>) { |
| 223 | file_name_ = new Header_section_schema::file_name(in_memory_attribute_storage(Header_section_schema::file_name::Class().attribute_count())); |
| 224 | } |
| 225 | }, file_->storage_); |
| 226 | file_name_->file_ = file_; |
| 227 | } |
| 228 | |
| 229 | return file_name_; |
| 230 | } |
| 231 | |
| 232 | const Header_section_schema::file_schema* IfcParse::IfcSpfHeader::file_schema() const { |
| 233 | if (file_schema_ == nullptr) { |
no test coverage detected