/// <summary> /// Visists the given visitor with the specified custom node. /// </summary> public static bool Accept(IGenericNode node, ISolutionVisitor visitor) { if (visitor.VisitEnter(node)) { foreach (var child in node.Nodes) { if (!child.Accept(visitor)) { break; } } } return(visitor.VisitLeave(node)); }
public bool VisitLeave(IGenericNode node) => true;
public bool VisitEnter(IGenericNode node) => false;
public bool VisitLeave(IGenericNode node) => true;
public bool VisitEnter(IGenericNode node) => true;
public bool VisitLeave (IGenericNode node) { throw new NotImplementedException (); }
/// <summary> /// Visists the given visitor with the specified custom node. /// </summary> public static bool Accept(IGenericNode node, ISolutionVisitor visitor) { if (visitor.VisitEnter(node)) { foreach (var child in node.Nodes) { if (!child.Accept(visitor)) break; } } return visitor.VisitLeave(node); }
/// <summary> /// Begins visiting a custom node. /// </summary> /// <param name="node">The custom node being visited.</param> /// <returns><see langword="true" /> if the node children should be visited; <see langword="false" /> otherwise.</returns> public bool VisitEnter(IGenericNode node) => true;
public bool VisitLeave(IGenericNode node) { throw new NotImplementedException(); }