| 110 | VariantMap(MapT* m) : map_(m) {} |
| 111 | |
| 112 | iterator begin() const{ |
| 113 | return std::visit([](auto m) -> iterator { |
| 114 | if constexpr (std::is_same_v<std::decay_t<decltype(m)>, std::monostate>) { |
| 115 | return iterator{}; |
| 116 | } else { |
| 117 | return iterator(m->begin()); |
| 118 | } |
| 119 | }, map_); |
| 120 | } |
| 121 | |
| 122 | iterator end() const { |
| 123 | return std::visit([](auto m) -> iterator { |