bool compare_result(const M1& sm, const M2& m) { if(sm.size() != m.size()) return false; if(sm.line() != m.line()) return false; for(unsigned int i = 0; i < sm.size(); ++i) { if(sm.position(i) != m.position(i)) return false; if(sm.length(i) != m.length(i)) return false; } return true; }