MCPcopy Create free account
hub / github.com/Redot-Engine/redot-engine / set

Function set

core/variant/variant_setget.cpp:363–381  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

361 PtrToArg<m_elem_type>::encode(v[index], member); \
362 } \
363 static void set(Variant *base, int64_t index, const Variant *value, bool *valid, bool *oob) { \
364 if (value->get_type() != GetTypeInfo<m_elem_type>::VARIANT_TYPE) { \
365 *oob = false; \
366 *valid = false; \
367 return; \
368 } \
369 int64_t size = VariantGetInternalPtr<m_base_type>::get_ptr(base)->size(); \
370 if (index < 0) { \
371 index += size; \
372 } \
373 if (index < 0 || index >= size) { \
374 *oob = true; \
375 *valid = false; \
376 return; \
377 } \
378 (*VariantGetInternalPtr<m_base_type>::get_ptr(base)).write[index] = *VariantGetInternalPtr<m_elem_type>::get_ptr(value); \
379 *oob = false; \
380 *valid = true; \
381 } \
382 static void validated_set(Variant *base, int64_t index, const Variant *value, bool *oob) { \
383 int64_t size = VariantGetInternalPtr<m_base_type>::get_ptr(base)->size(); \
384 if (index < 0) { \

Calls 2

sizeMethod · 0.65
get_typeMethod · 0.45

Tested by

no test coverage detected