Lines Matching refs:buffer_ptr
386 /// buffer_ptr past the copied bytes, and returns true.
388 bool store_and_advance(char *&buffer_ptr, char *buffer_end, const T& value,
391 if (buffer_ptr + store_size > buffer_end)
394 memcpy(buffer_ptr, value_data + offset, store_size);
395 buffer_ptr += store_size;
407 char buffer[64], *buffer_ptr = buffer;
409 while (first != last && store_and_advance(buffer_ptr, buffer_end,
413 return hash_short(buffer, buffer_ptr - buffer, seed);
414 assert(buffer_ptr
421 buffer_ptr = buffer;
422 while (first != last && store_and_advance(buffer_ptr, buffer_end,
429 std::rotate(buffer, buffer_ptr, buffer_end);
433 length += buffer_ptr - buffer;
517 char *combine_data(size_t &length, char *buffer_ptr, char *buffer_end, T data) {
518 if (!store_and_advance(buffer_ptr, buffer_end, data)) {
523 size_t partial_store_size = buffer_end - buffer_ptr;
524 memcpy(buffer_ptr, &data, partial_store_size);
538 // Reset the buffer_ptr to the head of the buffer for the next chunk of
540 buffer_ptr = buffer;
544 if (!store_and_advance(buffer_ptr, buffer_end, data,
548 return buffer_ptr;
556 hash_code combine(size_t length, char *buffer_ptr, char *buffer_end,
558 buffer_ptr = combine_data(length, buffer_ptr, buffer_end, get_hashable_data(arg));
561 return combine(length, buffer_ptr, buffer_end, args...);
569 hash_code combine(size_t length, char *buffer_ptr, char *buffer_end) {
573 return hash_short(buffer, buffer_ptr - buffer, seed);
579 std::rotate(buffer, buffer_ptr, buffer_end);
583 length += buffer_ptr - buffer;