Unify various Linker wrapper classes
- add functionality to LHCb::LinksByKey (link, typed constructor), make it impossible to change sourceID, targetID, ordering after construction (as that would leave any already present data in a bad shape)
- drop the no longer relevant OutputLinks class
- drop the unused AllLinks header
- drop the no longer relevant LinkedFromKey class
- strip down the LinkerWithKey class to a single static
create
function for easy migration - move LinkerEntry and LinkerRange into LinkerTable as they are implementation details of iterating over the table
- add warning counter which keeps track of how often Object2MCLinker invokes an algorithm to build a linker table
- unify 'range' function names, make the inverse range in Object2MCLinker lazy
- reduce code in LinkerTool using the new functionality in LinksByKey
- reduce code in LinkerWithKey using the new functionality in LinksByKey
- remove confusing (and buggy?) Object2MCLinker::linkerTable method
must be merged together with Lbcom!648 (merged) Boole!443 (merged) Rec!3263 (merged) Analysis!943 (merged) MooreAnalysis!102 (merged) Alignment!340 (merged)
Edited by Gerhard Raven