| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-present eyeo GmbH | 3  * Copyright (C) 2006-present eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 46   template<typename Key, | 46   template<typename Key, | 
| 47     class = typename std::enable_if<std::is_base_of<String, Key>::value>::type> | 47     class = typename std::enable_if<std::is_base_of<String, Key>::value>::type> | 
| 48   struct StringSetEntry | 48   struct StringSetEntry | 
| 49   { | 49   { | 
| 50     typedef Key key_type; | 50     typedef Key key_type; | 
| 51     typedef const String& key_type_cref; | 51     typedef const String& key_type_cref; | 
| 52     typedef size_t size_type; | 52     typedef size_t size_type; | 
| 53 | 53 | 
| 54     key_type first; | 54     key_type first; | 
| 55 | 55 | 
|  | 56     StringSetEntry& operator=(const StringSetEntry&) = default; | 
|  | 57     StringSetEntry& operator=(StringSetEntry&&) = default; | 
|  | 58 | 
|  | 59     StringSetEntry(const StringSetEntry&) = default; | 
| 56     StringSetEntry(key_type_cref key = key_type()) | 60     StringSetEntry(key_type_cref key = key_type()) | 
| 57     { | 61     { | 
| 58       if (!key.is_invalid()) | 62       if (!key.is_invalid()) | 
| 59         first.reset(key); | 63         first.reset(key); | 
| 60     } | 64     } | 
| 61 | 65 | 
| 62     bool equals(key_type_cref other) const | 66     bool equals(key_type_cref other) const | 
| 63     { | 67     { | 
| 64       return first.equals(other); | 68       return first.equals(other); | 
| 65     } | 69     } | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 86   }; | 90   }; | 
| 87 | 91 | 
| 88   template<typename Key, typename Value> | 92   template<typename Key, typename Value> | 
| 89   struct StringMapEntry : StringSetEntry<Key> | 93   struct StringMapEntry : StringSetEntry<Key> | 
| 90   { | 94   { | 
| 91     typedef StringSetEntry<Key> super; | 95     typedef StringSetEntry<Key> super; | 
| 92     typedef Value value_type; | 96     typedef Value value_type; | 
| 93 | 97 | 
| 94     value_type second; | 98     value_type second; | 
| 95 | 99 | 
|  | 100     StringMapEntry& operator=(const StringMapEntry&) = default; | 
|  | 101     StringMapEntry& operator=(StringMapEntry&&) = default; | 
|  | 102 | 
| 96     StringMapEntry(typename super::key_type_cref key = Key(), | 103     StringMapEntry(typename super::key_type_cref key = Key(), | 
| 97                    value_type value = value_type()) | 104                    value_type value = value_type()) | 
| 98         : super(key), second(value) | 105        : super(key), second(std::move(value)) | 
| 99     { | 106     { | 
| 100     } | 107     } | 
| 101 | 108 | 
| 102     void erase() | 109     void erase() | 
| 103     { | 110     { | 
| 104       super::erase(); | 111       super::erase(); | 
| 105       second = value_type(); | 112       second = value_type(); | 
| 106     } | 113     } | 
| 107   }; | 114   }; | 
| 108 } | 115 } | 
| 109 | 116 | 
| 110 using StringSet = Set<StringMap_internal::StringSetEntry<DependentString>>; | 117 using StringSet = Set<StringMap_internal::StringSetEntry<DependentString>>; | 
| 111 | 118 | 
| 112 template<typename Value> | 119 template<typename Value> | 
| 113 using StringMap = Map<StringMap_internal::StringMapEntry<DependentString, Value>
     >; | 120 using StringMap = Map<StringMap_internal::StringMapEntry<DependentString, Value>
     >; | 
| 114 template<typename Value> | 121 template<typename Value> | 
| 115 using OwnedStringMap = Map<StringMap_internal::StringMapEntry<OwnedString, Value
     >>; | 122 using OwnedStringMap = Map<StringMap_internal::StringMapEntry<OwnedString, Value
     >>; | 
| OLD | NEW | 
|---|