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

Function table_reserve_impl

src/simulate/runtime_table.cpp:14–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12 }
13
14 void table_reserve_impl ( Context & context, Table & arr, int32_t baseType, uint64_t newCapacity, uint32_t valueTypeSize, LineInfo * at ) {
15 if ( arr.isLocked() ) context.throw_error_at(at, "can't reserve locked table");
16 if ( !newCapacity ) return;
17 switch ( Type(baseType) ) {
18 case Type::tBool: table_reserve_internal<bool>(context, arr, newCapacity, valueTypeSize, at); break;
19 case Type::tInt8: table_reserve_internal<int8_t>(context, arr, newCapacity, valueTypeSize, at); break;
20 case Type::tUInt8: table_reserve_internal<uint8_t>(context, arr, newCapacity, valueTypeSize, at); break;
21 case Type::tInt16: table_reserve_internal<int16_t>(context, arr, newCapacity, valueTypeSize, at); break;
22 case Type::tUInt16: table_reserve_internal<uint16_t>(context, arr, newCapacity, valueTypeSize, at); break;
23 case Type::tInt64: table_reserve_internal<int64_t>(context, arr, newCapacity, valueTypeSize, at); break;
24 case Type::tUInt64: table_reserve_internal<uint64_t>(context, arr, newCapacity, valueTypeSize, at); break;
25 case Type::tEnumeration: table_reserve_internal<int32_t>(context, arr, newCapacity, valueTypeSize, at); break;
26 case Type::tEnumeration8: table_reserve_internal<int8_t>(context, arr, newCapacity, valueTypeSize, at); break;
27 case Type::tEnumeration16: table_reserve_internal<int16_t>(context, arr, newCapacity, valueTypeSize, at); break;
28 case Type::tEnumeration64: table_reserve_internal<int64_t>(context, arr, newCapacity, valueTypeSize, at); break;
29 case Type::tBitfield: table_reserve_internal<uint32_t>(context, arr, newCapacity, valueTypeSize, at); break;
30 case Type::tBitfield8: table_reserve_internal<uint8_t>(context, arr, newCapacity, valueTypeSize, at); break;
31 case Type::tBitfield16: table_reserve_internal<uint16_t>(context, arr, newCapacity, valueTypeSize, at); break;
32 case Type::tBitfield64: table_reserve_internal<uint64_t>(context, arr, newCapacity, valueTypeSize, at); break;
33 case Type::tInt: table_reserve_internal<int32_t>(context, arr, newCapacity, valueTypeSize, at); break;
34 case Type::tInt2: table_reserve_internal<int2>(context, arr, newCapacity, valueTypeSize, at); break;
35 case Type::tInt3: table_reserve_internal<int3>(context, arr, newCapacity, valueTypeSize, at); break;
36 case Type::tInt4: table_reserve_internal<int4>(context, arr, newCapacity, valueTypeSize, at); break;
37 case Type::tUInt: table_reserve_internal<uint32_t>(context, arr, newCapacity, valueTypeSize, at); break;
38 case Type::tUInt2: table_reserve_internal<uint2>(context, arr, newCapacity, valueTypeSize, at); break;
39 case Type::tUInt3: table_reserve_internal<uint3>(context, arr, newCapacity, valueTypeSize, at); break;
40 case Type::tUInt4: table_reserve_internal<uint4>(context, arr, newCapacity, valueTypeSize, at); break;
41 case Type::tFloat: table_reserve_internal<float>(context, arr, newCapacity, valueTypeSize, at); break;
42 case Type::tFloat2: table_reserve_internal<float2>(context, arr, newCapacity, valueTypeSize, at); break;
43 case Type::tFloat3: table_reserve_internal<float3>(context, arr, newCapacity, valueTypeSize, at); break;
44 case Type::tFloat4: table_reserve_internal<float4>(context, arr, newCapacity, valueTypeSize, at); break;
45 case Type::tRange: table_reserve_internal<range>(context, arr, newCapacity, valueTypeSize, at); break;
46 case Type::tURange: table_reserve_internal<urange>(context, arr, newCapacity, valueTypeSize, at); break;
47 case Type::tRange64: table_reserve_internal<range64>(context, arr, newCapacity, valueTypeSize, at); break;
48 case Type::tURange64: table_reserve_internal<urange64>(context, arr, newCapacity, valueTypeSize, at); break;
49 case Type::tString: table_reserve_internal<char *>(context, arr, newCapacity, valueTypeSize, at); break;
50 case Type::tPointer: table_reserve_internal<void *>(context, arr, newCapacity, valueTypeSize, at); break;
51 case Type::tDouble: table_reserve_internal<double>(context, arr, newCapacity, valueTypeSize, at); break;
52 default:
53 context.throw_error_at(at, "usupported table reserve type");
54 return;
55 }
56 }
57
58 void table_clear ( Context & context, Table & arr, LineInfo * at ) {
59 if ( arr.isLocked() ) context.throw_error_at(at, "can't clear locked table");

Callers 3

das_table_reserveFunction · 0.85
das_table_reserve_i64Function · 0.85
builtin_table_reserveFunction · 0.85

Calls 3

isLockedMethod · 0.80
throw_error_atMethod · 0.80
TypeEnum · 0.50

Tested by

no test coverage detected