|
Boost Users : |
Subject: Re: [Boost-users] [graph][spirit][variant] Boost.Graph and Boost.Spirit incompatible ?
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2010-03-04 14:51:54
AMDG
Jeremiah Willcock wrote:
> I guess I don't know how many programs use boost::get from BGL as
> opposed to just get. Users are supposed to use ADL to find get, at
> least in generic code, but it would still have to be in boost because
> that's where the graph types are. Remember that BGL's get is part of
> a concept so it needs to be accessible using an unqualified name when
> called on a built-in graph type. I don't see any obviously good ways
> to do this -- changing Variant would break more code but the fix would
> be simpler (since it's probably just a search-and-replace for
> boost::get< and get< since people won't use those syntaxes with BGL).
> For BGL, it might be possible to move the built-in property names (and
> references to them would need to be fixed up), but that's a hack just
> to get an additional associated namespace for the built-in definitions
> of get(). The other fix would be to move the graph types, but that
> would require user code changes as well; there would also need to be a
> rule that graph types could not go in boost:: anymore. I added
> [variant] into the subject line so we can get the Variant developers
> in here and try to get this worked out -- it is going to be an
> increasing problem as you said.
Do you know which BGL overload of get is triggering this?
IMHO, the graph library should not globally reserve a common
name like get. Variant's overloads are well behaved, (they
should never match anything except a variant and will not
cause an error when they don't match.)
In Christ,
Steven Watanabe
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