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

Method resize

library/include/BitArray.h:49–78  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47 size_type _size;
48
49 void resize(size_type newsize, const BitArray<T>* replacement)
50 {
51 if (newsize == _size)
52 return;
53
54 if (newsize == 0)
55 {
56 delete[] _bits;
57 _bits = nullptr;
58 _size = 0;
59 return;
60 }
61
62 buffer_type* old_data = _bits;
63
64 _bits = new buffer_type[newsize];
65
66 buffer_type* copysrc = replacement ? replacement->_bits : old_data;
67 size_type copysize = replacement ? replacement->_size : _size;
68
69 if (copysrc)
70 std::memcpy(_bits, copysrc, std::min(copysize, newsize));
71
72 if (newsize > _size)
73 std::memset(_bits + _size, 0, newsize - _size);
74
75 delete[] old_data;
76
77 _size = newsize;
78 }
79
80 void extend(T index)
81 {

Callers

nothing calls this directly

Calls 1

resizeFunction · 0.70

Tested by

no test coverage detected