On 13/03/2020 09:53, MM wrote:
I want a collection to store a relationship N to M like so:
Item of type A Item of type B A1 B1,B2,B3 A2 B4 A3 B1
and I would like a convenient way to get from a A instance to the list of B instances, and vice versa, from a given B instance to the list of A instances.
At runtime, the A objects are created first, then a list of B objects is created. Later, B objects get modified asynchronously and that modification need to update the relevant A instances
what container to use?
boost::bimap< unordered_set , unordered_set >
?
I don't think that'd work unless a B had some other means to find the
set that includes it.
A relatively simple method would be to have each B store a weak_ptr<A>
of its "owner". Given that, there's a few different ways to model the
relationship:
1. An external unordered_map