| 635 | // Any map type iterable in tuple like manner. |
| 636 | template <typename MapType> |
| 637 | void copy_from(const MapType& data) { |
| 638 | resize(0); |
| 639 | // TODO: acceletare this with memcpy. |
| 640 | for (const auto& [key, value] : data) { |
| 641 | auto [keyWriter, valueWriter] = add_item(); |
| 642 | // copy key |
| 643 | if constexpr (provide_std_interface<K>) { |
| 644 | keyWriter = key; |
| 645 | } else { |
| 646 | keyWriter.copy_from(key); |
| 647 | } |
| 648 | |
| 649 | // copy value |
| 650 | if constexpr (provide_std_interface<V>) { |
| 651 | valueWriter = value; |
| 652 | } else { |
| 653 | valueWriter.copy_from(value); |
| 654 | } |
| 655 | } |
| 656 | } |
| 657 | |
| 658 | // Copy from nullable mapview. |
| 659 | void copy_from( |
no test coverage detected