Re[9]: Метод класс как С колбек
От: Evgeny.Panasyuk Россия  
Дата: 10.04.15 16:09
Оценка:
Здравствуйте, beyv, Вы писали:

B>>>Даа, умеет. Задача автора: "Метод класс как С колбек" а не "простой указатель на фукнцию"

EP>>Прочитай изначальное сообщение, а не только его заголовок.
B>Прочитайте исходные код FastDelegate,

И в чём там принципиальное отличие от std::function в рамках вопроса ТС?

B>прежде чем умничать.


О, вот уже и хамство пошло в ход — классный аргумент, главное универсальный

B>Основная загвоздка у ТС получения доступа к полям класса в теле колбека или где там.

B>Пожалуйста, получите от делегата указатель "This", приведите его к классу и вот вам класс

И что это даст в случае ТС?

AHO>Имеется С библиотека с неизменяемым интерфейсом, одна из функций выглядит так:
AHO>

AHO>typedef void(*Callback)(void * internalState, Data * data);
AHO>void addCallback(void * internalState, Callback * callback);
AHO>

AHO>internalState – сугубо внутренняя структура библиотеки, data – данные получаемые из библиотеки, т.е. никаких void * userData нет.

AHO>Хотелось бы в плюсах 11, чтобы сallback вызывал метод класса. Решение со статическим методом и глобальным this – совсем уж убого.

Эта библиотека принимает только указатель на функцию, и не позволяет прямым способом передать контекст — чем тут поможет этот FastDelegate?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.