У меня есть функция шаблона, и я хочу использовать ее с автоматически выведенными параметрами шаблона.
Она работает хорошо, но теперь мне нужно ее ptr
для использования в std::bind
.
Это что-то вроде этого:
class A{};
class B{};
class C{};
template<template<typename...> class TContainer, typename TR, typename... TEles>
void func(TContainer<TEles...> container, function<TR(HeadOf<TEles...>::type)> f)
{
TContainer<TR> rst;
for(auto it : container)
{
fill(rst, f(it));
}
return rst;
}
vector<A> vec_A; // type : vector<A, allocator<A>>
MyContainer<B> cont_B; // type : MyContainer<B, allovator<B>, Maybe_Sth_Else>
// auto ptrFoo = func_ptr_of( func(vec_A, transA2B) );
// auto ptrBar = func_ptr_of( func(cont_B, transB2C) );
// auto contB2contC = std::bind(ptrBar, placeholder::_1, transB2C);
// contB2contC(cont_B);