Map inputNames to potentially modified values so the resulting list of values holds unique values
Optionally a max name length can be enforced by submitting the respective ElisionMode and the maximum length.
In case of name collisions the first occurence is kept as is. All following occurences are made unique by appending
an underscore and a sufficient numeric suffix.
Pre-condition: If names should (potentially) be elided, the max name length must not be smaller than the value
returned by computeNameMaxLengthLowerBound() for the sum of the lengths of both input containers added.
Post-condition: All names in the resulting container are unique and (if requested) whithin the max length.
Map inputNames to potentially modified values so the resulting list of values holds unique values
Optionally a max name length can be enforced by submitting the respective ElisionMode and the maximum length.
In case of name collisions the first occurence is kept as is. All following occurences are made unique by appending an underscore and a sufficient numeric suffix.
Pre-condition: If names should (potentially) be elided, the max name length must not be smaller than the value returned by computeNameMaxLengthLowerBound() for the sum of the lengths of both input containers added.
Post-condition: All names in the resulting container are unique and (if requested) whithin the max length.