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

Side by Side Diff: cc/quads/list_container.h

Issue 683113005: Update from chromium https://crrev.com/302282 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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 | « cc/output/shader.cc ('k') | cc/quads/list_container.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 CC_QUADS_LIST_CONTAINER_H_ 5 #ifndef CC_QUADS_LIST_CONTAINER_H_
6 #define CC_QUADS_LIST_CONTAINER_H_ 6 #define CC_QUADS_LIST_CONTAINER_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "cc/base/cc_export.h" 10 #include "cc/base/cc_export.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 class CC_EXPORT Iterator : public PositionInListContainerCharAllocator { 71 class CC_EXPORT Iterator : public PositionInListContainerCharAllocator {
72 // This class is only defined to forward iterate through 72 // This class is only defined to forward iterate through
73 // ListContainerCharAllocator. 73 // ListContainerCharAllocator.
74 public: 74 public:
75 Iterator(ListContainerCharAllocator* container, 75 Iterator(ListContainerCharAllocator* container,
76 size_t vector_ind, 76 size_t vector_ind,
77 char* item_iter, 77 char* item_iter,
78 size_t index); 78 size_t index);
79 ~Iterator(); 79 ~Iterator();
80 BaseElementType* operator->() const; 80 BaseElementType* operator->() const;
81 BaseElementType& operator*() const; 81 BaseElementType* operator*() const;
82 Iterator operator++(int unused_post_increment); 82 Iterator operator++(int unused_post_increment);
83 Iterator operator++(); 83 Iterator& operator++();
84 84
85 size_t index() const; 85 size_t index() const;
86 86
87 private: 87 private:
88 // This is used to track how many increment has happened since begin(). It 88 // This is used to track how many increment has happened since begin(). It
89 // is used to avoid double increment at places an index reference is 89 // is used to avoid double increment at places an index reference is
90 // needed. For iterator this means begin() corresponds to index 0 and end() 90 // needed. For iterator this means begin() corresponds to index 0 and end()
91 // corresponds to index |size|. 91 // corresponds to index |size|.
92 size_t index_; 92 size_t index_;
93 }; 93 };
94 94
95 class CC_EXPORT ConstIterator : public PositionInListContainerCharAllocator { 95 class CC_EXPORT ConstIterator : public PositionInListContainerCharAllocator {
96 // This class is only defined to forward iterate through 96 // This class is only defined to forward iterate through
97 // ListContainerCharAllocator. 97 // ListContainerCharAllocator.
98 public: 98 public:
99 ConstIterator(ListContainerCharAllocator* container, 99 ConstIterator(ListContainerCharAllocator* container,
100 size_t vector_ind, 100 size_t vector_ind,
101 char* item_iter, 101 char* item_iter,
102 size_t index); 102 size_t index);
103 ConstIterator(const Iterator& other); // NOLINT 103 ConstIterator(const Iterator& other); // NOLINT
104 ~ConstIterator(); 104 ~ConstIterator();
105 const BaseElementType* operator->() const; 105 const BaseElementType* operator->() const;
106 const BaseElementType& operator*() const; 106 const BaseElementType* operator*() const;
107 ConstIterator operator++(int unused_post_increment); 107 ConstIterator operator++(int unused_post_increment);
108 ConstIterator operator++(); 108 ConstIterator& operator++();
109 109
110 size_t index() const; 110 size_t index() const;
111 111
112 private: 112 private:
113 // This is used to track how many increment has happened since begin(). It 113 // This is used to track how many increment has happened since begin(). It
114 // is used to avoid double increment at places an index reference is 114 // is used to avoid double increment at places an index reference is
115 // needed. For iterator this means begin() corresponds to index 0 and end() 115 // needed. For iterator this means begin() corresponds to index 0 and end()
116 // corresponds to index |size|. 116 // corresponds to index |size|.
117 size_t index_; 117 size_t index_;
118 }; 118 };
119 119
120 class CC_EXPORT ReverseIterator 120 class CC_EXPORT ReverseIterator
121 : public PositionInListContainerCharAllocator { 121 : public PositionInListContainerCharAllocator {
122 // This class is only defined to reverse iterate through 122 // This class is only defined to reverse iterate through
123 // ListContainerCharAllocator. 123 // ListContainerCharAllocator.
124 public: 124 public:
125 ReverseIterator(ListContainerCharAllocator* container, 125 ReverseIterator(ListContainerCharAllocator* container,
126 size_t vector_ind, 126 size_t vector_ind,
127 char* item_iter, 127 char* item_iter,
128 size_t index); 128 size_t index);
129 ~ReverseIterator(); 129 ~ReverseIterator();
130 BaseElementType* operator->() const; 130 BaseElementType* operator->() const;
131 BaseElementType& operator*() const; 131 BaseElementType* operator*() const;
132 ReverseIterator operator++(int unused_post_increment); 132 ReverseIterator operator++(int unused_post_increment);
133 ReverseIterator operator++(); 133 ReverseIterator& operator++();
134 134
135 size_t index() const; 135 size_t index() const;
136 136
137 private: 137 private:
138 // This is used to track how many increment has happened since rbegin(). It 138 // This is used to track how many increment has happened since rbegin(). It
139 // is used to avoid double increment at places an index reference is 139 // is used to avoid double increment at places an index reference is
140 // needed. For reverse iterator this means rbegin() corresponds to index 0 140 // needed. For reverse iterator this means rbegin() corresponds to index 0
141 // and rend() corresponds to index |size|. 141 // and rend() corresponds to index |size|.
142 size_t index_; 142 size_t index_;
143 }; 143 };
144 144
145 class CC_EXPORT ConstReverseIterator 145 class CC_EXPORT ConstReverseIterator
146 : public PositionInListContainerCharAllocator { 146 : public PositionInListContainerCharAllocator {
147 // This class is only defined to reverse iterate through 147 // This class is only defined to reverse iterate through
148 // ListContainerCharAllocator. 148 // ListContainerCharAllocator.
149 public: 149 public:
150 ConstReverseIterator(ListContainerCharAllocator* container, 150 ConstReverseIterator(ListContainerCharAllocator* container,
151 size_t vector_ind, 151 size_t vector_ind,
152 char* item_iter, 152 char* item_iter,
153 size_t index); 153 size_t index);
154 ConstReverseIterator(const ReverseIterator& other); // NOLINT 154 ConstReverseIterator(const ReverseIterator& other); // NOLINT
155 ~ConstReverseIterator(); 155 ~ConstReverseIterator();
156 const BaseElementType* operator->() const; 156 const BaseElementType* operator->() const;
157 const BaseElementType& operator*() const; 157 const BaseElementType* operator*() const;
158 ConstReverseIterator operator++(int unused_post_increment); 158 ConstReverseIterator operator++(int unused_post_increment);
159 ConstReverseIterator operator++(); 159 ConstReverseIterator& operator++();
160 160
161 size_t index() const; 161 size_t index() const;
162 162
163 private: 163 private:
164 // This is used to track how many increment has happened since rbegin(). It 164 // This is used to track how many increment has happened since rbegin(). It
165 // is used to avoid double increment at places an index reference is 165 // is used to avoid double increment at places an index reference is
166 // needed. For reverse iterator this means rbegin() corresponds to index 0 166 // needed. For reverse iterator this means rbegin() corresponds to index 0
167 // and rend() corresponds to index |size|. 167 // and rend() corresponds to index |size|.
168 size_t index_; 168 size_t index_;
169 }; 169 };
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 DISALLOW_COPY_AND_ASSIGN(ListContainer); 225 DISALLOW_COPY_AND_ASSIGN(ListContainer);
226 }; 226 };
227 227
228 #if !defined(COMPILER_MSVC) 228 #if !defined(COMPILER_MSVC)
229 extern template class ListContainer<SharedQuadState>; 229 extern template class ListContainer<SharedQuadState>;
230 extern template class ListContainer<DrawQuad>; 230 extern template class ListContainer<DrawQuad>;
231 #endif 231 #endif
232 } // namespace cc 232 } // namespace cc
233 233
234 #endif // CC_QUADS_LIST_CONTAINER_H_ 234 #endif // CC_QUADS_LIST_CONTAINER_H_
OLDNEW
« no previous file with comments | « cc/output/shader.cc ('k') | cc/quads/list_container.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698