Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2003-11-05 11:16:31


Eric Friedman <efriedman_at_[hidden]> writes:

> David Abrahams wrote:
>
>> Eric Friedman <ebf_at_[hidden]> writes:
>>
>>>Potential ideas already proposed include:
>>>
>>> * variant< variant_types<some-mpl-type-sequence> >
>>> * variant_from_sequence<mpl-seq>::type
>>>
>>>Both of these would work, of course. What I am looking for now is a
>>>more convenient way to spell it.
>>>
>>>One idea I've had:
>>>
>>> mpl::make_variant< mpl-seq >::type
>>>
>>>Ideas welcome.
>> That's fine looking, but not in namespace mpl. It belongs in boost.
>
> Hmm to me, rightly or wrongly, the name 'boost::make_variant' does not
> suggest its argument is a type sequence in the same way
> mpl::make_variant' does.

What does make_pair suggest about its argument(s)?
What does make_indirect_iterator suggest about its argument?

> So if not in namespace mpl, I'd say it needs a different name.

I disagree, though I usually reserve make_... for runtime functions.

> Unfortunately, I don't have any better ideas. Maybe for now I'll just
> go with variant< variant_types<seq> >, as ugly as I find it.

I think I'm with Peter Dimov, if I understood him correctly. For
interoperability reasons, it has to be a metafunction.

   boost::variant_over<type-seq>::type

??

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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