Struct Link
The link.
Implements
Inherited Members
Namespace: Platform.Data.Triplets
Assembly: Platform.Data.Triplets.dll
Syntax
public struct Link : ILink<Link>, IEquatable<Link>Constructors
| Improve this Doc View SourceLink(UInt64)
Initializes a new Link instance.
Declaration
public Link(ulong link)Parameters
| Type | Name | Description | 
|---|---|---|
| UInt64 | link | A link. 
 | 
Fields
| Improve this Doc View SourceContinue
The continue.
Declaration
public static readonly bool ContinueField Value
| Type | Description | 
|---|---|
| Boolean | 
Itself
The itself.
Declaration
public static readonly Link ItselfField Value
| Type | Description | 
|---|---|
| Link | 
Stop
The stop.
Declaration
public static readonly bool StopField Value
| Type | Description | 
|---|---|
| Boolean | 
Properties
| Improve this Doc View SourceFirstRefererByLinker
Gets the first referer by linker value.
Declaration
public Link FirstRefererByLinker { get; }Property Value
| Type | Description | 
|---|---|
| Link | 
FirstRefererBySource
Gets the first referer by source value.
Declaration
public Link FirstRefererBySource { get; }Property Value
| Type | Description | 
|---|---|
| Link | 
FirstRefererByTarget
Gets the first referer by target value.
Declaration
public Link FirstRefererByTarget { get; }Property Value
| Type | Description | 
|---|---|
| Link | 
Linker
Gets the linker value.
Declaration
public Link Linker { get; }Property Value
| Type | Description | 
|---|---|
| Link | 
ReferersByLinkerCount
Gets the referers by linker count value.
Declaration
public long ReferersByLinkerCount { get; }Property Value
| Type | Description | 
|---|---|
| Int64 | 
ReferersBySourceCount
Gets the referers by source count value.
Declaration
public long ReferersBySourceCount { get; }Property Value
| Type | Description | 
|---|---|
| Int64 | 
ReferersByTargetCount
Gets the referers by target count value.
Declaration
public long ReferersByTargetCount { get; }Property Value
| Type | Description | 
|---|---|
| Int64 | 
Source
Gets the source value.
Declaration
public Link Source { get; }Property Value
| Type | Description | 
|---|---|
| Link | 
Target
Gets the target value.
Declaration
public Link Target { get; }Property Value
| Type | Description | 
|---|---|
| Link | 
Timestamp
Gets the timestamp value.
Declaration
public DateTime Timestamp { get; }Property Value
| Type | Description | 
|---|---|
| DateTime | 
TotalReferers
Gets the total referers value.
Declaration
public long TotalReferers { get; }Property Value
| Type | Description | 
|---|---|
| Int64 | 
Methods
| Improve this Doc View SourceCreate(Link, Link, Link)
Creates the source.
Declaration
public static Link Create(Link source, Link linker, Link target)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | source | The source. 
 | 
| Link | linker | The linker. 
 | 
| Link | target | The target. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The link. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | Менеджер памяти ещё не готов. 
 | 
| InvalidOperationException | Невозможно создать связь. 
 | 
| ArgumentException | Удалённая связь не может использоваться в качестве значения. 
 | 
| ArgumentException | Удалённая связь не может использоваться в качестве значения. 
 | 
| ArgumentException | Удалённая связь не может использоваться в качестве значения. 
 | 
CreateMapped(Link, Link, Link, Int64)
Creates the mapped using the specified source.
Declaration
public static Link CreateMapped(Link source, Link linker, Link target, long mappingIndex)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | source | The source. 
 | 
| Link | linker | The linker. 
 | 
| Link | target | The target. 
 | 
| Int64 | mappingIndex | The mapping index. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The mapped link. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | Менеджер памяти ещё не готов. 
 | 
| InvalidOperationException | Существующая привязанная связь не соответствует указанным Source, Linker и Target. 
 | 
| InvalidOperationException | Установить привязанную связь не удалось. 
 | 
CreateMapped(Link, Link, Link, Object)
Creates the mapped using the specified source.
Declaration
public static Link CreateMapped(Link source, Link linker, Link target, object mappingIndex)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | source | The source. 
 | 
| Link | linker | The linker. 
 | 
