#include <iostream>
#include <string>
#include <set>
#include <algorithm>

#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/lambda/if.hpp>

// idem als galgje1a_lambda.cpp alleen andere opmaak

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;
}
