functor and std::bind