#include <iostream>
#include <string>
#include <set>
#include <algorithm>

#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/lambda/if.hpp>

using namespace std;
using namespace boost::lambda;

int main() {
	string w("galgje");
	set<char> letters, geraden;
	copy(w.begin(), w.end(), inserter(letters, letters.begin()));
	do {
		for_each(w.begin(), w.end(), if_(bind(&set<char>::count, geraden, _1))[cout<<_1].else_[cout<<constant('.')]);
		cout<<endl<<"Raad een letter: ";
		char c;
		cin>>c;
		geraden.insert(c);
	}
	while (!includes(geraden.begin(), geraden.end(), letters.begin(), letters.end()));
	cout<<"Je hebt het woord "<<w<<" geraden."<<endl;
	cin.get(); cin.get();
	return 0;
}
