>(g)) { }
legacy_graph& graph;
};
2:
Next step was a vertex_iterator and an edge_itreator, where I redefined
the equal, dereference, increment, etc members. (If it's not necessary
i'm not going to copy the code here.)
3: Created traits for adapted graph. I've redefined source, target, out_edge, etc.
template <>
struct graph_traits<legacy_graph_adaptor> : public detail::traits_base {
struct out_edge_iterator :
public detail::traits_base::edge_iter_base<out_edge_iterator>
{
typedef detail::traits_base::edge_iter_base<out_edge_iterator> Base;
out_edge_iterator(int legacy_vertex = 0, int* base_to = 0,
const legacy_graph* g = 0) : Base(legacy_vertex, base_to, g) { }
private:
void increment() {
advance();
}
friend class iterator_core_access;
};
};
Originally it was created as a part of a msvc project. Now I try to port it to gcc, and i got the next message (for example):
<path_to>\boost\boost_1_53_0\boost\graph\graph_concepts.hpp:94:
error: 'out_edges' was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
When I change to gcc 4.6 it compiles well.
So my question is: Is this a known bug or I missing something?
Thanks for the help.
Best regards:
Miklos