Optimize varray.

This commit is contained in:
Yufeng Ying 2025-06-29 23:56:17 +08:00
parent 99a39ce6ea
commit 8f36c97a49

View file

@ -873,25 +873,9 @@ public:
} }
}; };
//typedef Dictionary Dictionary; no
//typedef Array Array;
template <typename... VarArgs> template <typename... VarArgs>
Vector<Variant> varray(VarArgs... p_args) { Vector<Variant> varray(VarArgs... p_args) {
Vector<Variant> v; return Vector<Variant>{ p_args... };
Variant args[sizeof...(p_args) + 1] = { p_args..., Variant() }; // +1 makes sure zero sized arrays are also supported.
uint32_t argc = sizeof...(p_args);
if (argc > 0) {
v.resize(argc);
Variant *vw = v.ptrw();
for (uint32_t i = 0; i < argc; i++) {
vw[i] = args[i];
}
}
return v;
} }
struct VariantHasher { struct VariantHasher {