@@ -143,7 +143,7 @@ class ARROW_EXPORT NumericBuilder : public ArrayBuilder {
143143 int64_t length = static_cast <int64_t >(std::distance (values_begin, values_end));
144144 ARROW_RETURN_NOT_OK (Reserve (length));
145145 data_builder_.UnsafeAppend (values_begin, values_end);
146- null_bitmap_builder_.UnsafeAppend (
146+ null_bitmap_builder_.UnsafeAppend < true > (
147147 length, [&valid_begin]() -> bool { return *valid_begin++; });
148148 length_ = null_bitmap_builder_.length ();
149149 null_count_ = null_bitmap_builder_.false_count ();
@@ -161,7 +161,7 @@ class ARROW_EXPORT NumericBuilder : public ArrayBuilder {
161161 if (valid_begin == NULLPTR) {
162162 UnsafeSetNotNull (length);
163163 } else {
164- null_bitmap_builder_.UnsafeAppend (
164+ null_bitmap_builder_.UnsafeAppend < true > (
165165 length, [&valid_begin]() -> bool { return *valid_begin++; });
166166 length_ = null_bitmap_builder_.length ();
167167 null_count_ = null_bitmap_builder_.false_count ();
@@ -309,8 +309,8 @@ class ARROW_EXPORT BooleanBuilder : public ArrayBuilder {
309309 Status AppendValues (ValuesIter values_begin, ValuesIter values_end) {
310310 int64_t length = static_cast <int64_t >(std::distance (values_begin, values_end));
311311 ARROW_RETURN_NOT_OK (Reserve (length));
312- data_builder_.UnsafeAppend (length,
313- [&values_begin]() -> bool { return *values_begin++; });
312+ data_builder_.UnsafeAppend < false >(
313+ length, [&values_begin]() -> bool { return *values_begin++; });
314314 // this updates length_
315315 UnsafeSetNotNull (length);
316316 return Status::OK ();
@@ -331,9 +331,9 @@ class ARROW_EXPORT BooleanBuilder : public ArrayBuilder {
331331 int64_t length = static_cast <int64_t >(std::distance (values_begin, values_end));
332332 ARROW_RETURN_NOT_OK (Reserve (length));
333333
334- data_builder_.UnsafeAppend (length,
335- [&values_begin]() -> bool { return *values_begin++; });
336- null_bitmap_builder_.UnsafeAppend (
334+ data_builder_.UnsafeAppend < false >(
335+ length, [&values_begin]() -> bool { return *values_begin++; });
336+ null_bitmap_builder_.UnsafeAppend < true > (
337337 length, [&valid_begin]() -> bool { return *valid_begin++; });
338338 length_ = null_bitmap_builder_.length ();
339339 null_count_ = null_bitmap_builder_.false_count ();
@@ -346,13 +346,13 @@ class ARROW_EXPORT BooleanBuilder : public ArrayBuilder {
346346 ValuesIter values_begin, ValuesIter values_end, ValidIter valid_begin) {
347347 int64_t length = static_cast <int64_t >(std::distance (values_begin, values_end));
348348 ARROW_RETURN_NOT_OK (Reserve (length));
349- data_builder_.UnsafeAppend (length,
350- [&values_begin]() -> bool { return *values_begin++; });
349+ data_builder_.UnsafeAppend < false >(
350+ length, [&values_begin]() -> bool { return *values_begin++; });
351351
352352 if (valid_begin == NULLPTR) {
353353 UnsafeSetNotNull (length);
354354 } else {
355- null_bitmap_builder_.UnsafeAppend (
355+ null_bitmap_builder_.UnsafeAppend < true > (
356356 length, [&valid_begin]() -> bool { return *valid_begin++; });
357357 }
358358 length_ = null_bitmap_builder_.length ();
0 commit comments