![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
всем доброго дня.
интересуют идеи по реализации compile-time typeid. в каком направлении рыть? спасибо. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
как вариант, можно заранее формировать mpl::map. это конечно если все типы известны заранее.
Добавлено через 3 минуты и 59 секунд в общем хочется получить что-то вроде:
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
так уже не раз же обсуждали, автоматически typeid получить нельзя.. можно например вместо ид использовать индекс в списке, но для этого нужен список типов.. или же задавать ид вручную.. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
что-то мне подсказывало что обсуждали, но не могу вспомнить где/когда.. с этим все ясно. не удобно. не безопасно. что-то мне подсказывает что все же можно при использовании constexpr. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
со строками то можно работать в компайл-тайм.
Добавлено через 4 минуты и 3 секунды я тут на днях накодил. в том числе и такие алгоритмы:
используется шаблон в качестве строки. но для данной задачи нужен шаблон который будет картой типов... думаю.. Добавлено через 7 минут и 13 секунд но этот принцип не подходит для данной задачи. ибо невозможно будет передавать карту типов между всеми вызовами.. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
сорри, но к чему это было сказанно ? даже если ид строка, нужна все равно опорная линия определяющая что и кому принадлежит.. |
|||
|
||||
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
т.е. со строками я могу работать так:
Добавлено через 51 секунду извините, я просто размышляю в слух..
да-да-да... Добавлено через 2 минуты и 26 секунд да. тут проблема именно в передачи предыдущего результата для последующего использования. Добавлено через 2 минуты и 34 секунды эх.. Добавлено через 4 минуты и 20 секунд тупик, похоже.. нужно использовать какой-то мета_конвертор_исходников. |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
![]() ну да внешняя кодогенерация теоретически могла бы помочь, но тут встает вопрос опять таки о порядке элементов.. может сложиться ситуация, когда после перекомпиляции изменятся id, что приведет к конфликту при внешних взаимодействиях.. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
значит конвертеру нужно сообщать список типов с из ID`ами. заранее. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |