检索工会持有的类型

时间:2019-04-13 17:19:33

标签: c++ union metaprogramming variant visitor

让我们考虑这种歧视的工会:

struct DiscriminatedUnion
{
    union
    {
        float floatish;
        uint32_t integral;
    };
    enum Discriminator
    {
        FLOATISH,
        INTEGRAL
    } discriminator{FLOATISH};
};

是否有可能以某种方式获取这种受歧视的并集的类型(例如,用std::tuple<float,uint32_t>)?我想为类似的工会实施类似std::visit的事物,而不用std::variant代替它们或为每个工会声明特征。

0 个答案:

没有答案