Spaces:
Sleeping
Sleeping
File size: 834 Bytes
be7c937 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include "wayy_db/column.hpp"
#include <cstring>
namespace wayy_db {
Column::Column(std::string name, DType dtype, std::vector<uint8_t> data)
: name_(std::move(name))
, dtype_(dtype)
, size_(data.size() / dtype_size(dtype))
, owns_data_(true)
, owned_data_(std::move(data)) {
data_ = owned_data_.data();
}
Column::Column(std::string name, DType dtype, void* data, size_t size, bool owns_data)
: name_(std::move(name))
, dtype_(dtype)
, data_(data)
, size_(size)
, owns_data_(owns_data) {
if (owns_data && data != nullptr) {
// Copy data into owned buffer
size_t byte_size = size * dtype_size(dtype);
owned_data_.resize(byte_size);
std::memcpy(owned_data_.data(), data, byte_size);
data_ = owned_data_.data();
}
}
} // namespace wayy_db
|