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 Continue
Field Value
Type | Description |
---|---|
Boolean |
Itself
The itself.
Declaration
public static readonly Link Itself
Field Value
Type | Description |
---|---|
Link |
Stop
The stop.
Declaration
public static readonly bool Stop
Field 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 CreatedEvent
Event Type
Type | Description |
---|---|
Link.CreatedDelegate |
DeletedEvent
Declaration
public static event Link.DeletedDelegate DeletedEvent
Event Type
Type | Description |
---|---|
Link.DeletedDelegate |
UpdatedEvent
Declaration
public static event Link.UpdatedDelegate UpdatedEvent
Event 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 |