unintentionally we used copy construction in the builder expression, wenn passing in the CollectionBinding to the ChildCollectionMutator. The problem is that CollectionBinding owns a shaddow buffer, where the contents of the target collection are moved temporarily while applying the diff. The standard implementation of copy construction would cause a copy of that shaddow buffer, which boils down to a copy of the storage of the target collection. If we want to support move-only types in the collection, most notably std::unique_ptr, we can thus only use the move constructor. Beyond that there is no problem, since we're only ever moving elements, and new elements will be move constructed via emplace() or emplace_back() |
||
|---|---|---|
| .. | ||
| backend | ||
| common | ||
| gui | ||
| include | ||
| lib | ||
| lumiera | ||
| plugin | ||
| proc | ||
| tool | ||
| .gitignore | ||
| DIR_INFO | ||
| doxygen.dox | ||
| SConscript | ||