#include <string>
#include <iostream>
#include <boost/function.hpp>
using namespace std;
using namespace boost;
class Test
{
public:
Test(){};
virtual ~Test(){};
void Handle(string& s, unsigned int lines)
{
for(int i=0; i< lines; i++)
{
cout << s << endl;
}
};
};
template <class T>
static void CallBack(T& t, boost::function<void (T*, string&, unsigned int)> f)
{
string s("test");
f(&t, s, 3);
};
int main()
{
Test test;
CallBack<Test>(test, &Test::Handle);
return 0;
}
#include <iostream>
#include <boost/function.hpp>
using namespace std;
using namespace boost;
class Test
{
public:
Test(){};
virtual ~Test(){};
void Handle(string& s, unsigned int lines)
{
for(int i=0; i< lines; i++)
{
cout << s << endl;
}
};
};
template <class T>
static void CallBack(T& t, boost::function<void (T*, string&, unsigned int)> f)
{
string s("test");
f(&t, s, 3);
};
int main()
{
Test test;
CallBack<Test>(test, &Test::Handle);
return 0;
}