public TerminalNode(ITupleSource <T> tupleSource, IndexMap indexMap) { _indexMap = indexMap; _ruleNodes = new ConnectableList <IRuleNode <T> >(); _handle = tupleSource.Connect(this); }
public BetaNode(ITupleSource <TLeft> leftSource, IFactSource <TRight> rightSource, IBetaCondition <TLeft, TRight> condition) { _leftSource = leftSource; _rightSource = rightSource; _condition = condition; _memoryNode = new Lazy <IBetaMemoryNode <TRight> >(() => new BetaMemoryNode <TRight>()); _leftHandle = leftSource.Connect(this); _rightHandle = rightSource.Connect(this); }