diff options
Diffstat (limited to 'Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs')
| -rw-r--r-- | Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs | 252 |
1 files changed, 124 insertions, 128 deletions
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs b/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs index 0a531c66c..4432e62fb 100644 --- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs +++ b/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs @@ -5,47 +5,45 @@ using System.Collections.ObjectModel; namespace SharpCifs.Util.Sharpen { internal static class Collections<T> - { - static readonly IList<T> Empty = new T[0]; - public static IList<T> EmptySet - { - get { return Empty; } - } - - } - - public static class Collections - { - public static bool AddAll<T>(ICollection<T> list, IEnumerable toAdd) - { - foreach (T t in toAdd) - list.Add(t); - return true; - } - - public static TV Remove<TK, TV>(IDictionary<TK, TV> map, TK toRemove) where TK : class - { - TV local; - if (map.TryGetValue(toRemove, out local)) - { - map.Remove(toRemove); - return local; - } - return default(TV); - } - - - public static T[] ToArray<T>(ICollection<T> list) - { - T[] array = new T[list.Count]; - list.CopyTo(array, 0); - return array; - } + { + static readonly IList<T> Empty = new T [0]; + public static IList<T> EmptySet { + get { return Empty; } + } + + } + + public static class Collections + { + public static bool AddAll<T> (ICollection<T> list, IEnumerable toAdd) + { + foreach (T t in toAdd) + list.Add (t); + return true; + } + + public static TV Remove<TK, TV> (IDictionary<TK, TV> map, TK toRemove) where TK : class + { + TV local; + if (map.TryGetValue (toRemove, out local)) { + map.Remove (toRemove); + return local; + } + return default(TV); + } + + + public static T[] ToArray<T> (ICollection<T> list) + { + T[] array = new T[list.Count]; + list.CopyTo (array, 0); + return array; + } public static T[] ToArray<T>(List<object> list) { T[] array = new T[list.Count]; - for (int c = 0; c < list.Count; c++) + for(int c = 0; c < list.Count; c++) { array[c] = (T)list[c]; } @@ -54,97 +52,95 @@ namespace SharpCifs.Util.Sharpen } - public static TU[] ToArray<T, TU>(ICollection<T> list, TU[] res) where T : TU - { - if (res.Length < list.Count) - res = new TU[list.Count]; - - int n = 0; - foreach (T t in list) - res[n++] = t; - - if (res.Length > list.Count) - res[list.Count] = default(T); - return res; - } - - public static IDictionary<TK, TV> EmptyMap<TK, TV>() - { - return new Dictionary<TK, TV>(); - } - - public static IList<T> EmptyList<T>() - { - return Collections<T>.EmptySet; - } - - public static ICollection<T> EmptySet<T>() - { - return Collections<T>.EmptySet; - } - - public static IList<T> NCopies<T>(int n, T elem) - { - List<T> list = new List<T>(n); - while (n-- > 0) - { - list.Add(elem); - } - return list; - } - - public static void Reverse<T>(IList<T> list) - { - int end = list.Count - 1; - int index = 0; - while (index < end) - { - T tmp = list[index]; - list[index] = list[end]; - list[end] = tmp; - ++index; - --end; - } - } - - public static ICollection<T> Singleton<T>(T item) - { - List<T> list = new List<T>(1); - list.Add(item); - return list; - } - - public static IList<T> SingletonList<T>(T item) - { - List<T> list = new List<T>(1); - list.Add(item); - return list; - } - - public static IList<T> SynchronizedList<T>(IList<T> list) - { - return new SynchronizedList<T>(list); - } - - public static ICollection<T> UnmodifiableCollection<T>(ICollection<T> list) - { - return list; - } - - public static IList<T> UnmodifiableList<T>(IList<T> list) - { - return new ReadOnlyCollection<T>(list); - } - - public static ICollection<T> UnmodifiableSet<T>(ICollection<T> list) - { - return list; - } - - public static IDictionary<TK, TV> UnmodifiableMap<TK, TV>(IDictionary<TK, TV> dict) - { - return dict; - } + public static TU[] ToArray<T,TU> (ICollection<T> list, TU[] res) where T:TU + { + if (res.Length < list.Count) + res = new TU [list.Count]; + + int n = 0; + foreach (T t in list) + res [n++] = t; + + if (res.Length > list.Count) + res [list.Count] = default (T); + return res; + } + + public static IDictionary<TK,TV> EmptyMap<TK,TV> () + { + return new Dictionary<TK,TV> (); + } + + public static IList<T> EmptyList<T> () + { + return Collections<T>.EmptySet; + } + + public static ICollection<T> EmptySet<T> () + { + return Collections<T>.EmptySet; + } + + public static IList<T> NCopies<T> (int n, T elem) + { + List<T> list = new List<T> (n); + while (n-- > 0) { + list.Add (elem); + } + return list; + } + + public static void Reverse<T> (IList<T> list) + { + int end = list.Count - 1; + int index = 0; + while (index < end) { + T tmp = list [index]; + list [index] = list [end]; + list [end] = tmp; + ++index; + --end; + } + } + + public static ICollection<T> Singleton<T> (T item) + { + List<T> list = new List<T> (1); + list.Add (item); + return list; + } + + public static IList<T> SingletonList<T> (T item) + { + List<T> list = new List<T> (1); + list.Add (item); + return list; + } + + public static IList<T> SynchronizedList<T> (IList<T> list) + { + return new SynchronizedList<T> (list); + } + + public static ICollection<T> UnmodifiableCollection<T> (ICollection<T> list) + { + return list; + } + + public static IList<T> UnmodifiableList<T> (IList<T> list) + { + return new ReadOnlyCollection<T> (list); + } + + public static ICollection<T> UnmodifiableSet<T> (ICollection<T> list) + { + return list; + } + + public static IDictionary<TK,TV> UnmodifiableMap<TK,TV> (IDictionary<TK,TV> dict) + { + return dict; + } } } |
