让我们考虑这种歧视的工会:
struct DiscriminatedUnion
{
union
{
float floatish;
uint32_t integral;
};
enum Discriminator
{
FLOATISH,
INTEGRAL
} discriminator{FLOATISH};
};
是否有可能以某种方式获取这种受歧视的并集的类型(例如,用std::tuple<float,uint32_t>
)?我想为类似的工会实施类似std::visit
的事物,而不用std::variant
代替它们或为每个工会声明特征。