diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3303424..e389bc3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [Unreleased]
+### Added
+ - Enum Extension "SetFlags", takes a bool to set or unset the given flags
+ - BiDictionay - Added constructors with TKey and TValue comparers
+
## [15.0.0] - 2021-05-14
### Added
- Ported CsvReader for CF 3.5 compatibility from: https://github.com/tspence/csharp-csv-reader
diff --git a/ICD.Common.Utils/Collections/BiDictionary.cs b/ICD.Common.Utils/Collections/BiDictionary.cs
index a5500dc..7def17c 100644
--- a/ICD.Common.Utils/Collections/BiDictionary.cs
+++ b/ICD.Common.Utils/Collections/BiDictionary.cs
@@ -38,10 +38,36 @@ namespace ICD.Common.Utils.Collections
///
/// Constructor.
///
- public BiDictionary()
+ public BiDictionary() :
+ this(EqualityComparer.Default, EqualityComparer.Default)
{
- m_KeyToValue = new Dictionary();
- m_ValueToKey = new Dictionary();
+ }
+
+ ///
+ /// Constructor
+ ///
+ ///
+ ///
+ public BiDictionary(IEqualityComparer keyComparer, IEqualityComparer valueComparer)
+ {
+ m_KeyToValue = new Dictionary(keyComparer);
+ m_ValueToKey = new Dictionary(valueComparer);
+ }
+
+ ///
+ /// Constructor.
+ ///
+ ///
+ ///
+ ///
+ public BiDictionary([NotNull] Dictionary dict, IEqualityComparer keyComparer, IEqualityComparer valueComparer)
+ : this(keyComparer, valueComparer)
+ {
+ if (dict == null)
+ throw new ArgumentNullException("dict");
+
+ foreach (KeyValuePair kvp in dict)
+ Add(kvp.Key, kvp.Value);
}
///
@@ -49,13 +75,8 @@ namespace ICD.Common.Utils.Collections
///
///
public BiDictionary([NotNull] Dictionary dict)
- : this()
+ : this(dict, EqualityComparer.Default, EqualityComparer.Default)
{
- if (dict == null)
- throw new ArgumentNullException("dict");
-
- foreach (KeyValuePair kvp in dict)
- Add(kvp.Key, kvp.Value);
}
#region Methods