| 453 | } |
| 454 | |
| 455 | void IfcGeom::Iterator::log_timepoints() const { |
| 456 | using std::chrono::high_resolution_clock; |
| 457 | using std::chrono::duration; |
| 458 | using namespace std::string_literals; |
| 459 | |
| 460 | std::array<std::string, 3> labels = { |
| 461 | "Initializing mapping"s, |
| 462 | "Performing mapping"s, |
| 463 | "Geometry interpretation"s |
| 464 | }; |
| 465 | |
| 466 | for (auto it = time_points.begin() + 1; it != time_points.end(); ++it) { |
| 467 | auto jt = it - 1; |
| 468 | duration<double, std::milli> ms_double = (*it) - (*jt); |
| 469 | Logger::Notice(labels[std::distance(time_points.begin(), jt)] + " took " + std::to_string(ms_double.count()) + "ms"); |
| 470 | } |
| 471 | } |
| 472 | |
| 473 | void IfcGeom::Iterator::validate_iterator_state() const { |
| 474 | if (!initialization_outcome_) { |