Iterowanie nad unikalnymi elementami `std :: multiset`

Wszystko, czego potrzebuję, to wiedzieć, czy coś istnieje i ile razy ono istnieje. Powtórzę istniejące rzeczy i sprawdzę, ile z nich istnieje.

Moja realizacja jak dotąd wykorzystujemultiset, Robię co następuje:

std::multiset<thing> a;
auto previous = a.end();
for( auto each = a.begin(); each != a.end(); ++each ) {
    if( previous == a.end() || *previous != *each ) {
        a.count(*each);
    }
    previous = each;
}
Wyjaśnienia

Mam wektorthings. Ale czasami powtarzają tę wartość, chcę iterować ponad unikalnethings i dla każdego wyjątkowego zrób coś. To „coś” musi wiedzieć, ile czasu to zajmujething pojawia się na wektorze.

Kod, który napisałem powyżej, pokazuje, jak teraz rozwiązuję mój problem, nie wydaje się być najbardziej eleganckim sposobem na robienie tego, co chcę.

Po prostu stosuję się do wytycznych Stackoverflow: mówię, jaki jest mój problem i mówię o moim (wypróbowanym) rozwiązaniu.

Jeśli zdanie ze znakiem zapytania jest naprawdę potrzebne, to idź: czy istnieje sposób na iterację unikalnych elementów nad amultiset?

questionAnswers(1)

yourAnswerToTheQuestion