| 410 | |
| 411 | template <typename T> |
| 412 | T* create() { |
| 413 | return std::visit([](auto& m) -> T* { |
| 414 | if constexpr (std::is_same_v<std::decay_t<decltype(m)>, impl::in_memory_file_storage> || |
| 415 | std::is_same_v<std::decay_t<decltype(m)>, impl::rocks_db_file_storage>) |
| 416 | { |
| 417 | return m.template create<T>(); |
| 418 | } else { |
| 419 | return nullptr; |
| 420 | } |
| 421 | }, storage_); |
| 422 | } |
| 423 | |
| 424 | IfcUtil::IfcBaseClass* create(const IfcParse::declaration* decl) { |
| 425 | return std::visit([decl](auto& m) -> IfcUtil::IfcBaseClass* { |
no test coverage detected