| Link | target | The target. 
 | 
| Object | mappingIndex | The mapping index. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The link 
 | 
Delete(Link)
Deletes the link.
Declaration
public static void Delete(Link link)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | link | The link. 
 | 
Delete(ref Link)
Deletes the link.
Declaration
public static void Delete(ref Link link)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | link | The link. 
 | 
Equals(Link)
Determines whether this instance equals.
Declaration
public bool Equals(Link other)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | other | The other. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
Equals(Object)
Determines whether this instance equals.
Declaration
public override bool Equals(object obj)Parameters
| Type | Name | Description | 
|---|---|---|
| Object | obj | The obj. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
Overrides
| Improve this Doc View SourceExists(Link, Link, Link)
Determines whether exists.
Declaration
public static bool Exists(Link source, Link linker, Link target)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | source | The source. 
 | 
| Link | linker | The linker. 
 | 
| Link | target | The target. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
GetHashCode()
Gets the hash code.
Declaration
public override int GetHashCode()Returns
| Type | Description | 
|---|---|
| Int32 | The int 
 | 
Overrides
| Improve this Doc View SourceGetMapped(Int64)
Gets the mapped using the specified mapping index.
Declaration
public static Link GetMapped(long mappingIndex)Parameters
| Type | Name | Description | 
|---|---|---|
| Int64 | mappingIndex | The mapping index. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The mapped link. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | Mapped link with index {mappingIndex} is not set. 
 | 
GetMapped(Object)
Gets the mapped using the specified mapping index.
Declaration
public static Link GetMapped(object mappingIndex)Parameters
| Type | Name | Description | 
|---|---|---|
| Object | mappingIndex | The mapping index. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The link 
 | 
GetMappedOrDefault(Int64)
Gets the mapped or default using the specified mapping index.
Declaration
public static Link GetMappedOrDefault(long mappingIndex)Parameters
| Type | Name | Description | 
|---|---|---|
| Int64 | mappingIndex | The mapping index. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The mapped link. 
 | 
GetMappedOrDefault(Object)
Gets the mapped or default using the specified mapping index.
Declaration
public static Link GetMappedOrDefault(object mappingIndex)Parameters
| Type | Name | Description | 
|---|---|---|
| Object | mappingIndex | The mapping index. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The mapped link. 
 | 
Restore(Int64)
Restores the index.
Declaration
public static Link Restore(long index)Parameters
| Type | Name | Description | 
|---|---|---|
| Int64 | index | The index. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The link 
 | 
Restore(UInt64)
Restores the index.
Declaration
public static Link Restore(ulong index)Parameters
| Type | Name | Description | 
|---|---|---|
| UInt64 | index | The index. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The link 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | Менеджер памяти ещё не готов. 
 | 
| InvalidOperationException | Связь с указанным адресом удалена, либо не существовала. 
 | 
| ArgumentException | У связи не может быть нулевого адреса. 
 | 
| InvalidOperationException | Указатель не является корректным. 
 | 
Search(Link, Link, Link)
Searches the source.
Declaration
public static Link Search(Link source, Link linker, Link target)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | source | The source. 
 | 
| Link | linker | The linker. 
 | 
| Link | target | The target. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The link 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | Выполнить поиск связи можно только по существующим связям. 
 | 
| InvalidOperationException | Менеджер памяти ещё не готов. 
 | 
StartMemoryManager(String)
Starts the memory manager using the specified storage filename.
Declaration
public static void StartMemoryManager(string storageFilename)Parameters
| Type | Name | Description | 
|---|---|---|
| String | storageFilename | The storage filename. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | Файл ({storageFilename}) хранилища не удалось открыть. 
 | 
StopMemoryManager()
Stops the memory manager.
Declaration
public static void StopMemoryManager()Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | Файл хранилища не удалось закрыть. Возможно он был уже закрыт, или не открывался вовсе. 
 | 
ToIndex()
Returns the index.
Declaration
public ulong ToIndex()Returns
| Type | Description | 
|---|---|
| UInt64 | The link index 
 | 
ToInt()
Returns the int.
Declaration
public long ToInt()Returns
| Type | Description | 
|---|---|
| Int64 | The int 
 | 
