+const BlockIter &BlockAllocator::iter_for(const Block &block) const
+{
+ BlockList::const_iterator i = find_if(blocks.begin(), blocks.end(), BlockMatch(block));
+ if(i==blocks.end())
+ throw key_error(&block);
+ return *i;
+}
+
+bool BlockAllocator::has_block(const Block &block) const
+{
+ return find_if(blocks.begin(), blocks.end(), BlockMatch(block))!=blocks.end();
+}
+
+bool BlockAllocator::is_block_current(const Block &block) const