Commit Graph

9 Commits

Author SHA1 Message Date
Dan Kortschak
91d83a4f35 graph/iterator: add fast paths for node slices and add tests
Fix bugs in NodeSlice methods:

- ImplicitNodes did not return nil for an empty set of nodes.
- OrderedNodes returned one too many nodes if Next has been called.
2020-07-02 07:47:46 +09:30
Dan Kortschak
d4ef54c821 graph/iterator: implement edge and line based lazy node iterator 2020-07-02 07:47:46 +09:30
Dan Kortschak
2a132c9421 graph/iterator: consolidate node iterators 2019-10-13 07:56:07 +10:30
Dan Kortschak
dafd13b32d graph/iterator: guard against iteration panic
The reflect package panics when any of Key, Value or Next are called
after Next returns false. We don't do that in the other iterators, so
we shouldn't do it here.
2019-07-20 21:02:08 +09:30
Dan Kortschak
b8a36307b8 graph/iterator: properly test iterator reset 2019-07-20 19:50:24 +09:30
Dan Kortschak
2120b82d14 graph/iterator: add unordered node iterator 2019-07-20 18:24:32 +09:30
Dan Kortschak
761876748e graph: make edges and lines reversible 2019-03-13 07:14:55 +10:30
Dan Kortschak
2df0688894 graph/simple: test graph implementations with testgraph package
Fix bugs found by testgraph.
2018-11-21 11:35:03 +10:30
Dan Kortschak
b73a2c92ff graph: add node, edge and line iterators 2018-09-23 09:25:56 +09:30