ToString()
Returns the string.
Declaration
public override string ToString()Returns
| Type | Description | 
|---|---|
| String | The string 
 | 
Overrides
| Improve this Doc View SourceTryGetMapped(Int64, out Link)
Determines whether try get mapped.
Declaration
public static bool TryGetMapped(long mappingIndex, out Link mappedLink)Parameters
| Type | Name | Description | 
|---|---|---|
| Int64 | mappingIndex | The mapping index. 
 | 
| Link | mappedLink | The mapped link. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | Менеджер памяти ещё не готов. 
 | 
TryGetMapped(Object, out Link)
Determines whether try get mapped.
Declaration
public static bool TryGetMapped(object mappingIndex, out Link mappedLink)Parameters
| Type | Name | Description | 
|---|---|---|
| Object | mappingIndex | The mapping index. 
 | 
| Link | mappedLink | The mapped link. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
TrySetMapped(Link, Int64, Boolean)
Determines whether try set mapped.
Declaration
public static bool TrySetMapped(Link link, long mappingIndex, bool rewrite = false)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | link | The link. 
 | 
| Int64 | mappingIndex | The mapping index. 
 | 
| Boolean | rewrite | The rewrite. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
Update(Link, Link, Link, Link)
Updates the link.
Declaration
public static Link Update(Link link, Link newSource, Link newLinker, Link newTarget)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | link | The link. 
 | 
| Link | newSource | The new source. 
 | 
| Link | newLinker | The new linker. 
 | 
| Link | newTarget | The new target. 
 | 
Returns
| Type | Description | 
|---|---|
| Link | The link. 
 | 
Update(ref Link, Link, Link, Link)
Updates the link.
Declaration
public static void Update(ref Link link, Link newSource, Link newLinker, Link newTarget)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | link | The link. 
 | 
| Link | newSource | The new source. 
 | 
| Link | newLinker | The new linker. 
 | 
| Link | newTarget | The new target. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | Менеджер памяти ещё не готов. 
 | 
| ArgumentException | Нельзя обновить несуществующую связь. 
 | 
| ArgumentException | Удалённая связь не может использоваться в качестве нового значения. 
 | 
| ArgumentException | Удалённая связь не может использоваться в качестве нового значения. 
 | 
| ArgumentException | Удалённая связь не может использоваться в качестве нового значения. 
 | 
