예제 #1
0
        public virtual FourDimensionalMap <K2, K3, K4, K5, V> GetFourDimensionalMap(K1 key1)
        {
            FourDimensionalMap <K2, K3, K4, K5, V> m = map[key1];

            if (m == null)
            {
                m         = new FourDimensionalMap <K2, K3, K4, K5, V>();
                map[key1] = m;
            }
            return(m);
        }
예제 #2
0
        public virtual ICollection <K3> ThirdKeySet()
        {
            ICollection <K3> keys = Generics.NewHashSet();

            foreach (K1 k1 in map.Keys)
            {
                FourDimensionalMap <K2, K3, K4, K5, V> m4 = map[k1];
                foreach (K2 k2 in m4.FirstKeySet())
                {
                    Sharpen.Collections.AddAll(keys, m4.Get(k2).FirstKeySet());
                }
            }
            return(keys);
        }
예제 #3
0
        public virtual ICollection <K4> FourthKeySet()
        {
            ICollection <K4> keys = Generics.NewHashSet();

            foreach (K1 k1 in map.Keys)
            {
                FourDimensionalMap <K2, K3, K4, K5, V> m4 = map[k1];
                foreach (K2 k2 in m4.FirstKeySet())
                {
                    ThreeDimensionalMap <K3, K4, K5, V> m3 = m4.Get(k2);
                    foreach (K3 k3 in m3.FirstKeySet())
                    {
                        Sharpen.Collections.AddAll(keys, m3.Get(k3).FirstKeySet());
                    }
                }
            }
            return(keys);
        }
예제 #4
0
        public virtual V Put(K1 key1, K2 key2, K3 key3, K4 key4, K5 key5, V value)
        {
            FourDimensionalMap <K2, K3, K4, K5, V> m = GetFourDimensionalMap(key1);

            return(m.Put(key2, key3, key4, key5, value));
        }