![]() |
|
Модераторы: Daevaorn Страницы: (89) « Первая ... 69 70 [71] 72 73 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| 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 |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
что-то не понимаю..правда |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
что то типо этого Добавлено через 11 минут и 49 секунд я забыл про "снятели/добавители константности", поэтому был слегка удивлен,что Вы туда залить хотите.. Добавлено через 13 минут и 17 секунд проапдатился, теперь не могу читать исходники..из за различий в переносе строки придется искать подходящий редактор, чтоб туда-сюда не конвертить Это сообщение отредактировал(а) mes - 20.12.2010, 22:21 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Добавлено @ 16:28 для подсказки : условно:
Это сообщение отредактировал(а) mes - 21.12.2010, 16:30 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
я так понимаю Вы схему не до конца понимаете..
есть класс у него есть таблица методов.. адресом ячейки является тип импульса, тип содержимого определяется типами набора аргументов импульса, а содержимое (адрес метода) пользователем.. тогда имея таблицу, и указатель на объект, для любого типа импульса мы можем вызвать метод обработчик.. Вышеприведенный кусок кода нужен для того. чтоб определить сигнатуру метода обработчика, на основе типов класса и импульса.. ограничение выражено тем, что каждый параметр метода-обработчика, должен иметь тип const&. Добавлено через 1 минуту и 43 секунды я полагаю Вас еще путает диспатчеризация в рантайме.. на этом этапе все связано на этапе компиляции.. зависимость от рантайма за этой областью.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
схему? схему того как Вы это представляете? - нет. реализация на данный момент понятна как никогда. просто посудите сами. Вы, не будучи телепатом, и не зная моих мыслей, что бы поняли из этого?:
т.е. сама задача понятна. не понятно где Вы предполагаете это должно быть реализовано? в реализации пользователя? в строке примера приведенного Вами? в самой дисколи? т.е. я, помимо того чтоб думать о задаче, должен проанализировать все ваши комментарии, учесть все что говорилось об этом раньше(если говорилось), и реализовать задачу имея в распоряжении только собственные предположения. представили? вакуум ощущаете? а я его ощущаю на протяжении всей темы. о чем Вам говорил не раз. именно по этому, большую часть темы я нахожусь в подвешенном состоянии, что меня естественно не радует это не придирки, скорее, просьба осознать то, что то, что очевидно для Вас, совсем не обязано быть очевидно для меня что дальше делаем? дайте мне чего-то накодить. Это сообщение отредактировал(а) boostcoder - 22.12.2010, 08:50 |
|||
|
||||
| mes |
|
||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ну насчет мыслей.. как какая приходит я сразу отписываюсь в теме, другое дело, что может не очень ясно - но для этого есть уточняющие вопросы, которых кстати на удивление очень мало, что создает некоторые сомнения.. ну вот эта строчка :
была взята из недавнего кода, на который Вы отписались, что прочитали и разобрались.. учитывая что сохранен комментарий, и сказано что это таблица, я думал не трудно было придти к заключению , что это cls_table.. так как других таблиц не было.. не думаю, что тут непонятно, что в шаблон передается impulse::args_mpl_seq_t, где тип конкретного импульса (Im) является одним из последовательности переданной таблице.. но.. если предположить что, непонятна связь между импульсом и таблицей, то вполне согласен, непонятночто вообще требуется.. но для этого я предлагаю регулярно задавать вопросы.. потому что без вопросов, на что сделать акцент, для улучшения понимания, я не знаю..
я это осознаю.. поэтому и переспрашиваю, есть ли где трудности, ну вот в частности : ну так сейчас по плану все та же таблица.. сейчас приведу код еще раз P.S. я подправил немного импульс, теперь в нем определены два типа : args_normalized_t (вместо args_mpl_seq_t) и (старый)args_fused_t (получаеммый через args_normalized_t) Добавлено через 6 минут и 8 секунд вот опорный код, который надо приводить в порядок : http://liveworkspace.org/code/c76453b89e92...1dfeccde6edd23c Добавлено через 9 минут и 24 секунды вот набросок инвокинга : http://liveworkspace.org/code/995850590218...1de39a52ae2533c с помощью которого можно, зная импульс и таблицу, можно произвести вызов.. |
||||||
|
|||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
немного теории.. есть два (нужных нам) варианта подхода к составлению таблицы :
obj_table - где будет хранить полные замыкания, или функции.. то есть вызов происходит без наличия this.. cls_table - который хранить функции, в виде методов, то есть наличие this обязательно.. скорей всего для таблицы префикс не нужен..достаточно просто table, так как всего лишь контейнер, а способ хранения задается типом хранимого элемента... т.е cls_/ obj_method.. (в коде как cls_item..) Добавлено через 4 минуты и 20 секунд исходя из этого таблица должна принимать последовательность, и один шаблонный параметр ячейки, который будет типизироваться элементом.. Добавлено через 5 минут и 34 секунды но для начала нам нужно построить шаблон ячейки.. Добавлено через 10 минут и 25 секунд ячейка характеризуется: 1. тип вызова (cls_ / obj_ ) 2. для cls_ типом параметра this 2. набором аргументов (на основе impulse::args_normalized ) 3. способом хранения.. (указатель, буст_функция, буст_сигнал) Добавлено через 12 минут и 26 секунд пункт я явно разделяет на два разноименных шаблона (как впрочем и предполагалось изначально) для начала разберем только cls_.. второй (obj_) более простой и будет выполнен по подобию.. Это сообщение отредактировал(а) mes - 22.12.2010, 10:15 |
|||
|
||||
| mes |
|
||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
итак имеем :
Добавлено @ 10:38 тестовое применение для наглядности:
Добавлено @ 10:46 идем дальше :
появился invoke_detail::cls_method - эта структура, которая добавит const_ref к каждому элементу последовательности (Im::args_normalized) запушфронтит That и void и сделает метод.. Добавлено @ 10:47 теперь информации достаточно ? для кодирования таблицы.. если нет жду вопросов.. Это сообщение отредактировал(а) mes - 22.12.2010, 10:48 |
||||||
|
|||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |