58 void insert(Key
const &first, Key
const &last, Value &&value)
noexcept {
59 tt_assert(last > first);
62 auto first_ = find(first);
63 auto last_ = find(last);
65 tt_assume(delta >= 0);
67 tt_assume(first_ != items.
end());
68 if (first_->first != first) {
70 ttlet tmp_last = first_->last;
73 first_ = items.
emplace(first_ + 1, first, tmp_last, first_->values);
74 last_ = first_ + delta;
77 tt_assume(last_ != items.
end());
78 if (last_->last != last) {
80 ttlet tmp_first = last_->first;
83 last_ = items.
emplace(last_, tmp_first, last, first_->values);
84 first_ = last_ - delta;
87 tt_assume(last_ != items.
end());
89 for (
auto i = first_; i != last_; ++i) {