OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_SET_H_ | 5 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_SET_H_ |
6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_SET_H_ | 6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_SET_H_ |
7 | 7 |
8 #include <iterator> | 8 #include <iterator> |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 16 matching lines...) Expand all Loading... |
27 | 27 |
28 // Iteration over the values of the map (given that it's an ExtensionSet, | 28 // Iteration over the values of the map (given that it's an ExtensionSet, |
29 // it should iterate like a set iterator). | 29 // it should iterate like a set iterator). |
30 class const_iterator : | 30 class const_iterator : |
31 public std::iterator<std::input_iterator_tag, | 31 public std::iterator<std::input_iterator_tag, |
32 scoped_refptr<const extensions::Extension> > { | 32 scoped_refptr<const extensions::Extension> > { |
33 public: | 33 public: |
34 const_iterator(); | 34 const_iterator(); |
35 const_iterator(const const_iterator& other); | 35 const_iterator(const const_iterator& other); |
36 explicit const_iterator(ExtensionMap::const_iterator it); | 36 explicit const_iterator(ExtensionMap::const_iterator it); |
| 37 ~const_iterator(); |
37 const_iterator& operator++() { | 38 const_iterator& operator++() { |
38 ++it_; | 39 ++it_; |
39 return *this; | 40 return *this; |
40 } | 41 } |
41 const_iterator operator++(int) { | 42 const_iterator operator++(int) { |
42 const const_iterator old(*this); | 43 const const_iterator old(*this); |
43 ++it_; | 44 ++it_; |
44 return old; | 45 return old; |
45 } | 46 } |
46 const scoped_refptr<const extensions::Extension>& operator*() const { | 47 const scoped_refptr<const extensions::Extension>& operator*() const { |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 // If non-null, called with the extension ids in this set after a modification | 137 // If non-null, called with the extension ids in this set after a modification |
137 // occurred. This is not called on Clear() which is typically used when | 138 // occurred. This is not called on Clear() which is typically used when |
138 // discarding the set (e.g., on shutdown) and we do not want to track that as | 139 // discarding the set (e.g., on shutdown) and we do not want to track that as |
139 // a real modification. | 140 // a real modification. |
140 ModificationCallback modification_callback_; | 141 ModificationCallback modification_callback_; |
141 | 142 |
142 DISALLOW_COPY_AND_ASSIGN(ExtensionSet); | 143 DISALLOW_COPY_AND_ASSIGN(ExtensionSet); |
143 }; | 144 }; |
144 | 145 |
145 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_SET_H_ | 146 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_SET_H_ |
OLD | NEW |