On Fri, 8 Mar 2013, Borja Miñano wrote:
Hello again,
Following your advise I started trying with filter_iterator. I could them filter in a in_edge iterator. But I was thinking on filtering the unique_rmat_iterator that I use to generate the graph (so I now understand why you said before creating the graph). Unfortunately I got a compilation error that cannot figure out how to solve. My filter is simple:
struct no_self_loops { no_self_loops() {} bool operator()(const std::pair<int,int>& e) { return e.first != e.second; } };
And the the use is:
(snip)
I couldn't change the language for the errors but its says something like " Parameter type 'boost::iterator_facade<boost...>::difference_type {aka void}’ invalid. I cannot imagine where is my problem, could you help me?
Could you please try the trunk version of Boost.Graph? I just committed (r83366) a change that might have fixed the errors you're getting. If you are using a release version of Boost, you only need to download <boost/graph/rmat_iterator.hpp> from the trunk to test. -- Jeremiah Willcock