| 64 | } |
| 65 | |
| 66 | void DenseBFSGraph::addParent(uint16_t iter, nodeID_t boundNodeID, relID_t edgeID, |
| 67 | nodeID_t nbrNodeID, bool fwdEdge, ObjectBlock<ParentList>* block) { |
| 68 | auto parent = reserveParent(boundNodeID, edgeID, fwdEdge, block); |
| 69 | parent->setIter(iter); |
| 70 | // Since by default the parentPtr of each node is nullptr, that's what we start with. |
| 71 | ParentList* expected = nullptr; |
| 72 | while (!curData[nbrNodeID.offset].compare_exchange_strong(expected, parent)) {} |
| 73 | parent->setNextPtr(expected); |
| 74 | } |
| 75 | |
| 76 | void DenseBFSGraph::addSingleParent(uint16_t iter, nodeID_t boundNodeID, relID_t edgeID, |
| 77 | nodeID_t nbrNodeID, bool fwdEdge, ObjectBlock<ParentList>* block) { |
no test coverage detected