Re: А как "восстанавливать" информацию о типах? Обратный type erasure
От: uzhas Ниоткуда  
Дата: 17.02.15 08:38
Оценка: 2 (1) +3
Здравствуйте, x-code, Вы писали:

XC>Например, есть некая структура.

XC>И есть некая унифицированная property table, таблица из двух столбцов (имя и значение) и N строк (каждая строка — поле структуры).
XC>В какой-то момент эта таблица заполняется унифицированным способом. В ней есть имена полей и их значения. Каждой строке как-бы соответствует какой-то тип данных. Поскольку сама таблица унифицированная, в ней уже нет compile-time информации о типах полей; но в ней могут быть некие runtime идентификаторы этих типов (скажем, элементы enum).

XC>Дальше, пользователь что-то щелкает мышью, и нам нужно произвести обратное действие — восстановить из строки тип, опять перейти к шаблонному коду. Например, по щелчку на некотором поле нужно узнать что там был за тип и вызвать шаблонную функцию, специализированную для этого типа, которая что-то сделает.


есть такой паттерн: variant
в бусте есть. можно и switch использовать и визитор
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.