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