diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-06 21:16:13 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-06 21:16:13 +0200 |
commit | 7b8ebfcef1dada98ff36aeb4d16cd3c06517e879 (patch) | |
tree | 7fd3ade95dec27f108cff50b96554a898412c44e /src/generator.cpp | |
parent | 1bb22babd9f978be24c203d919f3c9760df8f3d8 (diff) | |
download | solar-7b8ebfcef1dada98ff36aeb4d16cd3c06517e879.tar solar-7b8ebfcef1dada98ff36aeb4d16cd3c06517e879.zip |
Don't use map::emplace
It doesn't work with GCC 4.7...
Diffstat (limited to 'src/generator.cpp')
-rw-r--r-- | src/generator.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/generator.cpp b/src/generator.cpp index 5b9766e..9350f40 100644 --- a/src/generator.cpp +++ b/src/generator.cpp @@ -87,7 +87,7 @@ void generator_t::generate_itemsets() { item_t shifted = item; shifted.shift(); - std::set<item_t> &set = new_sets.emplace(sym, empty_set).first->second; + std::set<item_t> &set = new_sets.insert(std::make_pair(sym, empty_set)).first->second; set.insert(std::move(shifted)); } @@ -124,12 +124,12 @@ generator_t::generator_t(const std::vector<std::tuple<item_t, std::vector<std::s for (size_t i = 0; i < rules.size(); i++) { item_t rule = std::get<0>(rules[i]); - nonterminals.emplace(rule.get_lhs()); - nonterms.emplace(rule.get_lhs(), i); + nonterminals.insert(rule.get_lhs()); + nonterms.insert(std::make_pair(rule.get_lhs(), i)); while (rule.has_next()) { const symbol_t &sym = rule.get_next_symbol(); - items.emplace(sym, rule); + items.insert(std::make_pair(sym, rule)); if (sym.get_type() != SYMBOL_TYPE_NONTERM) terminals.insert(sym); @@ -137,7 +137,7 @@ generator_t::generator_t(const std::vector<std::tuple<item_t, std::vector<std::s rule.shift(); } - rule_ids.emplace(rule, i); + rule_ids.insert(std::make_pair(rule, i)); } generate_itemsets(); |