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:
const ReportManager &rm;
const Grey &grey;
return attemptToMergeHaig({d1, d2}, limit);
}
- static void transfer(OutfixInfo &outfix, unique_ptr<raw_som_dfa> d) {
- outfix.proto = move(d);
- }
-
private:
const u32 limit; //!< state limit for merged result.
};
RawDfa *dfa_ptr = rdfa.get();
dfa_mapping[dfa_ptr] = dfa_mapping[*it];
dfa_mapping.erase(*it);
- merge_func.transfer(winner, move(rdfa));
+ winner.proto = move(rdfa);
mergeOutfixInfo(winner, victim);