| 185 | |
| 186 | template <typename T> |
| 187 | void TypedColumnBuffer::appendFixedBulk(Span<const T> data) { |
| 188 | const std::size_t count = data.size(); |
| 189 | if (count == 0) { |
| 190 | return; |
| 191 | } |
| 192 | values_.reserve(values_.size() + count * sizeof(T)); |
| 193 | values_.append(data.data(), count * sizeof(T)); |
| 194 | if (validity_initialized_) { |
| 195 | const std::size_t new_total = row_count_ + count; |
| 196 | validity_.ensureSize(new_total); |
| 197 | for (std::size_t i = row_count_; i < new_total; ++i) { |
| 198 | validity_.setValid(i); |
| 199 | } |
| 200 | } |
| 201 | row_count_ += count; |
| 202 | } |
| 203 | |
| 204 | // --------------------------------------------------------------------------- |
| 205 | // Typed bulk append functions (7 storage types) |