From 8f29a32a33dfcb2f970bacc27567821152474ac4 Mon Sep 17 00:00:00 2001 From: Christian Mazakas Date: Thu, 29 Sep 2022 11:18:59 -0700 Subject: [PATCH] Simplify range-based insert() so it doesn't eagerly rehash so that insert_tests pass --- include/boost/unordered/unordered_flat_map.hpp | 18 +----------------- include/boost/unordered/unordered_flat_set.hpp | 18 +----------------- 2 files changed, 2 insertions(+), 34 deletions(-) diff --git a/include/boost/unordered/unordered_flat_map.hpp b/include/boost/unordered/unordered_flat_map.hpp index fa210436..f1f68e71 100644 --- a/include/boost/unordered/unordered_flat_map.hpp +++ b/include/boost/unordered/unordered_flat_map.hpp @@ -92,24 +92,8 @@ namespace boost { return table_.insert(std::move(value)).first; } - template - typename std::enable_if< - std::is_base_of::value, - void>::type - insert(ForwardIterator first, ForwardIterator last) - { - auto const len = std::distance(first, last); - table_.reserve(len); - for (auto pos = first; pos != last; ++pos) { - table_.insert(*pos); - } - } - template - typename std::enable_if< - !std::is_base_of::value, - void>::type - insert(InputIterator first, InputIterator last) + void insert(InputIterator first, InputIterator last) { for (auto pos = first; pos != last; ++pos) { table_.insert(*pos); diff --git a/include/boost/unordered/unordered_flat_set.hpp b/include/boost/unordered/unordered_flat_set.hpp index ced04bfb..e571a5e4 100644 --- a/include/boost/unordered/unordered_flat_set.hpp +++ b/include/boost/unordered/unordered_flat_set.hpp @@ -91,24 +91,8 @@ namespace boost { return table_.insert(std::move(value)).first; } - template - typename std::enable_if< - std::is_base_of::value, - void>::type - insert(ForwardIterator first, ForwardIterator last) - { - auto const len = std::distance(first, last); - table_.reserve(len); - for (auto pos = first; pos != last; ++pos) { - table_.insert(*pos); - } - } - template - typename std::enable_if< - !std::is_base_of::value, - void>::type - insert(InputIterator first, InputIterator last) + void insert(InputIterator first, InputIterator last) { for (auto pos = first; pos != last; ++pos) { table_.insert(*pos);