Boost logo

Boost Users :

From: Daniel Mitchell (danmitchell_at_[hidden])
Date: 2006-04-20 03:37:38


On Thursday 20 April 2006 01:21, Louis Lavery wrote:
> As I understand it, "almost certain" is not sufficient in computing.

OK, that's perfectly reasonable. edges_size_type resolves to either
std::size_t or EdgeContainer::size_type, where EdgeContainer depends on the
EdgeProperty and EdgeListS parameters of adjacency_list and can be one of the
STL containers or, if your implementation provides them, slist or hash_set. I
wrote "almost certain" because it seems highly probable that
EdgeContainer::size_type will be a typedef for std::size_t.

> > It could be, but currently isn't because edges_size_type depends on the
> > EdgeListS template parameter of adjacency_list.
>
> If it is possible to know a type that is capable of counting the
> number of edges without having to know the type of the edges then
> the edges can be labeled via that type. Otherwise labeling the
> edges is APITA.

Agreed. I was thinking that if adjacency_list had simply used std::size_t in
all cases, then the typedef could be provided by adjacency_list_traits.

> All I really need is a type that is capable of counting the edges.
> Is that asking too much?

There's simply no way to know the type of edges_size_type before defining the
adjacency_list, so I think the best choice is std::size_t.

Daniel


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