![]() |
Модераторы: Daevaorn Страницы: (89) « Первая ... 70 71 [72] 73 74 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
дополнение.. some_name получается вырожденным.. мне кажется его легче все таки сразу с таблицей совместить..
Добавлено через 5 минут и 55 секунд если объединять то код непоротливо выглядить начинает.. как надо оформить, еще надо подумать.. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
еще раз приведу таблицу, пока она выглядит так :
Это сообщение отредактировал(а) mes - 22.12.2010, 13:58 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
примерно так :
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
что то lws опять капризничает :
Это сообщение отредактировал(а) mes - 22.12.2010, 19:42 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
запихнул таблицу в файл, подправил импульс и закоммител..
переходим к invoke... |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
какие виды инвокинга нам нужны ?
1. -> указатель на метод 2. -> функтор 3. -> выбор в таблице пока достаточно.. для простоты пока допустим, что That передается как указатель.. тогда выглядеть будет где то так :
* тогда в таблицу надо добавить константный метод at().. Добавлено через 13 минут добавил.. закоммител.. boostcoder, доводку инвокеров пока оставляю Вам.. пока посмотрю, как дела на другом фронте.. Это сообщение отредактировал(а) mes - 22.12.2010, 21:00 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
немного теории:
для типонезависимой передачи используем migranta в качестве носителя, полиморфное connection для доставки по сети, sender - конвертация импульса в мигранта responder - конвертация (свитч по ид) мигранта в импульс и передача его на инвокинг.. для сендера и респондера задается область обрабатываемых импульсов (интерфейс) т.е. для каждого класса импульсов (шаблоно-)генерируется сендер и респондер.. на одном соединение может "висеть" сколь угодно "разнотипных" сендеров и респондеров.. Это сообщение отредактировал(а) mes - 22.12.2010, 22:08 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
продолжим..
вот набросок, чтоб видно было куда крутить педали :
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
sender предоставляет для пользователя шаблонный интерфейс, принимающий методы указанной последовательности,
конвертирующий в мигранта и отправляющий в соединение.. (*1) респондер, получает мигранта, по свитчу вызывает соответсвующий шаблонный оператор () диспетчера., который происводит инвокинг (*2) (*1) соединение сендер должен получать не по ссылке , а связывать по подобию сигнал /слот.. т.е фактически можно связать сендер с респондером напрямую.. (*2) в предыдущем коде отражено не совсем правильно.. свитч должен получать не диспетчер, а хелпер, который преобразует мигранта в импульс и передаст диспетчеру.. Это сообщение отредактировал(а) mes - 23.12.2010, 01:15 |
|||
|
||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
для простых случаев : шаблонный класс инициализированный последовательностью, с шаблонной функций, в которой перед выполнением проверяется наличие конкретизирующего типа в той последовательности.. (sender) в более сложных, генерация на основе наследования, как cls_table..
у сендера вход шаблоногенируеммый, а выход функция , которою биндом можно связать со входом в соединение.. а у респондера наоборот выход шаблоногенерируемый, а вход постоянен, и также биндом..
|
||||||
|
|||||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
вот этот код респондера точнее отражает суть
смущает шаблонный оператор() без аргументов в хелпере.. если для респондера эта внуренняя структура, то для самого свитча подобное использование не очень естественно.. ему удобнее и логичнее использовать перегрузку.. в противном случае возникает проблема лишней прослойки.. по идеи можно добаить враппер каждому элементу Seq, но пока надо подумать, как что именно.. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
вот пример инвокинга импульса по таблице нужному объекту :
http://liveworkspace.org/code/e30be1fd1339...6fd016770f08a0a компил-тайм выбор.. осталось респондер достряпать (для рантайм связки ), и можно переходить в режим рефакторинга.. ![]() Это сообщение отредактировал(а) mes - 26.12.2010, 02:37 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
"по просьбам трудящихся" подправлено : http://liveworkspace.org/code/7402bf06f1b4...8d47fb078ba6247 или так : http://liveworkspace.org/code/84c56d9a6b7f...3202c82bffba623 с условным использованием потока вывода: http://liveworkspace.org/code/6c62757ca271...098191913f88e31 Это сообщение отредактировал(а) mes - 26.12.2010, 16:23 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
отказался от респондера в пользу свитчера.. http://liveworkspace.org/code/78491985c7c1...a4f2c397bf8e85f Добавлено через 2 минуты и 19 секунд теперь надо разрефакторить все, что есть.. |
|||
|
||||
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. |