diff --git a/src/util/hei_bit_string.cpp b/src/util/hei_bit_string.cpp
index b1780ca..16713ec 100644
--- a/src/util/hei_bit_string.cpp
+++ b/src/util/hei_bit_string.cpp
@@ -284,6 +284,35 @@
 
 //------------------------------------------------------------------------------
 
+bool BitString::operator<(const BitString& i_str) const
+{
+    // The two bit strings must be the same length. Otherwise, the comparison
+    // undefined (i.e. compare from the left vs. right).
+    HEI_ASSERT(getBitLen() == i_str.getBitLen());
+
+    for (uint64_t pos = 0; pos < getBitLen(); pos += UINT64_BIT_LEN)
+    {
+        uint64_t len = std::min(getBitLen() - pos, UINT64_BIT_LEN);
+
+        auto l_str = getFieldRight(pos, len);
+        auto r_str = i_str.getFieldRight(pos, len);
+
+        if (l_str < r_str)
+        {
+            return true;
+        }
+        // The loop can only continue if the values are equal.
+        else if (l_str > r_str)
+        {
+            return false;
+        }
+    }
+
+    return false;
+}
+
+//------------------------------------------------------------------------------
+
 BitStringBuffer BitString::operator~() const
 {
     BitStringBuffer bsb(getBitLen());
diff --git a/src/util/hei_bit_string.hpp b/src/util/hei_bit_string.hpp
index 4b63906..0bb4d8c 100644
--- a/src/util/hei_bit_string.hpp
+++ b/src/util/hei_bit_string.hpp
@@ -333,6 +333,9 @@
         return isEqual(i_str);
     }
 
+    /** @brief Less-than operator */
+    bool operator<(const BitString& i_str) const;
+
     /** @brief Bitwise NOT operator. */
     BitStringBuffer operator~() const;
 
