Доступ к элементам в структуре C ++ как динамически, так и статически

Я хотел бы иметь структуру (или что-то подобное) на C ++, которая разрешала бы доступ к ее членам динамически. У него должны быть общие методы получения и установки, которые получают имя элемента в виде строки и возвращают какой-то вариантный тип (например, boost :: variant ).

Я думал, что это можно реализовать с помощью boost :: fusion :: map , путем добавления строки, представляющей имя каждого члена, и построения карты STL между строками и функциями получения или установки. Я не хочу изобретать велосипед, так что я надеялся, что нечто подобное уже существует.

Что вы думаете? Подойдет ли моя идея? Вы знаете другие способы достичь моей цели?

Спасибо, Haggai

6
задан haggai_e 2 December 2010 в 12:51
поделиться