Home | History | Annotate | Download | only in ADT

Lines Matching refs:buffer_ptr

385 /// buffer_ptr past the copied bytes, and returns true.
387 bool store_and_advance(char *&buffer_ptr, char *buffer_end, const T& value,
390 if (buffer_ptr + store_size > buffer_end)
393 memcpy(buffer_ptr, value_data + offset, store_size);
394 buffer_ptr += store_size;
406 char buffer[64], *buffer_ptr = buffer;
408 while (first != last && store_and_advance(buffer_ptr, buffer_end,
412 return hash_short(buffer, buffer_ptr - buffer, seed);
413 assert(buffer_ptr == buffer_end);
420 buffer_ptr = buffer;
421 while (first != last && store_and_advance(buffer_ptr, buffer_end,
428 std::rotate(buffer, buffer_ptr, buffer_end);
432 length += buffer_ptr - buffer;
516 char *combine_data(size_t &length, char *buffer_ptr, char *buffer_end, T data) {
517 if (!store_and_advance(buffer_ptr, buffer_end, data)) {
522 size_t partial_store_size = buffer_end - buffer_ptr;
523 memcpy(buffer_ptr, &data, partial_store_size);
537 // Reset the buffer_ptr to the head of the buffer for the next chunk of
539 buffer_ptr = buffer;
543 if (!store_and_advance(buffer_ptr, buffer_end, data,
547 return buffer_ptr;
555 hash_code combine(size_t length, char *buffer_ptr, char *buffer_end,
557 buffer_ptr = combine_data(length, buffer_ptr, buffer_end, get_hashable_data(arg));
560 return combine(length, buffer_ptr, buffer_end, args...);
568 hash_code combine(size_t length, char *buffer_ptr, char *buffer_end) {
572 return hash_short(buffer, buffer_ptr - buffer, seed);
578 std::rotate(buffer, buffer_ptr, buffer_end);
582 length += buffer_ptr - buffer;