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