- bool found = false;
- for(vector<Layout::Qualifier>::iterator j=to_layout.qualifiers.begin(); (!found && j!=to_layout.qualifiers.end()); ++j)
- if(j->name==i->name)
- {
- j->has_value = i->value;
- j->value = i->value;
- found = true;
- }
-
- if(!found)
- to_layout.qualifiers.push_back(*i);
+ auto i = find_member(to_layout.qualifiers, q.name, &Layout::Qualifier::name);
+ if(i!=to_layout.qualifiers.end())
+ {
+ i->has_value = q.value;
+ i->value = q.value;
+ }
+ else
+ to_layout.qualifiers.push_back(q);