func filterAndCollateAddressIndexes(
	numAddr int, getAddrFunc addressByIndexFunc, matchFunc ScopeMatchFunc,
) map[ScopeMatch][]int {
	matches := make(map[ScopeMatch][]int)
	for i := 0; i < numAddr; i++ {
		matchType := matchFunc(getAddrFunc(i))
		if matchType != invalidScope {
			matches[matchType] = append(matches[matchType], i)
		}
	}
	return matches
}
// filterAndCollateAddressIndexes filters address indexes using the input scope
// matching function, then returns the results grouped by scope match quality.
// Invalid results are omitted.
filterAndCollateAddressIndexes filters address indexes using the input scope
matching function, then returns the results grouped by scope match quality.
Invalid results are omitted.
// filterAndCollateAddressIndexes filters address indexes using the input scope // matching function then returns the results grouped by scope match quality . // Invalid results are omitted .
func filterAndCollateAddressIndexes(
	numAddr int, getAddrFunc addressByIndexFunc, matchFunc ScopeMatchFunc,
) map[ScopeMatch][]int {
	matches := make(map[ScopeMatch][]int)
	for i := 0; i < numAddr; i++ {
		matchType := matchFunc(getAddrFunc(i))
		if matchType != invalidScope {
			matches[matchType] = append(matches[matchType], i)
		}
	}
	return matches
}
func filterAndCollateAddressIndexes ( numAddr int , getAddrFunc addressByIndexFunc , matchFunc ScopeMatchFunc , ) map [ ScopeMatch ] [ ] int { matches := make ( map [ ScopeMatch ] [ ] int ) for i := 0 ; i < numAddr ; i ++ { matchType := matchFunc ( getAddrFunc ( i ) ) if matchType != invalidScope { matches [ matchType ] = append ( matches [ matchType ] , i ) } } return matches }
filterAndCollateAddressIndexes filters address indexes using the input scope
matching function, then returns the results grouped by scope match quality.
filterAndCollateAddressIndexes filters address indexes using the input scope matching function then returns the results grouped by scope match quality .