Lines Matching refs:buffer
73 T& first() { ASSERT(m_start != m_end); return m_buffer.buffer()[m_start]; }
74 const T& first() const { ASSERT(m_start != m_end); return m_buffer.buffer()[m_start]; }
90 typedef VectorBuffer<T, 0> Buffer;
104 Buffer m_buffer;
314 const T* otherBuffer = other.m_buffer.buffer();
316 TypeOperations::uninitializedCopy(otherBuffer + m_start, otherBuffer + m_end, m_buffer.buffer() + m_start);
318 TypeOperations::uninitializedCopy(otherBuffer, otherBuffer + m_end, m_buffer.buffer());
319 TypeOperations::uninitializedCopy(otherBuffer + m_start, otherBuffer + m_buffer.capacity(), m_buffer.buffer() + m_start);
344 TypeOperations::destruct(m_buffer.buffer() + m_start, m_buffer.buffer() + m_end);
346 TypeOperations::destruct(m_buffer.buffer(), m_buffer.buffer() + m_end);
347 TypeOperations::destruct(m_buffer.buffer() + m_start, m_buffer.buffer() + m_buffer.capacity());
416 T* oldBuffer = m_buffer.buffer();
419 TypeOperations::move(oldBuffer + m_start, oldBuffer + m_end, m_buffer.buffer() + m_start);
421 TypeOperations::move(oldBuffer, oldBuffer + m_end, m_buffer.buffer());
423 TypeOperations::move(oldBuffer + m_start, oldBuffer + oldCapacity, m_buffer.buffer() + newStart);
435 new (&m_buffer.buffer()[m_end]) T(value);
452 new (&m_buffer.buffer()[m_start]) T(value);
462 TypeOperations::destruct(&m_buffer.buffer()[m_start], &m_buffer.buffer()[m_start + 1]);
493 T* buffer = m_buffer.buffer();
494 TypeOperations::destruct(&buffer[position], &buffer[position + 1]);
496 // Find which segment of the circular buffer contained the remove element, and only move elements in that part.
498 TypeOperations::moveOverlapping(buffer + m_start, buffer + position, buffer + m_start + 1);
501 TypeOperations::moveOverlapping(buffer + position + 1, buffer + m_end, buffer + position);
652 return &m_deque->m_buffer.buffer()[m_index];
661 return &m_deque->m_buffer.buffer()[m_deque->m_buffer.capacity() - 1];
662 return &m_deque->m_buffer.buffer()[m_index - 1];