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