MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / das_table_insert

Function das_table_insert

src/misc/daScriptC.cpp:1302–1314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1300}
1301
1302void * das_table_insert ( das_context * context, das_table * tab, int key_base_type, const void * key, uint32_t value_size ) {
1303 void * result = nullptr;
1304 auto * t = (Table *)tab;
1305 DAS_TABLE_DISPATCH(key_base_type, {
1306 KEY_TYPE k;
1307 memcpy(&k, key, sizeof(KEY_TYPE));
1308 uint64_t h = hash_function(*(Context *)context, k);
1309 TableHash<KEY_TYPE> hh((Context *)context, value_size);
1310 int64_t idx = hh.reserve(*t, k, h, nullptr);
1311 if ( idx >= 0 ) result = t->data + uint64_t(idx) * uint64_t(value_size);
1312 })
1313 return result;
1314}
1315
1316int das_table_erase ( das_context * context, das_table * tab, int key_base_type, const void * key, uint32_t value_size ) {
1317 int erased = 0;

Callers 2

test_capi_i64.cppFile · 0.85

Calls 2

hash_functionFunction · 0.85
reserveMethod · 0.45

Tested by

no test coverage detected