std::set と std::multiset

#include <iostream>

#include <set>

#include <pstade/oven/identities.hpp>
#include <pstade/oven/io.hpp>

int
main(){
    using pstade::oven::identities;

    std::set<std::string>    strings;

    strings.insert("crossing");
    strings.insert("days");
    strings.insert("black");
    strings.insert("very");
    strings.insert("pie");
    std::cout << (strings|identities) << std::endl;


    std::multiset<int>    values;

    for( int i = 0 ; i < 10 ; i++ ){
        values.insert( rand()%10 );
    }
    std::cout << (values|identities) << std::endl;

    return 0;
}


[出力]

{black,crossing,days,pie,very}
{0,1,2,4,4,4,7,8,8,9}


std::set と std::multiset は、ソートを行ないながらデータを追加するコンテナです。
std::set は、データの重複を許さず、std::multiset は、データの重複を許します。
今まで使ったことがなかったので覚え書き。


[参照]
http://ufcpp.net/study/stl/set.html