Доброго времени суток.
Сперва кусок кода:
template<class T_, class Val_, class Ret_>
class PrExec
{
typedef Ret_ (T_::*_fun_type)(Val_);
public:
PrExec(T_* p,_fun_type pf ):m_ptr(p), m_pf(pf){}
void operator()(Val_ v) { (m_ptr->*m_pf)(v); }
protected:
_fun_type m_pf;
T_* m_ptr;
};
class XXX
{
std::vector<int> m_buf;
void DoCommand(int n)
{
}
void Process()
{
for_each( m_buf.begin(), m_buf.end(), PrExec<XXX,int, void>(this, XXX::DoCommand) );
}
}
теперь собственно вопрос:
есть ли в stl адаптер подобный PrExec или как сделать тоже самое используя уже имеющиеся в stl адаптеры? Я ничего не нашел, а думаю, что что-то должно быть. Использую stlport, поэтому просьба на boost не тыкать.
Если подобный вопрос уже обсуждался — не пинайте, а укажите линк.
С уважением, Петр.