# File lib/rgl/connected_components.rb, line 23
23:     def each_connected_component
24:       raise NotUndirectedError,
25:         "each_connected_component only works " +
26:         "for undirected graphs." if directed?
27:       comp = []
28:       vis  = DFSVisitor.new(self)
29:       vis.set_finish_vertex_event_handler { |v| comp << v }
30:       vis.set_start_vertex_event_handler { |v|
31:         yield comp unless comp.empty?
32:         comp = []
33:       }
34:       depth_first_search(vis) { |v| }
35:       yield comp unless comp.empty?
36:     end