Интересно, можно ли с помощью boost::mpl/preprocessor или некоторых функций noce C++11 создать прокси-функцию из типа класса и имени функции.
Скажем, у нас было:
inline void set_email(const ::std::string& value);
inline void set_email(const char* value);
внутри класса Электронная почта. Мы знаем, что есть функция set_email, мы хотим создать прокси-класс с API, например
PROXY(Email, set_email, MyEmail)
Email * email = new Email();
MyEmail * myEmail = new MyEmail(email);
и иметь возможность вызывать любую из перегрузок set_email. Возможно ли и как создать такой класс, который будет проксировать любое количество функций перегрузки, не зная их типов (только имена)?