Template:SyncFieldHierarchy: Difference between revisions

Template page
added list and friends
Tag: 2017 source edit
m fix bag info
Tag: 2017 source edit
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- TODO: this list will be grow, so can we split this into small chunks by inventing design? -->
{| class="wikitable"
* ([[Type:IWorldElement]])
|+ [[Template:SyncFieldHierarchy|Sync field hierarchy]]
** [[Type:ISyncElement|ISyncElement]] - see also: [[Type:ISyncMember]]
! base types
|
* ([[Type:IWorldElement|IWorldElement]])
** [[Type:ISyncElement|ISyncElement]] (see also: [[Type:ISyncMember]])
*** [[Type:SyncElement|SyncElement]]
*** [[Type:SyncElement|SyncElement]]
**** [[Type:ConflictingSyncElement|ConflictingSyncElement]]
**** [[Type:ConflictingSyncElement|ConflictingSyncElement]]
***** [[Type:SyncField`1|SyncField&lt;T&gt;]]
|-
****** [[Type:Sync`1|Sync&lt;T&gt;]], for [[value types]]
! single value
****** [[Type:SyncRef`1|SyncRef&lt;T&gt;]], for [[reference types]]. Derives from SyncField&lt;[[Type:RefID|RefID]]&gt;
|
******* [[Type:RelayRef`1|RelayRef&lt;T&gt;]], for tracking changes
* ConflictingSyncElement
****** [[Type:SyncType|SyncType]], for the [[Type:Type|Type]] type. Derives from SyncField&lt;Type&gt;
** [[Type:SyncVar|SyncVar]]
****** [[Type:SyncDelegate`1|SyncDelegate&lt;T&gt;]], for [[Sync Delegates]]. Derives from SyncField&lt;[[Type:WorldDelegate|WorldDelegate]]&gt;
** [[Type:SyncField`1|SyncField&lt;T&gt;]] (see also: [[Type:IField`1]])
***** [[Type:SyncElementList`1|SyncElementList&lt;T&gt;]], for multiple ordered synchronized values with '''variable''' capacity; see also [[Type:ISyncList]]
*** [[Type:Sync`1|Sync&lt;T&gt;]], for [[value types]]
****** [[Type:SyncRefList`1|SyncRefList&lt;T&gt;]], for general [[Type:IWorldElement|IWorldElement]]
**** [[Type:SyncRef`1|SyncRef&lt;T&gt;]], for [[reference types]]. Derives from SyncField&lt;[[Type:RefID|RefID]]&gt;
****** [[Type:SyncAssetList`1|SyncAssetList&lt;T&gt;]], for [[Type:IAsset|Asset types]]
**** [[Type:RelayRef`1|RelayRef&lt;T&gt;]], for tracking changes
****** [[Type:SyncRelayList`1|SyncRelayList&lt;T&gt;]], for [[Type:RelayRef|relayed ref]]
**** [[Type:SyncType|SyncType]], for the [[Type:Type|Type]] type. Derives from SyncField&lt;Type&gt;
***** [[Type:SyncArray`1|SyncArray&lt;T&gt;]], for multiple ordered synchronized values with '''fixed''' capacity; see also [[Type:ISyncArray]]
**** [[Type:SyncDelegate`1|SyncDelegate&lt;T&gt;]], for [[Sync Delegates]]. Derives from SyncField&lt;[[Type:WorldDelegate|WorldDelegate]]&gt;
****** [[Type:SyncKeys`2|SyncKeys&lt;T, K&gt;]]
|-
******* [[Type:SyncLinear|SyncLinear&lt;T&gt;]] - derives from SyncKey&lt;T, [[Type:LinearKey`1|LinearKey`1]]&lt;T&gt;&gt;
! List
******* [[Type:SyncCurve|SyncCurve&lt;T&gt;]] - derives from SyncKey&lt;T, [[Type:CurveKey`1|CurveKey`1]]&lt;T&gt;&gt;
|
***** [[Type:SyncDictionary`2|SyncDictionary&lt;K, T&gt;]], for dictionary
* ConflictingSyncElement
**** [[Type:ISyncBag|ISyncBag]]
** [[Type:SyncElementList`1|SyncElementList&lt;T&gt;]], for multiple ordered synchronized values with '''variable''' capacity; see also [[Type:ISyncList]]
***** [[Type:SyncVar|SyncVar]]
*** [[Type:SyncRefList`1|SyncRefList&lt;T&gt;]], for general [[Type:IWorldElement|IWorldElement]]
*** [[Type:SyncAssetList`1|SyncAssetList&lt;T&gt;]], for [[Type:IAsset|Asset types]]
*** [[Type:SyncRelayList`1|SyncRelayList&lt;T&gt;]], for [[Type:RelayRef|relayed ref]]
*** [[Type:SyncDelegateList`1|SyncDelegateList&lt;T&gt;]], for [[Type:SyncDelegate`1|Sync Delegate]]
|-
! Array
|
* ConflictingSyncElement
** [[Type:SyncArray`1|SyncArray&lt;T&gt;]], for multiple ordered synchronized values with '''fixed''' capacity; see also [[Type:ISyncArray]]
*** [[Type:SyncKeys`2|SyncKeys&lt;T, K&gt;]]
**** [[Type:SyncLinear|SyncLinear&lt;T&gt;]] - derives from SyncKey&lt;T, [[Type:LinearKey`1|LinearKey`1]]&lt;T&gt;&gt;
**** [[Type:SyncCurve|SyncCurve&lt;T&gt;]] - derives from SyncKey&lt;T, [[Type:CurveKey`1|CurveKey`1]]&lt;T&gt;&gt;
|-
! Dictionary
|
* ConflictingSyncElement
** [[Type:SyncDictionary`2|SyncDictionary&lt;K, T&gt;]]
*** [[Type:SyncRefDictionary`2|SyncRefDictionary&lt;K, T&gt;]] - derives from SyncDictionary&lt;K, [[Type:SyncRef`1|SyncRef]]&lt;T&gt;&gt; where T is IWorldElement
*** [[Type:SyncFieldDictionary`2|SyncFieldDictionary&lt;K, T&gt;]] - derives from SyncDictionary&lt;K, [[Type:Sync`1|Sync]]&lt;T&gt;&gt;
|-
! Bag
|
* SyncElement
** [[Type:CollaboratioveSyncElement]]
*** (intermediate base types: [[Type:ISyncBag]] &lt;- [[Type:SyncBagBase`2]] &lt;- [[Type:SyncRefIDBagBase]])
**** [[Type:SyncBag`1|SyncBag]]
|}

Latest revision as of 05:01, 20 April 2025

Sync field hierarchy
base types
single value
List
Array
Dictionary
Bag