Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: ui/gfx/sequential_id_generator.h

Issue 1543183002: Switch to standard integer types in ui/gfx/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/gfx/selection_model.h ('k') | ui/gfx/sequential_id_generator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 UI_GFX_SEQUENTIAL_ID_GENERATOR_H_ 5 #ifndef UI_GFX_SEQUENTIAL_ID_GENERATOR_H_
6 #define UI_GFX_SEQUENTIAL_ID_GENERATOR_H_ 6 #define UI_GFX_SEQUENTIAL_ID_GENERATOR_H_
7 7
8 #include <stdint.h>
9
8 #include <map> 10 #include <map>
9 11
10 #include "base/basictypes.h"
11 #include "base/containers/hash_tables.h" 12 #include "base/containers/hash_tables.h"
13 #include "base/macros.h"
12 #include "ui/gfx/gfx_export.h" 14 #include "ui/gfx/gfx_export.h"
13 15
14 namespace ui { 16 namespace ui {
15 17
16 // This is used to generate a series of sequential ID numbers in a way that a 18 // This is used to generate a series of sequential ID numbers in a way that a
17 // new ID is always the lowest possible ID in the sequence. 19 // new ID is always the lowest possible ID in the sequence.
18 class GFX_EXPORT SequentialIDGenerator { 20 class GFX_EXPORT SequentialIDGenerator {
19 public: 21 public:
20 // Creates a new generator with the specified lower bound for the IDs. 22 // Creates a new generator with the specified lower bound for the IDs.
21 explicit SequentialIDGenerator(uint32 min_id); 23 explicit SequentialIDGenerator(uint32_t min_id);
22 ~SequentialIDGenerator(); 24 ~SequentialIDGenerator();
23 25
24 // Generates a unique ID to represent |number|. The generated ID is the 26 // Generates a unique ID to represent |number|. The generated ID is the
25 // smallest available ID greater than or equal to the |min_id| specified 27 // smallest available ID greater than or equal to the |min_id| specified
26 // during creation of the generator. 28 // during creation of the generator.
27 uint32 GetGeneratedID(uint32 number); 29 uint32_t GetGeneratedID(uint32_t number);
28 30
29 // Checks to see if the generator currently has a unique ID generated for 31 // Checks to see if the generator currently has a unique ID generated for
30 // |number|. 32 // |number|.
31 bool HasGeneratedIDFor(uint32 number) const; 33 bool HasGeneratedIDFor(uint32_t number) const;
32 34
33 // Removes the generated ID |id| from the internal mapping. Since the ID is 35 // Removes the generated ID |id| from the internal mapping. Since the ID is
34 // no longer mapped to any number, subsequent calls to |GetGeneratedID()| can 36 // no longer mapped to any number, subsequent calls to |GetGeneratedID()| can
35 // use this ID. 37 // use this ID.
36 void ReleaseGeneratedID(uint32 id); 38 void ReleaseGeneratedID(uint32_t id);
37 39
38 // Removes the ID previously generated for |number| by calling 40 // Removes the ID previously generated for |number| by calling
39 // |GetGeneratedID()|. 41 // |GetGeneratedID()|.
40 void ReleaseNumber(uint32 number); 42 void ReleaseNumber(uint32_t number);
41 43
42 void ResetForTest(); 44 void ResetForTest();
43 45
44 private: 46 private:
45 typedef base::hash_map<uint32, uint32> IDMap; 47 typedef base::hash_map<uint32_t, uint32_t> IDMap;
46 48
47 uint32 GetNextAvailableID(); 49 uint32_t GetNextAvailableID();
48 50
49 void UpdateNextAvailableIDAfterRelease(uint32 id); 51 void UpdateNextAvailableIDAfterRelease(uint32_t id);
50 52
51 IDMap number_to_id_; 53 IDMap number_to_id_;
52 IDMap id_to_number_; 54 IDMap id_to_number_;
53 55
54 const uint32 min_id_; 56 const uint32_t min_id_;
55 uint32 min_available_id_; 57 uint32_t min_available_id_;
56 58
57 DISALLOW_COPY_AND_ASSIGN(SequentialIDGenerator); 59 DISALLOW_COPY_AND_ASSIGN(SequentialIDGenerator);
58 }; 60 };
59 61
60 } // namespace ui 62 } // namespace ui
61 63
62 #endif // UI_GFX_SEQUENTIAL_ID_GENERATOR_H_ 64 #endif // UI_GFX_SEQUENTIAL_ID_GENERATOR_H_
OLDNEW
« no previous file with comments | « ui/gfx/selection_model.h ('k') | ui/gfx/sequential_id_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698