Boost logo

Boost Users :

Subject: Re: [Boost-users] BGL vertex(std::size_t i, Graph) is in no concept
From: Andrew Sutton (andrew.n.sutton_at_[hidden])
Date: 2009-09-04 10:59:06


> If I am not wrong, then the vertex(std::size_t i, Graph) function is
>> required in no graph concept at all. However, adjacency_list
>> defines it and csr-graphs use it ...
>>
>> Did I overlook something or shouldn't the function belong to some graph
>> concept?
>>
>
> I have now made the CSR graphs not use it for other graphs being copied
> into CSR format. There should not be any other algorithms that use it;
> however, it is provided by almost all graphs. It is the inverse function to
> the vertex_index property map. Some graphs also have edge_from_index which
> is the inverse of the edge_index property map.
>

I think this function falls into the same category as edge(), which I'm
starting to believe is exactly like iterator operations distance(),
advance(), next() and prev(). Not part of a concept, not a full-fledged
algorithm, but nonetheless an operation that can be implemented for every
graph, with varying degrees of efficiency.

Andrew Sutton
andrew.n.sutton_at_[hidden]



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