| 201 | } |
| 202 | |
| 203 | bpo::variables_map separateComposingVariables( |
| 204 | bpo::variables_map& variables, const bpo::options_description& description) |
| 205 | { |
| 206 | bpo::variables_map composingVariables; |
| 207 | for (auto itr = variables.begin(); itr != variables.end();) |
| 208 | { |
| 209 | if (description.find(itr->first, false).semantic()->is_composing()) |
| 210 | { |
| 211 | composingVariables.emplace(*itr); |
| 212 | itr = variables.erase(itr); |
| 213 | } |
| 214 | else |
| 215 | ++itr; |
| 216 | } |
| 217 | return composingVariables; |
| 218 | } |
| 219 | |
| 220 | void mergeComposingVariables( |
| 221 | bpo::variables_map& first, bpo::variables_map& second, const bpo::options_description& description) |