mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-20 00:20:47 +00:00
Obviously, I was sleeping or something when I wrote the reg/unreg code, since using copy semantics for anchors is equivalent with double unregistrations. Luckily, unregister was broken as well, so counters did stay active. Which however broke things once actual non-persistent counters were added. Doh. * Anchors must be non-copyable * Above makes creating std::vector<registration> from initializer list tricky, so added helper type "registrations" which inherits vector<reg> but constructs from initializer_list<type_instance_id>, avoiding illegal copying. * Both register and unregister were broken (map semantics does not overwrite on insert, only [] or iterator operation). * Modified the various registration callsites to use registrations and move semantics.