Iterando sobre elementos únicos de std :: multiset

Tudo que preciso é saber se algo existe e quantas vezes existe. Vou iterar sobre as coisas existentes e questionar quanto disso existe.

Minha implementação até agora usamultisetEu faço o seguinte:

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;
}
Esclarecimentos

Eu tenho um vetor dethings. Mas eles repetem o valor, às vezes, eu quero iterar mais de exclusivothings e para cada único fazer alguma coisa. Esse "algo" precisa saber a quantidade de tempo que issothing aparece no vetor.

O código que eu postei acima é como estou resolvendo meu problema agora, não parece ser a maneira mais elegante de fazer o que eu quero.

Estou apenas seguindo as diretrizes do Stackoverflow: eu digo qual é o meu problema, e conto a minha solução (tentada).

Se uma sentença com um ponto de interrogação é realmente necessária, lá vai: Existe uma maneira de iterar elementos únicos sobre ummultiset?

questionAnswers(1)

yourAnswerToTheQuestion