Lines Matching defs:Array
263 // Interprets `Array` as a circular buffer of `Size` elements.
265 llvm::ArrayRef<T> Array;
277 llvm::ArrayRef<T> Array;
282 explicit const_iterator(llvm::ArrayRef<T> Array, size_t Index = 0)
283 : Array(Array), Index(Index), Offset(Index % Array.size()) {}
287 if (Offset == Array.size())
293 const T &operator*() const { return Array[Offset]; }
296 CircularArrayRef(llvm::ArrayRef<T> Array, size_t Size)
297 : Array(Array), Size(Size) {
298 assert(Array.size() > 0);
301 const_iterator begin() const { return const_iterator(Array); }
302 const_iterator end() const { return const_iterator(Array, Size); }
307 CircularArrayRef<T> cycle(llvm::ArrayRef<T> Array, size_t Size) {
308 return {Array, Size};