| Index: compiled/StringMap.h |
| =================================================================== |
| --- a/compiled/StringMap.h |
| +++ b/compiled/StringMap.h |
| @@ -48,16 +48,20 @@ |
| 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; |
| + |
| + StringSetEntry(const StringSetEntry&) = default; |
| StringSetEntry(key_type_cref key = key_type()) |
| { |
| if (!key.is_invalid()) |
| first.reset(key); |
| } |
| bool equals(key_type_cref other) const |
| { |
| @@ -88,19 +92,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(); |
| } |