/// <summary> /// Returns a multi-directed resource iterator given the provided node cursor, direction and relationship types. /// </summary> /// <param name="cursors"> A cursor factor used for allocating the needed cursors </param> /// <param name="node"> A node cursor positioned at the current node. </param> /// <param name="types"> The types of the relationship </param> /// <param name="factory"> factory for creating instance of generic type T </param> /// <returns> An iterator that allows traversing the relationship chain. </returns> public static ResourceIterator <T> AllIterator <T>(CursorFactory cursors, NodeCursor node, int[] types, RelationshipFactory <T> factory) { if (node.Dense) { RelationshipDenseSelectionIterator <T> selectionIterator = new RelationshipDenseSelectionIterator <T>(factory); SetupAllDense(selectionIterator, cursors, node, types); return(selectionIterator); } else { RelationshipSparseSelectionIterator <T> selectionIterator = new RelationshipSparseSelectionIterator <T>(factory); SetupAllSparse(selectionIterator, cursors, node, types); return(selectionIterator); } }
void assertEmpty(RelationshipSparseSelectionIterator <R> iterator) { AssertEmpty((ResourceIterator <R>)iterator); }
void assertLoop(RelationshipSparseSelectionIterator <R> iterator, int type) { AssertLoop((ResourceIterator <R>)iterator, type); }
void assertIncoming(RelationshipSparseSelectionIterator <R> iterator, int sourceNode, int type) { AssertIncoming((ResourceIterator <R>)iterator, sourceNode, type); }
void assertOutgoing(RelationshipSparseSelectionIterator <R> iterator, int targetNode, int type) { AssertOutgoing((ResourceIterator <R>)iterator, targetNode, type); }