polymorphic functors std::for_each
i'm perplexing stl algorithm for_each but proliferating templates via code. std::for_each wants instantiate myfunctor category value, nonetheless can't given the abstract. i've combined functor adapter category passes pointer around following derefernces appropriate.
my question:
does stl boost already have such an adapter class? i don't wish have reinvent wheel!
struct myfunctor {
practical ~myfunctor() {}
practical vacant operator()(int a) = 0;
}
namespace {
template<typename functortype, typename operandtype> struct
functoradapter
{
functoradapter(functortype* functor) : mfunctor(functor) {}
vacant operator()(operandtype& subject)
{
(*mfunctor)(subject);
}
functortype* mfunctor;
}; }
vacant applytoall(myfunctor &f) {
functorhelper<myfunctor, int> tmp(&f);
std::for_each(myvector.begin(), myvector.end(), tmp); }
cheers,
dave
Comments
Post a Comment