MCPcopy Create free account
hub / github.com/apache/arrow / UnalignBuffers

Function UnalignBuffers

cpp/src/arrow/testing/gtest_util.cc:1252–1271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1250}
1251
1252std::shared_ptr<ArrayData> UnalignBuffers(const ArrayData& array) {
1253 std::vector<std::shared_ptr<Buffer>> new_buffers;
1254 new_buffers.reserve(array.buffers.size());
1255
1256 for (const auto& buffer : array.buffers) {
1257 if (!buffer) {
1258 new_buffers.emplace_back();
1259 continue;
1260 }
1261 EXPECT_OK_AND_ASSIGN(std::shared_ptr<Buffer> padded,
1262 AllocateBuffer(buffer->size() + 1, default_memory_pool()));
1263 memcpy(padded->mutable_data() + 1, buffer->data(), buffer->size());
1264 std::shared_ptr<Buffer> unaligned = SliceBuffer(padded, 1);
1265 new_buffers.push_back(std::move(unaligned));
1266 }
1267
1268 std::shared_ptr<ArrayData> array_data = std::make_shared<ArrayData>(array);
1269 array_data->buffers = std::move(new_buffers);
1270 return array_data;
1271}
1272
1273std::shared_ptr<Array> UnalignBuffers(const Array& array) {
1274 std::shared_ptr<ArrayData> array_data = UnalignBuffers(*array.data());

Callers 3

TESTFunction · 0.85
TYPED_TESTFunction · 0.85
TEST_FFunction · 0.85

Calls 11

EXPECT_OK_AND_ASSIGNFunction · 0.85
default_memory_poolFunction · 0.85
SliceBufferFunction · 0.85
emplace_backMethod · 0.80
push_backMethod · 0.80
MakeArrayFunction · 0.70
AllocateBufferFunction · 0.50
reserveMethod · 0.45
sizeMethod · 0.45
mutable_dataMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected