MCPcopy Create free account
hub / github.com/DFHack/dfhack / resize

Method resize

library/include/BitArray.h:218–239  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

216 unsigned short m_size;
217
218 void resize(unsigned short new_size, const DfArray<T>* replacement)
219 {
220 if (new_size == m_size)
221 return;
222
223 T* old_data = m_data;
224
225 m_data = (T*) new T[new_size];
226
227 T* copysrc = replacement ? replacement->m_data : old_data;
228 unsigned short copysize = replacement ? replacement->m_size : m_size;
229
230 if (copysrc)
231 std::memcpy(m_data, copysrc, sizeof(T) * std::min(copysize, new_size));
232
233 if (new_size > m_size)
234 std::memset(m_data + m_size, 0, sizeof(T) * (new_size - m_size));
235
236 delete[] old_data;
237
238 m_size = new_size;
239 }
240 public:
241 DfArray() : m_data(nullptr), m_size(0) {}
242 ~DfArray() { delete[] m_data; }

Callers 1

ensure_dataFunction · 0.45

Calls 1

resizeFunction · 0.70

Tested by

no test coverage detected