WalkThroughAllLinks(Action<Link>)
Walks the through all links using the specified walker.
Declaration
public static void WalkThroughAllLinks(Action<Link> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Action<Link> | walker | The walker. 
 | 
WalkThroughAllLinks(Func<Link, Boolean>)
Determines whether walk through all links.
Declaration
public static bool WalkThroughAllLinks(Func<Link, bool> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Func<Link, Boolean> | walker | The walker. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
WalkThroughReferers(Action<Link>)
Walks the through referers using the specified walker.
Declaration
public void WalkThroughReferers(Action<Link> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Action<Link> | walker | The walker. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | C несуществующей связью нельзя производитить операции. 
 | 
WalkThroughReferers(Func<Link, Boolean>)
Walks the through referers using the specified walker.
Declaration
public void WalkThroughReferers(Func<Link, bool> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Func<Link, Boolean> | walker | The walker. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | C несуществующей связью нельзя производитить операции. 
 | 
WalkThroughReferersAsLinker(Action<Link>)
Walks the through referers as linker using the specified walker.
Declaration
public void WalkThroughReferersAsLinker(Action<Link> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Action<Link> | walker | The walker. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | C несуществующей связью нельзя производитить операции. 
 | 
WalkThroughReferersAsLinker(Func<Link, Boolean>)
Determines whether this instance walk through referers as linker.
Declaration
public bool WalkThroughReferersAsLinker(Func<Link, bool> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Func<Link, Boolean> | walker | The walker. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | C несуществующей связью нельзя производитить операции. 
 | 
WalkThroughReferersAsSource(Action<Link>)
Walks the through referers as source using the specified walker.
Declaration
public void WalkThroughReferersAsSource(Action<Link> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Action<Link> | walker | The walker. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | C несуществующей связью нельзя производитить операции. 
 | 
WalkThroughReferersAsSource(Func<Link, Boolean>)
Determines whether this instance walk through referers as source.
Declaration
public bool WalkThroughReferersAsSource(Func<Link, bool> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Func<Link, Boolean> | walker | The walker. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | C несуществующей связью нельзя производитить операции. 
 | 
WalkThroughReferersAsTarget(Action<Link>)
Walks the through referers as target using the specified walker.
Declaration
public void WalkThroughReferersAsTarget(Action<Link> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Action<Link> | walker | The walker. 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | C несуществующей связью нельзя производитить операции. 
 | 
WalkThroughReferersAsTarget(Func<Link, Boolean>)
Determines whether this instance walk through referers as target.
Declaration
public bool WalkThroughReferersAsTarget(Func<Link, bool> walker)Parameters
| Type | Name | Description | 
|---|---|---|
| Func<Link, Boolean> | walker | The walker. 
 | 
Returns
| Type | Description | 
|---|---|
| Boolean | The bool 
 | 
Exceptions
| Type | Condition | 
|---|---|
| InvalidOperationException | C несуществующей связью нельзя производитить операции. 
 | 
Events
| Improve this Doc View SourceCreatedEvent
Declaration
public static event Link.CreatedDelegate CreatedEventEvent Type
| Type | Description | 
|---|---|
| Link.CreatedDelegate | 
DeletedEvent
Declaration
public static event Link.DeletedDelegate DeletedEventEvent Type
| Type | Description | 
|---|---|
| Link.DeletedDelegate | 
UpdatedEvent
Declaration
public static event Link.UpdatedDelegate UpdatedEventEvent Type
| Type | Description | 
|---|---|
| Link.UpdatedDelegate | 
Operators
| Improve this Doc View SourceBitwiseAnd(Link, Link)
Declaration
public static Link operator &(Link first, Link second)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | first | |
| Link | second | 
Returns
| Type | Description | 
|---|---|
| Link | 
Equality(Link, Link)
Declaration
public static bool operator ==(Link first, Link second)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | first | |
| Link | second | 
Returns
| Type | Description | 
|---|---|
| Boolean | 
Explicit(Link[] to Link)
Declaration
public static explicit operator Link(Link[] links)Parameters
| Type | Name | Description | 
|---|---|---|
| Link[] | links | 
Returns
| Type | Description | 
|---|---|
| Link | 
Explicit(List<Link> to Link)
Declaration
public static explicit operator Link(List<Link> links)Parameters
| Type | Name | Description | 
|---|---|---|
| List<Link> | links | 
Returns
| Type | Description | 
|---|---|
| Link | 
Explicit(String to Link)
Declaration
public static explicit operator Link(string string)Parameters
| Type | Name | Description | 
|---|---|---|
| String | string | 
Returns
| Type | Description | 
|---|---|
| Link | 
Implicit(Link to Int64)
Declaration
public static implicit operator long (Link link)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | link | 
Returns
| Type | Description | 
|---|---|
| Int64 | 
Implicit(Link to Nullable<UInt64>)
Declaration
public static implicit operator ulong? (Link link)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | link | 
Returns
| Type | Description | 
|---|---|
| Nullable<UInt64> | 
Implicit(Link to UInt64)
Declaration
public static implicit operator ulong (Link link)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | link | 
Returns
| Type | Description | 
|---|---|
| UInt64 | 
Implicit(Int64 to Link)
Declaration
public static implicit operator Link(long link)Parameters
| Type | Name | Description | 
|---|---|---|
| Int64 | link | 
Returns
| Type | Description | 
|---|---|
| Link | 
Implicit(Nullable<UInt64> to Link)
Declaration
public static implicit operator Link(ulong? link)Parameters
| Type | Name | Description | 
|---|---|---|
| Nullable<UInt64> | link | 
Returns
| Type | Description | 
|---|---|
| Link | 
Implicit(UInt64 to Link)
Declaration
public static implicit operator Link(ulong link)Parameters
| Type | Name | Description | 
|---|---|---|
| UInt64 | link | 
Returns
| Type | Description | 
|---|---|
| Link | 
Inequality(Link, Link)
Declaration
public static bool operator !=(Link first, Link second)Parameters
| Type | Name | Description | 
|---|---|---|
| Link | first | |
| Link | second | 
Returns
| Type | Description | 
|---|---|
| Boolean |