Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::ArrowScalarBaseData< TGT, SRC, OP > Struct Template Reference
Inheritance diagram for duckdb::ArrowScalarBaseData< TGT, SRC, OP >:

Static Public Member Functions

static void Append (ArrowAppendData &append_data, Vector &input, idx_t from, idx_t to, idx_t input_size)
 

Member Function Documentation

◆ Append()

template<class TGT , class SRC = TGT, class OP = ArrowScalarConverter>
static void duckdb::ArrowScalarBaseData< TGT, SRC, OP >::Append ( ArrowAppendData append_data,
Vector input,
idx_t  from,
idx_t  to,
idx_t  input_size 
)
inlinestatic
33207 {
33208 D_ASSERT(to >= from);
33209 idx_t size = to - from;
33210 D_ASSERT(size <= input_size);
33211 UnifiedVectorFormat format;
33212 input.ToUnifiedFormat(input_size, format);
33213
33214 // append the validity mask
33215 append_data.AppendValidity(format, from, to);
33216
33217 // append the main data
33218 auto &main_buffer = append_data.GetMainBuffer();
33219 main_buffer.resize(main_buffer.size() + sizeof(TGT) * size);
33220 auto data = UnifiedVectorFormat::GetData<SRC>(format);
33221 auto result_data = main_buffer.GetData<TGT>();
33222
33223 for (idx_t i = from; i < to; i++) {
33224 auto source_idx = format.sel->get_index(i);
33225 auto result_idx = append_data.row_count + i - from;
33226
33227 if (OP::SkipNulls() && !format.validity.RowIsValid(source_idx)) {
33228 OP::template SetNull<TGT>(result_data[result_idx]);
33229 continue;
33230 }
33231 result_data[result_idx] = OP::template Operation<TGT, SRC>(data[source_idx]);
33232 }
33233 append_data.row_count += size;
33234 }
GOpaque< Size > size(const GMat &src)

The documentation for this struct was generated from the following file: