public ItemWithGroupKey(TObject item, TGroupKey group, Optional <TGroupKey> prevousGroup, int index) { Item = item; Group = group; PrevousGroup = prevousGroup; Index = index; }
/// <summary> /// Initializes a new instance of the <see cref="T:System.Object" /> class. /// </summary> public ChangeWithGroup(Change <TObject, TKey> change, Func <TObject, TGroupKey> keySelector) { _groupKey = keySelector(change.Current); _item = change.Current; _key = change.Key; _reason = change.Reason; }
private Tuple <ManagedGroup <TObject, TKey, TGroupKey>, bool> GetCache(TGroupKey key) { var cache = _groupCache.Lookup(key); if (cache.HasValue) { return(Tuple.Create(cache.Value, false)); } var newcache = new ManagedGroup <TObject, TKey, TGroupKey>(key); _groupCache[key] = newcache; return(Tuple.Create(newcache, true)); }
private Tuple <GroupCache, bool> GetCache(TGroupKey key) { var cache = _allGroupings.Lookup(key); if (cache.HasValue) { return(Tuple.Create(cache.Value, false)); } var newcache = new GroupCache(key); _allGroupings[key] = newcache; return(Tuple.Create(newcache, true)); }
internal GroupKeyData(TOrderKey orderKey, TGroupKey hashKey, IComparer <TOrderKey> orderComparer) { _orderKey = orderKey; _grouping = new OrderedGroupByGrouping <TGroupKey, TOrderKey, TElement>(hashKey, orderComparer); }
public GroupCache(TGroupKey key) { Key = key; Cache = new Cache <TObject, TKey>(); }
private static IGrouping <TObject, TKey, TGroupKey> GetGroupState(TGroupKey key, ICache <TObject, TKey> cache) { return(new ImmutableGroup <TObject, TKey, TGroupKey>(key, cache)); }
private void RemoveFromOldGroup(IDictionary <TGroupKey, IGrouping <TObject, TKey, TGroupKey> > groupState, TGroupKey groupKey, TKey currentKey) { _allGroupings.Lookup(groupKey) .IfHasValue(g => { if (!groupState.ContainsKey(g.Key)) { groupState[g.Key] = GetGroupState(g.Key, g.Cache); } g.Cache.Remove(currentKey); }); }
public SortedPoolRemovedEventArgs(TKey key, TValue value, TGroupKey group, bool evicted) : base(key, value, group) { Evicted = evicted; }
public ItemWithGroupKey(TObject item, TGroupKey group, Optional <TGroupKey> previousGroup) { Item = item; Group = group; PreviousGroup = previousGroup; }
public SortedPoolEventArgs(TKey key, TValue value, TGroupKey group) { Key = key; Value = value; Group = group; }
public GroupContainer(TGroupKey key) { Key = key; }
public void Populate(long start, ref TGroupKey key, ref TPayload payload) { this.Start = start; this.Key = key; this.Payload = payload; }
public Group(TGroupKey key, AutoTreeSortedList <T, TId, TSortKey> list) { Key = key; List = list; }
public Group(TGroupKey groupKey, IEnumerable <TItem> items) { GroupKey = groupKey; ItemsInternal = new ObservableCollection <TItem>(items); Items = new ReadOnlyObservableCollection <TItem>(ItemsInternal); }
public Group(TGroupKey groupKey) : this(groupKey, Enumerable.Empty <TItem>()) { }