void RegExData::update() { JM_GUARD_STACK strings.erase(strings.begin(), strings.end()); positions.erase(positions.begin(), positions.end()); if(t == type_pc) { for(unsigned int i = 0; i < m.size(); ++i) { strings[i] = JM_STD::string(m[i].first, m[i].second); positions[i] = m[i].matched ? m[i].first - pbase : -1; } line = m.line(); } else { for(unsigned int i = 0; i < fm.size(); ++i) { strings[i] = to_string(fm[i].first, fm[i].second); positions[i] = fm[i].matched ? fm[i].first - fbase : -1; } line = fm.line(); } t = type_copy; }
int _group_size_rgx_(cmatch& grp){return grp.size();}//return group size