diff --git a/Programs/SimExport/DoubleDictionary.cs b/Programs/SimExport/DoubleDictionary.cs deleted file mode 100644 index 2746817b..00000000 --- a/Programs/SimExport/DoubleDictionary.cs +++ /dev/null @@ -1,106 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace SimExport -{ - public class DoubleDictionary - { - Dictionary Dictionary1; - Dictionary Dictionary2; - object syncObject = new object(); - - public DoubleDictionary() - { - Dictionary1 = new Dictionary(); - Dictionary2 = new Dictionary(); - } - - public DoubleDictionary(int capacity) - { - Dictionary1 = new Dictionary(capacity); - Dictionary2 = new Dictionary(capacity); - } - - public void Add(TKey1 key1, TKey2 key2, TValue value) - { - lock (syncObject) - { - if (Dictionary1.ContainsKey(key1)) - { - if (!Dictionary2.ContainsKey(key2)) - throw new ArgumentException("key1 exists in the dictionary but not key2"); - } - else if (Dictionary2.ContainsKey(key2)) - { - if (!Dictionary1.ContainsKey(key1)) - throw new ArgumentException("key2 exists in the dictionary but not key1"); - } - - Dictionary1[key1] = value; - Dictionary2[key2] = value; - } - } - - public bool Remove(TKey1 key1, TKey2 key2) - { - lock (syncObject) - { - Dictionary1.Remove(key1); - return Dictionary2.Remove(key2); - } - } - - public void Clear() - { - lock (syncObject) - { - Dictionary1.Clear(); - Dictionary2.Clear(); - } - } - - public int Count - { - get { return Dictionary1.Count; } - } - - public bool ContainsKey(TKey1 key) - { - return Dictionary1.ContainsKey(key); - } - - public bool ContainsKey(TKey2 key) - { - return Dictionary2.ContainsKey(key); - } - - public bool TryGetValue(TKey1 key, out TValue value) - { - return Dictionary1.TryGetValue(key, out value); - } - - public bool TryGetValue(TKey2 key, out TValue value) - { - return Dictionary2.TryGetValue(key, out value); - } - - public void ForEach(Action action) - { - lock (syncObject) - { - foreach (TValue value in Dictionary1.Values) - action(value); - } - } - - public TValue this[TKey1 key1] - { - get { return Dictionary1[key1]; } - } - - public TValue this[TKey2 key2] - { - get { return Dictionary2[key2]; } - } - } -}