+ BlockList::const_iterator i = find_if(blocks.begin(), blocks.end(), IterBlockMatch(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(), IterBlockMatch(block))!=blocks.end();
+}
+
+bool BlockAllocator::is_block_current(const Block &block) const
+{
+ return find_if(blocks.begin(), cur_blocks_end, IterBlockMatch(block))!=cur_blocks_end;