
On Aug 6, 2008, at 8:10 AM, Andrew Sutton wrote:
You might also consider that the BGL is fairly dated and stagnant, and in need of some serious TLC. Whether or not property maps continue to exist in the same form in future renditions of the library is anybody's guess - I'm leaning towards "no".
I'm going to have to disagree with pretty much all of this :) There are quite a few things in the BGL that I'd love to update and improve, but it's a solid piece of code that used in many different applications and is actively maintained. The property map concept is central to the use of the BGL and, while it has rough corners that we want to smooth over (especially: it needs to be easier for users and algorithms alike to create an efficient property map for any graph data structure), I think the core design and implementation of the BGL is quite solid. Similar to what Dave said, I would certainly want to consider making function objects into property maps (perhaps automatically), so that we can leverage the power of boost::bind, lambda/phoenix, and C++0x lambdas to compose property maps easily. But, I still think that can be done within the existing framework. I expect that what we'll be doing with the Boost.Graph version 2 work is modernizing the internals (now that we have MPL, enable_if, and such) and simplifying the external interface... but we'll be doing so while being careful not to break existing code too badly. - Doug