MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / lbug_value_get_list_element

Function lbug_value_get_list_element

src/c_api/value.cpp:491–509  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

489}
490
491lbug_state lbug_value_get_list_element(lbug_value* value, uint64_t index, lbug_value* out_value) {
492 auto physical_type_id = static_cast<Value*>(value->_value)->getDataType().getPhysicalType();
493 if (physical_type_id != PhysicalTypeID::ARRAY && physical_type_id != PhysicalTypeID::STRUCT &&
494 physical_type_id != PhysicalTypeID::LIST) {
495 return LbugError;
496 }
497 auto listValue = static_cast<Value*>(value->_value);
498 if (index >= NestedVal::getChildrenSize(listValue)) {
499 return LbugError;
500 }
501 try {
502 auto val = NestedVal::getChildVal(listValue, index);
503 out_value->_value = val;
504 out_value->_is_owned_by_cpp = true;
505 } catch (Exception& e) {
506 return LbugError;
507 }
508 return LbugSuccess;
509}
510
511lbug_state lbug_value_get_struct_num_fields(lbug_value* value, uint64_t* out_result) {
512 auto physical_type_id = static_cast<Value*>(value->_value)->getDataType().getPhysicalType();

Callers 5

TEST_FFunction · 0.85
TESTFunction · 0.85
lbug_value_get_map_keyFunction · 0.85
lbug_value_get_map_valueFunction · 0.85

Calls 2

getDataTypeMethod · 0.80
getPhysicalTypeMethod · 0.45

Tested by 2

TEST_FFunction · 0.68
TESTFunction · 0.68