Boost Users :
Subject: Re: [Boost-users] boost variant is not a literal type
From: Robert Ramey (ramey_at_[hidden])
Date: 2016-01-06 17:23:44
On 1/6/16 1:03 PM, Agustín K-ballo Bergé wrote:
> On 1/6/2016 5:52 PM, Robert Ramey wrote:
>> I want to use Boost.Variant constexpr function. In order to do this it
>> has to be a literal type - which apparently it isn't. The rule for
>> being a literal type are summarized here:
>> a boost::variant isn't default constructable so it fails to qualify.
> A default constructor is not a requirement of literal type.
>> Has anyone else had this problem before and managed to solve it in a
>> convenient way?
> Constexpr support is a complicated thing for `variant`, and it would
> require a complete reimplementation of `boost::variant`. The trickiest
> part is having a trivial destructor. For the gory details have a look at
> these articles:
I've read your eggs.variant and it seems exactly what I'm looking for so
I cloned. I used CMake to make and xcode project and I've got a couple
a) It doesn't seem to specify CTest, at least my xcode project doesn't
have a "RUN_TESTS" target. I try to build the tests and I get error
Unknown type name 'constexpr'
at line which contains "EGGS_CXX11_CONSTESPR"
which suggests that I haven't got things setup quite right.
a) Am I correct in my understanding that this will provide similar
facilities to boost variant in way which supports constexpr?
b) Anything I haven't done to run test on and use this library.
c) Is there any reason that you haven't submitted this to the Boost
> Also note that literal unions are over restricted, and that restricts
> the kind of member types a literal variant might have. That's CWG2096
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net