Boost logo

Boost :

From: Joel de Guzman (joel_at_[hidden])
Date: 2006-05-10 06:29:41


David Abrahams wrote:
> Joel de Guzman <joel_at_[hidden]> writes:
>
>>> I find the metafunctions in the library not as straightforward as they
>>> should be. On the one hand, it seems nearly all of the metafunctions are
>>> the same in functionality and use, simply providing the result type of
>>> the various functions in the library. Then there is something like
>>> fusion::result_of::value_of that does not correspond to any function.
>>> Why? Of what function exactly is this the result? I think metafunctions
>>> like this should be in the plain fusion namespace.
>> I retrospect, all metafunctions originally resided in the namespace
>> fusion::meta. Right now, there's a multitude of namespaces for different
>> types of metafunctions in Fusion. There's result_of, there's traits,
>> there's extension. Thinking back now, the original "meta" namespace
>> might have been the right choice after all. It does not introduce a
>> confusion as to what to use for what ("hey, what namespace is XXX in?").
>
> I don't think that's the problem. I think Eric was saying the
> classification of that particular metafunction into namespace
> result_of didn't seem to be consistent with your other choices.

Right. Yes, I know that. What I am saying is that the situation
is a bit awkward. I am not sure if putting value_of in the main
fusion namespace is good. It'll be like an orphan there (IMO).
Having all metafunctions in "meta" as originally was, does not have
that problem. In addition, it also does not have the problem of
having to remember which metafunction resides in which namespace.

I know how you dislike the namespace "meta", so I'll leave it at
that. Maybe others have other names in mind or other suggestions
worth considering.

Regards,

-- 
Joel de Guzman
http://www.boost-consulting.com
http://spirit.sf.net

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