Macro BOOST_VARIANT_ENUM_PARAMS
BOOST_VARIANT_ENUM_PARAMS — Enumerate parameters for use with
variant
.
Synopsis
BOOST_VARIANT_ENUM_PARAMS(param)
Description
При наличии вариадных шаблонов иBoost_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES
не определен, расширяется до вариадного шаблонного списка следующим образом:Boost_VARIANT_ENUM_PARAMSТ=>T0,TN...Boost_VARIANT_ENUM_PARAMSклассТ=>классT0,класс...TNBoost_VARIANT_ENUM_PARAMSклассЧто-то=>классЧто-то,класс...Кое-чтоBoost_VARIANT_ENUM_PARAMSИмяЧто-то=>ФамилияЧто-то,имя типа...Кое-чтоBoost_VARIANT_ENUM_PARAMSЧто-то=>Что-то,Что-то...Boost_VARIANT_ENUM_PARAMSЧто-то=>Что-то,Что-то...
В противном случае она расширяется до запятой, разделенной последовательностью длины.BOOST_VARIANT_LIMIT_TYPES
, где каждый элемент в последовательности состоит из сцепленияпарамас его нулевым индексом в последовательность. То естьпарам ##0, парам ##1..., парам ### BOOST_VARIANT_LIMIT_TYPES - 1
.
Обоснование: Этот макрос значительно упрощает для пользователя процесс декларированиявариантов
типов в шаблонах функций или явных частичных специализаций шаблонов классов, как показано в учебнике.