コード例 #1
0
ファイル: JumpMap.cs プロジェクト: setzer22/Arcadia
 public KeyVal(object _key, object _val, JumpMap _jumpMap, bool _isInhabited)
 {
     key         = _key;
     val         = _val;
     jumpMap     = _jumpMap;
     isInhabited = _isInhabited;
 }
コード例 #2
0
ファイル: JumpMap.cs プロジェクト: setzer22/Arcadia
        // ==========================================================
        // 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);
        }
コード例 #3
0
ファイル: JumpMap.cs プロジェクト: setzer22/Arcadia
 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]);
     }
 }