public static HashMap <A, HashMap <B, HashMap <C, V> > > MapRemoveT <A, B, C, T, V>( this HashMap <A, HashMap <B, HashMap <C, T> > > self, Func <HashMap <C, T>, HashMap <C, V> > map) { return(self.Map((ka, va) => va.Map((kb, vb) => map(vb)) .Filter((kb, vb) => vb.Count > 0)) .Filter((ka, va) => va.Count > 0)); }
public static HashMap <A, HashMap <B, HashMap <C, HashMap <D, T> > > > FilterT <A, B, C, D, T>( this HashMap <A, HashMap <B, HashMap <C, HashMap <D, T> > > > self, Func <T, bool> pred) { return(self.Map((ka, va) => va.FilterT(pred))); }
public static HashMap <A, HashMap <B, HashMap <C, HashMap <D, V> > > > MapT <A, B, C, D, T, V>( this HashMap <A, HashMap <B, HashMap <C, HashMap <D, T> > > > self, Func <T, V> map) { return(self.Map((ka, va) => va.MapT(map))); }