MCPcopy Create free account
hub / github.com/bytedance/bolt / flatVector

Method flatVector

bolt/vector/tests/utils/VectorMaker.h:135–151  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133
134 template <typename T>
135 FlatVectorPtr<EvalType<T>> flatVector(
136 vector_size_t size,
137 std::function<T(vector_size_t /*row*/)> valueAt,
138 std::function<bool(vector_size_t /*row*/)> isNullAt = nullptr,
139 const TypePtr& type = CppToType<T>::create()) {
140 auto flatVector =
141 BaseVector::create<FlatVector<EvalType<T>>>(type, size, pool_);
142 for (vector_size_t i = 0; i < size; i++) {
143 if (isNullAt && isNullAt(i)) {
144 flatVector->setNull(i, true);
145 } else {
146 auto v = valueAt(i);
147 flatVector->set(i, EvalType<T>(v));
148 }
149 }
150 return flatVector;
151 }
152
153 template <typename T>
154 std::shared_ptr<LazyVector> lazyFlatVector(

Callers

nothing calls this directly

Calls 5

createFunction · 0.50
isNullAtFunction · 0.50
setNullMethod · 0.45
setMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected