Hello 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 > ?
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
El 12/03/2020 a las 21:53, MM via Boost-users escribió:
Hello 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 >
As the relationship is N:M, you'll want something like boost::bimap< unordered_multiset_of , unordered_multiset_of > Joaquín M López Muñoz
participants (3)
-
Gavin Lambert
-
Joaquin M López Muñoz
-
MM