Class LinksNonExistentDependenciesCreator<TLinkAddress>

Namespace
Platform.Data.Doublets.Decorators
Assembly
Platform.Data.Doublets.dll

Creates missing dependencies before updating links.

public class LinksNonExistentDependenciesCreator<TLinkAddress> : LinksDecoratorBase<TLinkAddress>, ILinks<TLinkAddress>, ILinks<TLinkAddress, LinksConstants<TLinkAddress>> where TLinkAddress : IUnsignedNumber<TLinkAddress>

Type Parameters

TLinkAddress
Inheritance
LinksOperatorBase<TLinkAddress>
LinksDecoratorBase<TLinkAddress>
LinksNonExistentDependenciesCreator<TLinkAddress>
Implements
ILinks<TLinkAddress>
ILinks<TLinkAddress, LinksConstants<TLinkAddress>>
Inherited Members
Extension Methods

Remarks

Not practical if newSource and newTarget are too big. To be able to use practical version we should allow to create link at any specific location inside ResizableDirectMemoryLinks. This in turn will require to implement not a list of empty links, but a list of ranges to store it more efficiently.

Constructors

public LinksNonExistentDependenciesCreator(ILinks<TLinkAddress> links)

Parameters

links ILinks<TLinkAddress>

A links.

Methods

Update(IList<TLinkAddress>?, IList<TLinkAddress>?, WriteHandler<TLinkAddress>?)

Updates the restriction.

public override TLinkAddress Update(IList<TLinkAddress>? restriction, IList<TLinkAddress>? substitution, WriteHandler<TLinkAddress>? handler)

Parameters

restriction IList<TLinkAddress>

The restriction.

substitution IList<TLinkAddress>

The substitution.

handler WriteHandler<TLinkAddress>

Optional callback; null continues without invoking a callback.

Returns

TLinkAddress

The link