U:RDoc::AnyMethod[iI"+each_strongly_connected_component_from:EFI"2TSort::each_strongly_connected_component_from;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"=Iterates over strongly connected components in a graph. ;TI"9The graph is represented by _node_ and _each_child_.;To:RDoc::Markup::BlankLineo; ; [I"_node_ is the first node. ;TI"H_each_child_ should have +call+ method which takes a node argument ;TI"$and yields for each child node.;T@o; ; [I"!Return value is unspecified.;T@o; ; [I"I#TSort.each_strongly_connected_component_from is a class method and ;TI"Git doesn't need a class to represent a graph which includes TSort.;T@o:RDoc::Markup::Verbatim; [ I"0graph = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]} ;TI"6each_child = lambda {|n, &b| graph[n].each(&b) } ;TI"HTSort.each_strongly_connected_component_from(1, each_child) {|scc| ;TI" p scc ;TI"} ;TI" #=> [4] ;TI"# [2, 3] ;TI" # [1];T: @format0: @fileI"lib/tsort.rb;T:0@omit_headings_from_table_of_contents_below00I" nodes;F[I",(node, each_child, id_map={}, stack=[]);T@&FI" TSort;FcRDoc::NormalModule00