
31 Mar
2011
31 Mar
'11
2:43 p.m.
I will say that our design does take a slightly more object-oriented approach (g.size(), for example), but that hardly precludes adaptation. Adaptors would have to be written as classes, but that shouldn't be a big deal.
I think you underestimate the cost of adaptation-via-wrapper and urge you to stick with free functions unless you have a really good reason to do otherwise.
It's a balancing act. Operations that we know are being used in generic libraries typically are get free functions (out_edges() being the most important so far). Otherwise, the data structures are "self-contained". The approach more or less follows the std containers. Now that I've said that, I think I need to write vertices(g) and edges(g) :) Andrew