public override void Add(TrieMapMatcher.PartialApproxMatch <K, V> pam) { Match <K, V> m = new MultiMatch <K, V>(pam.matched, pam.value, pam.begin, pam.end, pam.multimatches); int key = (pam.multimatches != null) ? pam.multimatches.Count : 0; if (pam.value == null) { key = key + 1; } BoundedCostOrderedMap <Match <K, V>, TrieMapMatcher.PartialApproxMatch <K, V> > mq = multimatchQueues[key]; if (mq == null) { multimatchQueues[key] = mq = new BoundedCostOrderedMap <Match <K, V>, TrieMapMatcher.PartialApproxMatch <K, V> >(MatchCostFunction, maxSize, maxCost); } mq[m] = pam; }
public MatchQueue(int maxSize, double maxCost) { this.maxSize = maxSize; this.maxCost = maxCost; this.queue = new BoundedCostOrderedMap <Match <K, V>, TrieMapMatcher.PartialApproxMatch <K, V> >(MatchCostFunction, maxSize, maxCost); }