boost::variant имеет элементы types, которые представляют собой структуру boost::mpl. Есть ли способ получить индекс типа в этой структуре во время компиляции, так что во время выполнения я мог бы сделать
if(myVariantInstance.which() == typeIndex)
{
/*...*/
}
Вместо
if(myVariantInstance.type() == typeid(ConcreteType))
{
/*...*/
}
mpl::vector
это работает как шарм, но сvariant
types
он терпит неудачу с отсутствующим элементомpos
для итератора типа. Рассмотрим этот (pastebin.com/Hd01nJQy) фрагмент, второйstatic_assert
не работает. - person K117   schedule 08.06.2016