public KeyVal(object _key, object _val, JumpMap _jumpMap, bool _isInhabited) { key = _key; val = _val; jumpMap = _jumpMap; isInhabited = _isInhabited; }
// ========================================================== // duplication public JumpMap CopyTo(JumpMap jm2, IFn defaultConversion, ILookup conversions, object sourceObject, object targetObject) { // TODO: clean this up when we get generic persistent lookup if (conversions != null) { foreach (var e in dict) { object key = e.Key; IFn conversion = defaultConversion; object tempConversion = conversions.valAt(key); if (tempConversion != null) { conversion = Arcadia.Util.AsIFn((IFn)tempConversion); } jm2.Add(key, conversion.invoke(key, e.Value.val, sourceObject, targetObject)); } } else { foreach (var e in dict) { jm2.Add(e.Key, defaultConversion.invoke(e.Key, e.Value.val, sourceObject, targetObject)); } } return(jm2); }
public PartialArrayMapView(object[] keys, JumpMap source_) { if (source_ == null) { throw new System.Exception("source_ must be JumpMap, instead got null"); } kvs = new KeyVal[keys.Length]; source = source_; for (int i = 0; i < keys.Length; i++) { kvs[i] = source.Subscribe(keys[i]); } }