Skip to main content
Version: v1

IntervalTree Class

Signature

export declare class IntervalTree<T extends IInterval> implements IRBAugmentation<T, AugmentedIntervalNode>, IRBMatcher<T, AugmentedIntervalNode>

Implements: IRBAugmentation<T, AugmentedIntervalNode>, IRBMatcher<T, AugmentedIntervalNode

Type Parameters

Parameter Constraint Description
T IInterval

Properties

Property Type Description
intervals RedBlackTree<T, AugmentedIntervalNode>

Methods

Method Return Type Description
continueSubtree(node, key) boolean
map(fn) void
mapBackward(fn) void
mapUntil(fn) void
match(x) RBNode<T, AugmentedIntervalNode>[]
matchNode(node, key) boolean
put(x, conflict) void
remove(x) void
removeExisting(x) void
update(node) void

Property Details

intervals

Signature

intervals: RedBlackTree<T, AugmentedIntervalNode>;

Type: RedBlackTree<T, AugmentedIntervalNode>

Method Details

continueSubtree

Signature

continueSubtree(node: IntervalNode<T> | undefined, key: T): boolean;

Parameters

Parameter Type Description
node IntervalNode<T> | undefined
key T

Returns

Return type: boolean

map

Signature

map(fn: (x: T) => void): void;

Parameters

Parameter Type Description
fn (x: T) => void

mapBackward

Signature

mapBackward(fn: (x: T) => void): void;

Parameters

Parameter Type Description
fn (x: T) => void

mapUntil

Signature

mapUntil(fn: (X: T) => boolean): void;

Parameters

Parameter Type Description
fn (X: T) => boolean

match

Signature

match(x: T): RBNode<T, AugmentedIntervalNode>[];

Parameters

Parameter Type Description
x T

Returns

Return type: RBNode<T, AugmentedIntervalNode>[]

matchNode

Signature

matchNode(node: IntervalNode<T> | undefined, key: T): boolean;

Parameters

Parameter Type Description
node IntervalNode<T> | undefined
key T

Returns

Return type: boolean

put

Signature

put(x: T, conflict?: IntervalConflictResolver<T>): void;

Parameters

Parameter Modifiers Type Description
x T
conflict optional IntervalConflictResolver<T>

remove

Signature

remove(x: T): void;

Parameters

Parameter Type Description
x T

removeExisting

Signature

removeExisting(x: T): void;

Parameters

Parameter Type Description
x T

update

Signature

update(node: IntervalNode<T>): void;

Parameters

Parameter Type Description
node IntervalNode<T>