graph-builder
Version:
A graph builder library for modeling abstract graph structures.
29 lines (28 loc) • 1.08 kB
TypeScript
import { AbstractGraph } from "./AbstractGraph";
import { BaseGraph } from "./BaseGraph";
import { ElementOrder } from "./ElementOrder";
import { EndpointPair } from "./EndpointPair";
/**
* A class to allow {@link Graph} implementations to be backed by a {@link BaseGraph}. This is not
* currently planned to be released as a general-purpose forwarding class.
*/
export declare abstract class ForwardingGraph<N> extends AbstractGraph<N> {
protected abstract delegate(): BaseGraph<N>;
nodes(): Set<N>;
/**
* Defer to {@link AbstractGraph.edges} (based on {@link successors}) for full edges()
* implementation.
*/
protected edgeCountValue(): number;
isDirected(): boolean;
allowsSelfLoops(): boolean;
nodeOrder(): ElementOrder<N>;
adjacentNodes(node: N): Set<N>;
predecessors(node: N): Set<N>;
successors(node: N): Set<N>;
degree(node: N): number;
inDegree(node: N): number;
outDegree(node: N): number;
hasEdge(nodeU: N, nodeV: N): boolean;
hasEdgeConnectingEndpoints(endpoints: EndpointPair<N>): boolean;
}