individuals_changed_detailed


Description:

public signal void individuals_changed_detailed (MultiMap<Individual?,Individual?> changes)

Emitted when one or more Individuals are added to or removed from the aggregator.

This is emitted at the same time as IndividualAggregator.individuals_changed, but includes more information about the relationships between Individuals which have been linked and unlinked.

Individuals which have been linked will be listed in the multi-map as mappings from the old individuals to the single new individual which replaces them (i.e. each of the old individuals will map to the same new individual). This new individual is the one which will be specified as the replacement_individual in the Individual.removed signal for the old individuals.

Individuals which have been unlinked will be listed in the multi-map as a mapping from the unlinked individual to a set of one or more individuals which replace it.

Individuals which have been added will be listed in the multi-map as a mapping from null to the set of added individuals. If null doesn't map to anything, no individuals have been added to the aggregator.

Individuals which have been removed will be listed in the multi-map as mappings from the removed individual to null.

This will not be emitted until after IndividualAggregator.prepare has been called.

Parameters:

changes

a mapping of old Individuals to new Individuals for the individuals which have changed in the aggregator

Since:

0.6.2