| 167 | |
| 168 | template <typename ValueType> |
| 169 | Status CreateFor() { |
| 170 | using AdaptiveBuilderType = DictionaryBuilder<ValueType>; |
| 171 | if (dictionary != nullptr) { |
| 172 | out->reset(new AdaptiveBuilderType(dictionary, pool)); |
| 173 | } else if (exact_index_type) { |
| 174 | if (!is_integer(index_type->id())) { |
| 175 | return Status::TypeError("MakeBuilder: invalid index type ", *index_type); |
| 176 | } |
| 177 | out->reset(new internal::DictionaryBuilderBase<TypeErasedIntBuilder, ValueType>( |
| 178 | index_type, value_type, pool)); |
| 179 | } else { |
| 180 | auto start_int_size = index_type->byte_width(); |
| 181 | out->reset(new AdaptiveBuilderType(start_int_size, value_type, pool)); |
| 182 | } |
| 183 | return Status::OK(); |
| 184 | } |
| 185 | |
| 186 | Status Make() { return VisitTypeInline(*value_type, this); } |
| 187 |
nothing calls this directly
no test coverage detected