Copy from nullable ArrayView.
| 278 | |
| 279 | // Copy from nullable ArrayView. |
| 280 | void add_items( |
| 281 | const typename VectorExec::template resolver<Array<V>>::in_type& |
| 282 | arrayView) { |
| 283 | if constexpr (isGenericType<V>::value) { |
| 284 | addItemsGeneric(arrayView); |
| 285 | } else if constexpr (hasStringValue) { |
| 286 | addItemsStringFastPath<SimpleTypeTrait<V>::typeKind>(arrayView); |
| 287 | } else if constexpr (std::is_same_v<V, bool>) { |
| 288 | addItemsBoolFastPath(arrayView); |
| 289 | } else if constexpr (provide_std_interface<V>) { |
| 290 | addItemsPrimitiveFastPath<V>(arrayView); |
| 291 | } else { |
| 292 | addItemsGeneralSlowPath(arrayView); |
| 293 | } |
| 294 | } |
| 295 | |
| 296 | // Any vector type with std-like optional-free interface. |
| 297 | template <typename VectorType> |