Lines Matching refs:to
23 // can't change sizes. But it does implement templates to assist in efficient
29 // possible, and as a last resort it falls back to a copy. This behavior is
30 // similar to std::vector.
42 // This constructor converts an uninitialized void* to a T* which triggers
101 // and the address of the first element to copy to. There must be sufficient
105 // that there is a trivial destructor as we don't have to call it.
109 static void MoveRange(T* from_begin, T* from_end, T* to) {
110 DCHECK(!RangesOverlap(from_begin, from_end, to));
111 memcpy(to, from_begin, (from_end - from_begin) * sizeof(T));
120 static void MoveRange(T* from_begin, T* from_end, T* to) {
121 DCHECK(!RangesOverlap(from_begin, from_end, to));
123 new (to) T(std::move(*from_begin));
126 to++;
136 static void MoveRange(T* from_begin, T* from_end, T* to) {
137 DCHECK(!RangesOverlap(from_begin, from_end, to));
139 new (to) T(*from_begin);
142 to++;
149 const T* to) {
150 return !(to >= from_end || to + (from_end - from_begin) <= from_begin);