53 if (current_ptr != m_preallocated_buffer) {
54 if (new_size < m_preallocated_size) {
61 std::cout <<
"REALLOCATE: use own buffer from realloc s=" << new_size <<
"\n";
62 std::memcpy(m_preallocated_buffer, current_ptr, new_size);
63 std::free(current_ptr);
64 return { m_preallocated_buffer, new_size };
67 std::cout <<
"REALLOCATE: use realloc s=" << new_size <<
"\n";
68 return { std::realloc(current_ptr, new_size), new_size };
71 if (new_size <= m_preallocated_size) {
73 std::cout <<
"REALLOCATE: use buffer because small size s=" << new_size <<
"\n";
74 return { m_preallocated_buffer, new_size };
79 std::cout <<
"REALLOCATE: use malloc and copy s=" << new_size <<
"\n";
80 void* new_ptr = std::malloc(new_size);
81 std::memcpy(new_ptr, m_preallocated_buffer, m_preallocated_size);
82 return { new_ptr, new_size };