A scoped guard in ObjectiveC++ that uses blocks to release resources