aboutsummaryrefslogtreecommitdiffstats
path: root/chilbert
diff options
context:
space:
mode:
Diffstat (limited to 'chilbert')
-rw-r--r--chilbert/BigBitVec.hpp15
-rw-r--r--chilbert/FixBitVec.hpp2
2 files changed, 17 insertions, 0 deletions
diff --git a/chilbert/BigBitVec.hpp b/chilbert/BigBitVec.hpp
index 30b8f82..dcc2c99 100644
--- a/chilbert/BigBitVec.hpp
+++ b/chilbert/BigBitVec.hpp
@@ -108,6 +108,21 @@ public:
bool operator!=(const CBigBitVec& vec) const { return !(*this == vec); }
+ bool operator<(const CBigBitVec& vec) const
+ {
+ assert(size() == vec.size());
+
+ for (size_t ri = 0; ri < m_iRacks; ++ri) {
+ size_t i = m_iRacks - ri - 1;
+ if (m_pcRacks[i] < vec.m_pcRacks[i]) {
+ return true;
+ } else if (m_pcRacks[i] > vec.m_pcRacks[i]) {
+ return false;
+ }
+ }
+ return false;
+ }
+
/// Non-resizing assignment
CBigBitVec& operator=(const CBigBitVec& vec)
{
diff --git a/chilbert/FixBitVec.hpp b/chilbert/FixBitVec.hpp
index 05dae1f..d098956 100644
--- a/chilbert/FixBitVec.hpp
+++ b/chilbert/FixBitVec.hpp
@@ -115,6 +115,8 @@ public:
return m_rack != vec.m_rack;
}
+ bool operator<(const CFixBitVec& vec) const { return m_rack < vec.m_rack; }
+
CFixBitVec& operator=(const FBV_UINT i)
{
m_rack = i;