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
LinksNonExistentDependenciesCreator(ILinks<TLinkAddress>)
Initializes a new LinksNonExistentDependenciesCreator<TLinkAddress> instance.
public LinksNonExistentDependenciesCreator(ILinks<TLinkAddress> links)
Parameters
linksILinks<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
restrictionIList<TLinkAddress>The restriction.
substitutionIList<TLinkAddress>The substitution.
handlerWriteHandler<TLinkAddress>Optional callback; null continues without invoking a callback.
Returns
- TLinkAddress
The link