
Hello All, I started to use boost a few weeks ago and i still have got some problems with the graph_traits theory. In fact, it seems that you use a graph_traits to stock the type of the data used for the Graph (given as a template) such as vertex_descriptor or in_edge iterator. To keep this you use something like: typedef typename Graph::vertex_descriptor vertex_descriptor; which means that you get this type from Graph::vertex_descriptor. Now, if i want to wite an algorithm which will search for all the vertices for example, i'll have to use my Graph as a template and i'll get the vertex type for example using typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor; That's why I wanted to ask you why this method is used instead of just typedef typename Graph::vertex_descriptor vertex_descriptor; used in the class graph_traits definition. I hope i made me understandable! Thanks a lot Koopajah