Example #1
0
 void consolidate() {
     m_main.erase_removed();
     for (const auto& element : m_extra) {
         m_main.set(element.first, element.second);
     }
     m_extra.clear();
     m_main.sort();
 }
Example #2
0
 void clear() final {
     m_main.clear();
     m_extra.clear();
 }
Example #3
0
 std::pair<iterator, iterator> get_all(const TId id) {
     auto result_main = m_main.get_all(id);
     auto result_extra = m_extra.get_all(id);
     return std::make_pair(iterator(result_main.first, result_main.second, result_extra.first, result_extra.second),
                           iterator(result_main.second, result_main.second, result_extra.second, result_extra.second));
 }
Example #4
0
 void remove(const TId id, const TValue value) {
     m_main.remove(id, value);
     m_extra.remove(id, value);
 }
Example #5
0
 void set(const TId id, const TValue value) final {
     m_extra.set(id, value);
 }
Example #6
0
 size_t used_memory() const final {
     return m_main.used_memory() + m_extra.used_memory();
 }
Example #7
0
 size_t size() const final {
     return m_main.size() + m_extra.size();
 }
Example #8
0
 void clear() override final {
     m_main.clear();
     m_extra.clear();
 }
Example #9
0
 size_t size() const override final {
     return m_main.size() + m_extra.size();
 }