diff base/ResizeableBitset.h @ 546:95391b480e17

* Make use of peak cache in spectrogram
author Chris Cannam
date Wed, 04 Feb 2009 15:03:42 +0000
parents 146eb9e35baa
children 1469caaa8e67
line wrap: on
line diff
--- a/base/ResizeableBitset.h	Wed Feb 04 13:33:50 2009 +0000
+++ b/base/ResizeableBitset.h	Wed Feb 04 15:03:42 2009 +0000
@@ -24,7 +24,7 @@
 public:
     ResizeableBitset() : m_bits(0) {
     }
-    ResizeableBitset(size_t size) : m_bits(new std::vector<uint8_t>) {
+    ResizeableBitset(size_t size) : m_bits(new std::vector<uint8_t>), m_size(size) {
         m_bits->assign((size >> 3) + 1, 0);
     }
     ResizeableBitset(const ResizeableBitset &b) {
@@ -46,6 +46,7 @@
             m_bits = new std::vector<uint8_t>;
         }
         m_bits->assign((bits >> 3) + 1, 0);
+        m_size = bits;
     }
     
     bool get(size_t column) const {
@@ -63,9 +64,14 @@
     void copy(size_t source, size_t dest) {
         get(source) ? set(dest) : reset(dest);
     }
+
+    size_t size() const {
+        return m_size;
+    }
     
 private:
     std::vector<uint8_t> *m_bits;
+    size_t m_size;
 };