差集合的なにか

"cppref algorithm/set_difference"とかで調べればすぐに分かるだろう、と思ったら分からんかった><inserterって何やねん。

#include <iostream>
#include <algorithm>
#include <set>
#include <boost/foreach.hpp>

using namespace std;
int main(int argc, char *argv[]) {
  set<int> s1;
  s1.insert(1);
  s1.insert(2);
  s1.insert(100);

  set<int> s2;
  s2.insert(2);
  s2.insert(3);

  set<int> diff;

  set_difference(s1.begin(), s1.end(), 
				 s2.begin(), s2.end(), 
				 inserter(diff, diff.end()));

  BOOST_FOREACH(int i, diff) {
	cout << i << endl;
  }

  return 0;
}

s1にあるけど、s2にはないものを出力。