diff --git a/alib2data/src/std/compare.hpp b/alib2data/src/std/compare.hpp index 0f4e188f56ec2d71c9998442ab960f0aab3f84ab..7a22279d586428265b91681895150e71e11a0ffd 100644 --- a/alib2data/src/std/compare.hpp +++ b/alib2data/src/std/compare.hpp @@ -122,9 +122,11 @@ struct compare<unordered_map<T, R>> { if(first.size() < second.size()) return -1; if(first.size() > second.size()) return 1; - compare<std::pair<T, R>> comp; - for(auto iterF = first.begin(), iterS = second.begin(); iterF != first.end(); iterF++, iterS++) { - int res = comp(*iterF, *iterS); + compare<R> comp; + for(auto iter = first.begin(); iter != first.end(); iter++) { + auto search = second.find(iter->first); + if(search == second.end()) return -1; + int res = comp(iter->second, search->second); if(res != 0) return res; } return 0;