juce::Array supports initializer-list construction, but assignment via initializer lists is fragile for non-trivially constructible types. Providing a dedicated operator=(std::initializer_list) would make behaviour consistent and predictable, and more akin to std::vector.
Possible implementation:
Array& operator= (const std::initializer_list<ElementType>& list)
{
clearQuick();
ensureStorageAllocated ((int) list.size());
for (const auto& e : list)
add (e);
return *this;
}
Example usage:
struct Preset
{
String name;
float param1 = {};
};
Array<Preset> myPresets;
// reassign somewhere else
myPresets = { { "a", 1.0f }, { "b", 10.0f } };
