/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
indexer/drawing_rule_def.cpp
42 строки
910 B
tatiana-yan
[indexer] Style & includes
30 июл 2018, 19:26
30 июл 2018, 19:26
0e889ff
Код
Авторство
О чём код?
#include "indexer/drawing_rule_def.hpp" #include <algorithm> #include <iterator> using namespace std; namespace drule { namespace { struct less_key { bool operator() (drule::Key const & r1, drule::Key const & r2) const { // assume that unique algo leaves the first element (with max priority), others - go away if (r1.m_type == r2.m_type) return (r1.m_priority > r2.m_priority); else return (r1.m_type < r2.m_type); } }; struct equal_key { bool operator() (drule::Key const & r1, drule::Key const & r2) const { // many line rules - is ok, other rules - one is enough if (r1.m_type == drule::line) return (r1 == r2); else return (r1.m_type == r2.m_type); } }; } // namespace void MakeUnique(KeysT & keys) { sort(keys.begin(), keys.end(), less_key()); keys.resize(distance(keys.begin(), unique(keys.begin(), keys.end(), equal_key()))); } }