Skip to content

Re-assignment of list values is ignored

When assigning a list value to a property (or entity with role PROPERTY) and retrieving its value again, e.g.

Property list_property;
// assign int list
std::vector<int64_t> int_values{1, 2, 3};
list_property.SetValue(int_values);
const auto &value_ints = list_property.GetValue();

another list may be re-assigned, but after another retrieval, the original list is returned:

// Re-assign to boolean list
std::vector<bool> bool_values{true, false, false, true};
list_property.SetValue(bool_values);
const auto &value_bools = list_property.GetValue(); // will be the original int list from above

See test_list_property::test_list_reassignment in f-value-data-structs branch of cpplib.

Edited by Florian Spreckelsen