Mercurial > hg > svcore
diff base/ResizeableBitset.h @ 550:107d3f3705c9
* Auto-close write-mode matrix files when all columns written
author | Chris Cannam |
---|---|
date | Thu, 05 Feb 2009 14:17:11 +0000 |
parents | 1469caaa8e67 |
children | 682101331278 |
line wrap: on
line diff
--- a/base/ResizeableBitset.h Thu Feb 05 12:53:19 2009 +0000 +++ b/base/ResizeableBitset.h Thu Feb 05 14:17:11 2009 +0000 @@ -71,6 +71,23 @@ get(source) ? set(dest) : reset(dest); } + bool isAllOff() const { + for (size_t i = 0; i < m_bits->size(); ++i) { + if ((*m_bits)[i]) return false; + } + return true; + } + + bool isAllOn() const { + for (size_t i = 0; i + 1 < m_bits->size(); ++i) { + if ((*m_bits)[i] != 0xff) return false; + } + for (size_t i = (m_size / 8) * 8; i < m_size; ++i) { + if (!get(i)) return false; + } + return true; + } + size_t size() const { return m_size; }