= Allocation Control As <<ref_value_from>> creates a <<ref_value>> object, users may want to control the way memory is allocated for it. For this reason the function has an optional <<ref_storage_ptr>> parameter, that is used to set the {ref_memory_resource} for the result.
As the conversion result is set via an output parameter of type `value&`, the intended <<ref_storage_ptr>> is correctly propagated. But users still should take care to not create temporaries using the default {ref_memory_resource} by accident.
This implementation explicitly creates an <<ref_array>> rather than relying on assignment from an initializer list. But the array uses default {ref_memory_resource}, not the one used by `jv`.
To avoid creating such temporaries with an incorrect {ref_memory_resource}, using <<ref_value>>'s member functions <<ref_value_emplace_array>>, <<ref_value_emplace_object>>, and <<ref_value_emplace_string>> can be helpful.