Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: compiled/StringMap.h

Issue 29677755: Issue 6279 - Make HashContainer movable and optimize resizing by moving entries. (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore/
Patch Set: Forgot IntMap. Remove changes not needed. Minor fix. Created Jan. 24, 2018, 3:10 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« compiled/Map.h ('K') | « compiled/Map.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: compiled/StringMap.h
===================================================================
--- a/compiled/StringMap.h
+++ b/compiled/StringMap.h
@@ -48,16 +48,19 @@
struct StringSetEntry
{
typedef Key key_type;
typedef const String& key_type_cref;
typedef size_t size_type;
key_type first;
+ StringSetEntry& operator=(const StringSetEntry&) = default;
+ StringSetEntry& operator=(StringSetEntry&&) = default;
sergei 2018/01/24 18:37:12 It seems it's actually not required here and in St
hub 2018/01/24 19:32:01 ah right. Done
sergei 2018/01/25 10:55:07 Could you please also do it for StringMapEntry bel
hub 2018/01/25 15:11:11 Done. (I was convinced they were needed, must hav
+
StringSetEntry(key_type_cref key = key_type())
{
if (!key.is_invalid())
first.reset(key);
}
bool equals(key_type_cref other) const
{
@@ -88,19 +91,22 @@
template<typename Key, typename Value>
struct StringMapEntry : StringSetEntry<Key>
{
typedef StringSetEntry<Key> super;
typedef Value value_type;
value_type second;
+ StringMapEntry& operator=(const StringMapEntry&) = default;
+ StringMapEntry& operator=(StringMapEntry&&) = default;
+
StringMapEntry(typename super::key_type_cref key = Key(),
value_type value = value_type())
- : super(key), second(value)
+ : super(key), second(std::move(value))
{
}
void erase()
{
super::erase();
second = value_type();
}
« compiled/Map.h ('K') | « compiled/Map.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld