|
Boost Users : |
Subject: Re: [Boost-users] question about fusion concepts/documentation
From: Matt Calabrese (rivorus_at_[hidden])
Date: 2011-05-30 20:10:40
On Mon, May 30, 2011 at 7:03 PM, Gordon Woodhull <gordon_at_[hidden]>wrote:
> Gladly, the concepts don't need to be defined within the graph or generated
> from the graph (! generative concepts would get very confusing!), I just
> need to define them elsewhere and then refer to them within the graph. And
> I'm not sure how this would work, referring to a concept and embedding it as
> metadata without yet knowing what types it will apply to.
>
> Maybe it will in fact be easier with your simulation than with actual
> concepts, because we know how to carry metafunctions around. But I'm also
> curious to know whether it works with real concepts.
Concepts, as they were proposed, could only appear at namespace scope, so
you can't, for instance, have some kind of complex, metaprogrammed concept
that is generated based on a compile-time graph from within a template. That
would be very powerful, indeed, but is not possible. You also can't pass
concepts themselves around as template parameters or alias them within
types, so there technically isn't a way to store a concept as data in a
compile-time graph.
However, as you have said, since I am emulating concepts with templates, I
could branch off from what concepts were and actually support such features,
but I'd rather avoid that and stick as close to what would have been
standard as I can, at least until I implement everything that would have
been standard as well as I can. Perhaps once I finish that, I will consider
experimenting with further functionality, but that is a ways off.
-- -Matt Calabrese
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