Merge functions no longer need transfer function

This commit is contained in:
Justin Viiret 2016-04-18 13:21:34 +10:00 committed by Matthew Barr
parent 319d47ae4f
commit fd7f30a5b5

View File

@ -2482,10 +2482,6 @@ struct MergeMcClellan {
return mergeTwoDfas(d1, d2, DFA_MERGE_MAX_STATES, &rm, grey); return mergeTwoDfas(d1, d2, DFA_MERGE_MAX_STATES, &rm, grey);
} }
static void transfer(OutfixInfo &outfix, unique_ptr<raw_dfa> d) {
outfix.proto = move(d);
}
private: private:
const ReportManager &rm; const ReportManager &rm;
const Grey &grey; const Grey &grey;
@ -2500,10 +2496,6 @@ struct MergeHaig {
return attemptToMergeHaig({d1, d2}, limit); return attemptToMergeHaig({d1, d2}, limit);
} }
static void transfer(OutfixInfo &outfix, unique_ptr<raw_som_dfa> d) {
outfix.proto = move(d);
}
private: private:
const u32 limit; //!< state limit for merged result. const u32 limit; //!< state limit for merged result.
}; };
@ -2550,7 +2542,7 @@ void pairwiseDfaMerge(vector<RawDfa *> &dfas,
RawDfa *dfa_ptr = rdfa.get(); RawDfa *dfa_ptr = rdfa.get();
dfa_mapping[dfa_ptr] = dfa_mapping[*it]; dfa_mapping[dfa_ptr] = dfa_mapping[*it];
dfa_mapping.erase(*it); dfa_mapping.erase(*it);
merge_func.transfer(winner, move(rdfa)); winner.proto = move(rdfa);
mergeOutfixInfo(winner, victim); mergeOutfixInfo(winner, victim);