![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
подниму тему.
и немного перефразирую: как из адреса метода можно извлечь тип - указатель на метод? нужно для этого:
http://liveworkspace.org/code/c38a753fbe63...2be749fded033d7 или "как параметр шаблона" ? в любом случае, это возможно, если имеется тип-указатель на метод. вопрос именно в том, как определить сигнатуру из адреса? получить из сигнатуры тип - не проблема. спасибо. Добавлено через 4 минуты и 32 секунды красивого способа наверняка нет. придется лепить метакод + mpl::if_ |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
по идее, параметр "Method" шаблона "method", должен быть шаблонном создающим тип.
как-то так:
на этом мои мысли заканчиваются.. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
не пойму чего Вы хотите с этим сделать... вот немного: http://liveworkspace.org/code/0f76d30d4c20...76b61098e42bd19 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
хочу одним выстрелом убить двух зайцев. первый - по адресу метода определить сигнатуру, сами знаете для чего ;) второй - сохранить переданный адрес. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mes, в данный момент, я пытаюсь избавить юзера от деклараций импульсов.
сейчас, регистрация такая:
хочу такую:
т.е. чтоб юзер не заботился о вписывании сигнатуры. согласен что это не жизненно необходимо.. но все же. Это сообщение отредактировал(а) boostcoder - 19.1.2011, 22:33 |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
т.е. Вам нужна шаблонная функция принимающая одним из параметров метод ? |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
я и не знал что так можно я полагал, что если уж использовать адрес метода в качестве параметра шаблона, то должна быть известна сигнатура... эх.. спасибо Вам огромное вопрос закрыт. Это сообщение отредактировал(а) boostcoder - 19.1.2011, 23:25 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mes, а как такой прием вообще называется? где о нем можно почитать?
я сейчас полистал свои книжки, и сходу ничего подобного не нашел. в принципе это не новость для меня, т.к. если бы об этом писали в книжках, то я наверняка запомнил бы. Добавлено через 2 минуты и 44 секунды в принципе с помощью этого трюка, получилось привести регистрацию к такому виду:
что меня сильно радует |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
как называется не знаю..a почитать, наверно, только в бусте еще было б хорошо &t не регистрировать в каждом методе.. Это сообщение отредактировал(а) mes - 20.1.2011, 15:25 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
с одной стороны идея хорошая, связывать при регистрации id и тип.. но с другой стороны лишаемся отсутствия статического контроля.. |
|||
|
||||
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
сделал так:
лучше придумать не удается..
да. это так. есть предложения? |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |