Example #1
0
        public IEnumerator <T> GetEnumerator()
        {
            T value;

            for (int i = 0, size = Size; i < size; i++)
            {
                container.TryGetValue(CoordIndexer.FromIndex(this, i), out value);
                yield return(value);
            }
        }
Example #2
0
 public T this[int index] {
     get {
         T value;
         container.TryGetValue(CoordIndexer.FromIndex(this, index), out value);
         return(value);
     }
     set {
         container[CoordIndexer.FromIndex(this, index)] = value;
     }
 }
Example #3
0
 T IDictionary <CoordIndexer, T> .this[CoordIndexer key] {
     get {
         T value;
         container.TryGetValue(key, out value);
         return(value);
     }
     set {
         EnsureIndexer(key);
         container[key] = value;
     }
 }
Example #4
0
 void EnsureIndexer(CoordIndexer indexer)
 {
     if (indexer == null)
     {
         throw new ArgumentNullException("indexer");
     }
     if (!indexer.IsChild(this))
     {
         throw new ArgumentException("The coord indexer instance is not initialized for this array.", "key");
     }
 }
Example #5
0
        IEnumerator <KeyValuePair <CoordIndexer, T> > IEnumerable <KeyValuePair <CoordIndexer, T> > .GetEnumerator()
        {
            CoordIndexer idx;
            T            value;

            for (int i = 0, l = Size; i < l; i++)
            {
                idx = CoordIndexer.FromIndex(this, i);
                container.TryGetValue(idx, out value);
                yield return(new KeyValuePair <CoordIndexer, T>(idx, value));
            }
        }
Example #6
0
 bool IDictionary <CoordIndexer, T> .TryGetValue(CoordIndexer key, out T value)
 {
     EnsureIndexer(key);
     return(container.TryGetValue(key, out value));
 }
Example #7
0
 bool IDictionary <CoordIndexer, T> .Remove(CoordIndexer key)
 {
     EnsureIndexer(key);
     return(container.Remove(key));
 }
Example #8
0
 bool IDictionary <CoordIndexer, T> .ContainsKey(CoordIndexer key)
 {
     EnsureIndexer(key);
     return(container.ContainsKey(key));
 }
Example #9
0
 void IDictionary <CoordIndexer, T> .Add(CoordIndexer key, T value)
 {
     EnsureIndexer(key);
     container.Add(key, value);
 }