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

ParameterConstraintDescription
TIInterval

Properties

PropertyTypeDescription
intervalsRedBlackTree<T, AugmentedIntervalNode>

Methods

MethodReturn TypeDescription
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

ParameterTypeDescription
nodeIntervalNode<T> | undefined
keyT

Returns

Return type: boolean

map

Signature

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

Parameters

ParameterTypeDescription
fn(x: T) => void

mapBackward

Signature

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

Parameters

ParameterTypeDescription
fn(x: T) => void

mapUntil

Signature

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

Parameters

ParameterTypeDescription
fn(X: T) => boolean

match

Signature

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

Parameters

ParameterTypeDescription
xT

Returns

Return type: RBNode<T, AugmentedIntervalNode>[]

matchNode

Signature

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

Parameters

ParameterTypeDescription
nodeIntervalNode<T> | undefined
keyT

Returns

Return type: boolean

put

Signature

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

Parameters

ParameterModifiersTypeDescription
xT
conflictoptionalIntervalConflictResolver<T>

remove

Signature

remove(x: T): void;

Parameters

ParameterTypeDescription
xT

removeExisting

Signature

removeExisting(x: T): void;

Parameters

ParameterTypeDescription
xT

update

Signature

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

Parameters

ParameterTypeDescription
nodeIntervalNode<T>