[Lemon-user] is there a way to write a subgraph?

Kovács Péter kpeter at inf.elte.hu
Fri Dec 30 21:17:38 CET 2016


Hi John,

You should avoid passing graphs (and other large data structures) as 
values between functions. Use references or pointers instead. For example:

FilterNodes<ListDigraph>& get_subgraph(void)
{
     FilterNodes<ListDigraph> subgraph;
     ...
     return g;
}

Note the '&' sign in the return type of the function. (If its meaning is 
not clear, read some C++ tutorials about references and pointers.)

Regards,
Péter



> Péter,
>
> It turns out that the issue I am having is related to trying to return
> a FilterNodes<ListDigraph> issue from a function.  If
> the FilterNodes<ListDigraph> object is local I can iterate through the
> nodes as expected.  If the object is returned from a function i.e.
>
> FilterNodes<ListDigraph> get_subgraph(void)
> {
> }
>
> void another_function()
> {
>      auto x = get_subgraph();
>
>      for (FilterNodes<ListDigraph>::NodeIt n(x); n != INVALID; ++n)
>      ...
> }
>
> I get an exception when trying to iterate through the nodes.
>
> John
>
>
>
>
> On Thu, Dec 29, 2016 at 5:28 PM, Kovács Péter <kpeter at inf.elte.hu
> <mailto:kpeter at inf.elte.hu>> wrote:
>
>     Hi John,
>
>     What kind of write method are you looking for? Could you send a code
>     snippet that works for the graph, but does not apply to the subgraph?
>
>     Regards,
>     Péter
>
>
>         I have a subgraph as follows:
>
>         FilterNodes<ListDigraph> sub(*graph, filter);
>
>         There doesn't appear to be a write method for the subgraph as
>         there is
>         for the graph.
>
>         Suggestions?
>
>
>         --
>         John Lagerquist
>         Chief Engineer
>         RallyTronics LLC
>         801-866-5981
>
>
>
>
>         _______________________________________________
>         Lemon-user mailing list
>         Lemon-user at lemon.cs.elte.hu <mailto:Lemon-user at lemon.cs.elte.hu>
>         http://lemon.cs.elte.hu/mailman/listinfo/lemon-user
>         <http://lemon.cs.elte.hu/mailman/listinfo/lemon-user>
>
>
>
>
>
> --
> John Lagerquist
> Chief Engineer
> RallyTronics LLC
> 801-866-5981
>
>



More information about the Lemon-user mailing list