Не пойму как в С++11 написать такую хотелку:
tempalte
void registerCallback(const CallbackFunction&);
};
template
Идея в том, что зная тип сингануры, сгенерировать лямбду, которой пофиг на аргументы и она делает что-то простое.
Пример использования:
Object
Object
Ответ
Например вот так:
#include
template
void
registerCallback(const CallbackFunction &) {}
};
template
template<> auto
makeResult
template
template
public: explicit
t_CallbackWrapper(void * const p_obj, int const id): m_p_obj{p_obj}, m_id{id} {}
public: auto
operator ()(TArgs...) const -> TResult
{
::std::cout << m_p_obj << m_id;
return(makeResult
template
int main()
{
Object
Object
::std::cout.flush();
return(0);
}
Запустить в онлайн компиляторе
Комментариев нет:
Отправить комментарий