Enhanced C#
Loyc library documentation
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Public fields | Properties | Public Member Functions | List of all members
Loyc.SyncLib.Impl.CollectionBuilder< TList, T > Struct Template Reference

Helper type for reading ICollection{T} types. More...


Source file:
Inheritance diagram for Loyc.SyncLib.Impl.CollectionBuilder< TList, T >:
Loyc.SyncLib.Impl.IListBuilder< out TList, T >

Remarks

Helper type for reading ICollection{T} types.

Type Constraints
TList :ICollection<T> 

Public fields

Func< int, TList > _alloc
 
TList Empty => _alloc(0)
 

Properties

TList List [get, set]
 
- Properties inherited from Loyc.SyncLib.Impl.IListBuilder< out TList, T >
TList List [get]
 Called once when done loading to retrieve the list. More...
 
TList Empty [get]
 Returns an empty list, bypassing the normal building process More...
 

Public Member Functions

 CollectionBuilder (Func< int, TList > alloc)
 
object Alloc (int minLength)
 A method that is always called once when loading a list. More...
 
TList CastList (object value)
 When the list being loaded was already read from the data stream earlier, this property is called to convert that existing object to the target list type, skipping the usual calls to Alloc(), Add(T) and List. More...
 
void Add (T item)
 

Member Function Documentation

object Loyc.SyncLib.Impl.CollectionBuilder< TList, T >.Alloc ( int  minLength)
inline

A method that is always called once when loading a list.

Parameters
minLengthMinimum list size (ISyncManager.MinimumListLength)
Returns
Returns the list object so that it can be assigned as the ISyncManager.CurrentObject in case the list contains a cyclic reference to itself. If a cyclic reference is not possible, this method can return null.

Implements Loyc.SyncLib.Impl.IListBuilder< out TList, T >.

References Loyc.SyncLib.List.

TList Loyc.SyncLib.Impl.CollectionBuilder< TList, T >.CastList ( object  value)
inline

When the list being loaded was already read from the data stream earlier, this property is called to convert that existing object to the target list type, skipping the usual calls to Alloc(), Add(T) and List.

Implements Loyc.SyncLib.Impl.IListBuilder< out TList, T >.

References Loyc.SyncLib.List.