Boost logo

Boost :

Subject: Re: [boost] [variant] awkward recursion
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2012-10-29 17:59:28


On 29/10/12 22:33, Dave Abrahams wrote:
>
> on Mon Oct 29 2012, Mathias Gaunard <mathias.gaunard-AT-ens-lyon.org> wrote:
>
>> On 29/10/12 20:29, Dave Abrahams wrote:
>>>
>>> Using recursive_variant_ works out quite nicely, except that
>>> it doesn't allow me to separately declare "object" and "array" and
>>> re-use them in the definition of "value":
>>>
>>> typedef boost::make_recursive_variant<
>>> null
>>> , std::string
>>> , double
>>> , std::map<std::string, boost::recursive_variant_>
>>> , std::vector<boost::recursive_variant_>
>>> , bool
>>> >::type value;
>>
>> I'd use this method, it's clearly the cleanest.
>> I don't understand what's your problem with it.
>
> As I had feared, and as
> http://news.gmane.org/find-root.php?message_id=%3cm2objlggaw.fsf%40pluto.luannocracy.com%3e
> demonstrates, extra dynamic allocations will be used to store maps and
> vectors (or anything at all?) in the variant.

Why not fix the implementation then instead of writing hacks?

Of course, the code of variant is horrible enough to make it very
difficult to do anything with it.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk