<div dir="ltr">Dear Lemon users,<div><br></div><div>After reading subgraph adapters (<a href="http://lemon.cs.elte.hu/pub/tutorial/a00009.html#sec_subgraphs">http://lemon.cs.elte.hu/pub/tutorial/a00009.html#sec_subgraphs</a>) and map adapters (<a href="http://lemon.cs.elte.hu/pub/doc/1.2.3/a00524.html#ga6d57040954dfe0188f02540fe8cf3319">http://lemon.cs.elte.hu/pub/doc/1.2.3/a00524.html#ga6d57040954dfe0188f02540fe8cf3319</a>), I wrote code like this:</div>
<div><br></div><div><br></div><div>lemon::SmartGraph G;<br></div><div>typedef lemon::SmartGraph::NodeMap<bool> BoolMap;<br></div><div>BoolMap alpha(G, false); <br></div><div><br></div><div>// update alpha.</div><div>
...</div><div>lemon::FilterNodes<lemon::SmartGraph> G_fg(G, alpha); // works fine.<br></div><div>lemon::NotMap<BoolMap> not_alpha(alpha);</div><div> lemon::FilterNodes<lemon::SmartGraph> G_bg(G, notMap(alpha) ); // compile errors.<br>
</div><div><br></div><div>The compiler gives errors as below:</div><div>===========================================</div><div><div>/home/sci/weiliu/projects/actlearn/code/core/grabcutseg.cxx:202:66: error: no matching function for call to ‘lemon::FilterNodes<lemon::SmartGraph>::FilterNodes(lemon::SmartGraph&, lemon::NotMap<lemon::GraphExtender<lemon::SmartGraphBase>::NodeMap<bool> >)’</div>
<div>/home/sci/weiliu/projects/actlearn/code/core/grabcutseg.cxx:202:66: note: candidates are:</div><div>In file included from /home/sci/weiliu/projects/actlearn/code/core/common.h:16:0,</div><div> from /home/sci/weiliu/projects/actlearn/code/core/grabcutseg.cxx:2:</div>
<div>/home/sci/weiliu/packages/lemon-1.2.3/lemon/adaptors.h:1587:5: note: lemon::FilterNodes<GR, NF, typename lemon::enable_if<lemon::UndirectedTagIndicator<GR> >::type>::FilterNodes(GR&, lemon::FilterNodes<GR, NF, typename lemon::enable_if<lemon::UndirectedTagIndicator<GR> >::type>::NodeFilterMap&) [with GR = lemon::SmartGraph; NF = lemon::GraphExtender<lemon::SmartGraphBase>::NodeMap<bool>; typename lemon::enable_if<lemon::UndirectedTagIndicator<GR> >::type = void; lemon::FilterNodes<GR, NF, typename lemon::enable_if<lemon::UndirectedTagIndicator<GR> >::type>::NodeFilterMap = lemon::GraphExtender<lemon::SmartGraphBase>::NodeMap<bool>]</div>
<div>/home/sci/weiliu/packages/lemon-1.2.3/lemon/adaptors.h:1587:5: note: no known conversion for argument 2 from ‘lemon::NotMap<lemon::GraphExtender<lemon::SmartGraphBase>::NodeMap<bool> >’ to ‘lemon::FilterNodes<lemon::SmartGraph>::NodeFilterMap& {aka lemon::GraphExtender<lemon::SmartGraphBase>::NodeMap<bool>&}’</div>
<div>/home/sci/weiliu/packages/lemon-1.2.3/lemon/adaptors.h:1583:5: note: lemon::FilterNodes<GR, NF, typename lemon::enable_if<lemon::UndirectedTagIndicator<GR> >::type>::FilterNodes() [with GR = lemon::SmartGraph; NF = lemon::GraphExtender<lemon::SmartGraphBase>::NodeMap<bool>; typename lemon::enable_if<lemon::UndirectedTagIndicator<GR> >::type = void]</div>
<div>/home/sci/weiliu/packages/lemon-1.2.3/lemon/adaptors.h:1583:5: note: candidate expects 0 arguments, 2 provided</div><div>/home/sci/weiliu/packages/lemon-1.2.3/lemon/adaptors.h:1563:9: note: lemon::FilterNodes<lemon::SmartGraph>::FilterNodes(const lemon::FilterNodes<lemon::SmartGraph>&)</div>
<div>/home/sci/weiliu/packages/lemon-1.2.3/lemon/adaptors.h:1563:9: note: candidate expects 1 argument, 2 provided</div></div><div>=================================================</div><div><br></div><div>Did I miss something obvious? I'm using lemon 1.2.3 and gcc 4.7</div>
<div><br></div><div>I appreciate for your help. </div><div><br></div><div>Wei</div></div>