Постепенное создание списка типов в C++
Я пытаюсь найти способ постепенного построения списка типов во время компиляции, который можно использовать во время выполнения без препятствующей реализации. Шкафное решение, которое я видел, здесь. Для меня проблема заключается в использовании макроса, так как он требует, чтобы мы добавляли макрос везде, где мы определяем тип, который мы хотим в нашем списке (подверженный ошибкам и подробный). Все структуры, которые я хочу добавить в список, будут проходить через шаблонную функцию, поэтому в идеале, если бы я мог построить список там, который бы решил мою проблему (никто не должен помнить макрос).
Я предполагаю, что решение не является жизнеспособным из-за неизменности характера списка (каждое создание шаблонной функции создает новый список, расширяя предыдущий). Но мои знания о метапрограммировании шаблонов все еще ограничены, поэтому, возможно, есть какая-то функция или методика, которые я пропустил.
Мы находимся в C++11, так что все в порядке. Повышение доступно, если это помогает.